Thursday, 1 May 2014

APPML: Application Markup Language

What is <AppML>?

<AppML> is an application development framework, consisting of: 
  • An XML language for defining application models
  • A JavaScript running the the browser
  • A PHP or ASP script running on the server
more on W3C School...
more on faculty.kfupm.edu.sa...


Friday, 18 April 2014

Generate Random Numbers in C#

private static int seed = Environment.TickCount;

// Generate random number tick
private static ThreadLocal<Random> randomWrapper =
            new ThreadLocal<Random>(() => new Random(Interlocked.Increment(ref seed)));
           
randomWrapper.Value.Next(additionMinValue, additionMaxValue);


Tuesday, 15 April 2014

Reading repetitive XML to memory using C#

Sample XML Document:
<Elements>
    <Element>
        <Name>N1</Name>
        <Type>T1</Type>
        <Color>C1</Color>
    </Element>
    <Element>
        <Name>N2</Name>
        <Type>T2</Type>
        <Color>C2</Color>
    </Element>
    <Element>
        <Name>N3</Name>
        <Type>T3</Type>
        <Color>C3</Color>
    </Element>
</Elements>


Sample C# Code:
XmlDocument myDoc = new XmlDocument()
myDoc.Load(XML_File_Path_Name);

foreach(XmlElement elem in myDoc.SelectNodes("Elements/Element"))
{
    XmlNode nodeName = elem.SelectSingleNode("Name/text()");
    XmlNode nodeType = elem.SelectSingleNode("Type/text()");
    XmlNode nodeColor = elem.SelectSingleNode("Color/text()");

    string name = nodeName!=null ? nodeName.Value : String.Empty;
    string type = nodeType!=null ? nodeType.Value : String.Empty;
    string color = nodeColor!=null ? nodeColor.Value : String.Empty;



Tuesday, 8 April 2014

Enable remote MySQL connection


Put this as root:

GRANT ALL PRIVILEGES ON *.* TO  'USERNAME'@'IP'  IDENTIFIED  BY  'PASSWORD';

where IP is the IP you want to allow acess and USERNAME is the user you use to connect
If you want to allow access from any IP just put % instead of your IP

and then you only have to put

FLUSH PRIVILEGES

or restart mysql server and that's it

Tuesday, 8 October 2013

Changing the SiteMaster StyleSheet from Codebehind

- In the SiteMaster Page, add ID to StyleSheet tag:
     <link id="layoutStyleSheet" href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
- In a login page, set a SESSION to a value. e.g. SESSION["user"] = "test"
- In the SiteMaster Page_Load method:
     protected void Page_Load(object sender, EventArgs e)
     {
         if (Session["user"] != null)
         {
             if (Session["user"].ToString() == "test")
             {
                 HtmlLink link = Page.Master.FindControl("layoutStyleSheet") as HtmlLink;
                 link.Href = "~/Styles/Aqualinc.css";
             }
             .
             .
             .       
         }
     }

Wednesday, 25 September 2013

Trace HTML textbox changes on the fly using JQuery

$(document).ready(function () {
    var searchValue = "";
    setInterval(checkTextboxChanged, 0.5);

    function checkTextboxChanged() {
        var currentValue = $('#TextBoxId').val();
        if (currentValue != searchValue) {
            searchValue = currentValue;
            TextboxChanged();
        }
    }

    function TextboxChanged() {
        // do your magic here
    }
});
 

Analysis Service in Power BI Report Server

 We couldn’t connect to the Analysis Services server. Make sure you’ve entered the connection string correctly... link