Example #1
0
        public static DataSet GetHashKey(string psHashKey)
        {
            DataSet loReturnDs = null;

            DataTable loLocalTb;
            DataTable loReturnTb;
            DataRow   loReturnRow;
            Dictionary <string, object> loRemote;
            string lssql;


            // check from server
            loRemote   = ClsEvilApi.CheckHashKey(psHashKey);
            loReturnDs = new DataSet();

            loReturnTb = new DataTable("Hash Key from EVIL");

            loReturnTb.Columns.Add("PropertyName");
            loReturnTb.Columns.Add("Value");
            foreach (string lskey in loRemote.Keys)
            {
                loReturnRow = loReturnTb.NewRow();
                loReturnTb.Rows.Add(loReturnRow);
                loReturnRow[0] = lskey;
                if (lskey == "errors")
                {
                    System.Collections.ArrayList loError = (System.Collections.ArrayList)loRemote["errors"];
                    loReturnRow[1] = string.Join(", ", loError.Cast <string>().ToArray());
                }
                else
                {
                    loReturnRow[1] = loRemote[lskey];
                }
            }

            loReturnDs.Tables.Add(loReturnTb);


            //check from local
            lssql = "select * from CustomerOrder where Hash='{0}'";
            if (psHashKey == null)
            {
                psHashKey = "N/A";
            }
            loLocalTb = moDatabase.Query(String.Format(lssql, ClsSQLite.FixStr(psHashKey)));

            if (loLocalTb.Rows.Count > 0)
            {
                loReturnTb = new DataTable("Hash Key from local database.");

                loReturnTb.Columns.Add("PropertyName");
                loReturnTb.Columns.Add("Value");
                foreach (DataRow row in loLocalTb.Rows)
                {
                    foreach (DataColumn col in loLocalTb.Columns)
                    {
                        loReturnRow = loReturnTb.NewRow();
                        loReturnTb.Rows.Add(loReturnRow);
                        loReturnRow[0] = col.ColumnName;
                        loReturnRow[1] = row[col.ColumnName];
                    }
                }
                loReturnDs.Tables.Add(loReturnTb);
            }


            return(loReturnDs);
        }