public List <WebLogTable> Query2(WebLogTableData data)
        {
            string command = "";

            #region # sql command #

            command = " SELECT  "
                      + "wl.WebLogID, "
                      + "wl.Date, "
                      + "wl.Logger, "
                      + "wl.Message, "
                      + "wl.Exception, "
                      + "wl.Method, "
                      + "wl.Line "
                      + " FROM MobilePaywallLog.log.WebLogUserSessionMap AS map "
                      + " LEFT OUTER JOIN MobilePaywallLog.log.WebLog AS wl ON map.WebLogID=wl.WebLogID "
                      + " WHERE map.UserSessionID=" + data.SessionID + " AND "
                      + " map.Created >= '" + data.From + "' AND map.Created <= '" + data.To + "' "
                      + " ORDER BY wl.WebLogID ASC; ";

            #endregion

            this._result = new List <WebLogTable>();
            MobilePaywallLogDirect database = MobilePaywallLogDirect.Instance;
            database.SetTimeout(0);
            DataTable table = database.Load(command);
            if (table == null)
            {
                return(this._result);
            }

            foreach (DataRow row in table.Rows)
            {
                WebLogTable tableRow = new WebLogTable();
                tableRow.ID     = row[(int)WebLogColumns.ID].ToString();
                tableRow.Date   = row[(int)WebLogColumns.Date].ToString();
                tableRow.Logger = row[(int)WebLogColumns.Logger].ToString();

                tableRow.Message = row[(int)WebLogColumns.Message].ToString();
                string exeption = row[(int)WebLogColumns.Exception].ToString();
                if (!string.IsNullOrEmpty(exeption))
                {
                    tableRow.Message += Environment.NewLine + Environment.NewLine + "<<<<<<<<<<<<<<<<: EXCEPTION:" + Environment.NewLine + exeption;
                }

                tableRow.Method = row[(int)WebLogColumns.Method].ToString();
                tableRow.Line   = row[(int)WebLogColumns.Line].ToString();
                this._result.Add(tableRow);
            }

            return(this._result);
        }
        public List <WebLogTable> Query(WebLogTableData data)
        {
            string command = "";

            #region # sql command #
            command = " SELECT  " +
                      " FrameLogID AS 'ID', " +
                      " Created AS 'Date', " +
                      " Code AS 'Code', " +
                      " Text AS 'Text',  " +
                      " Scenario, " +
                      " ConfigurationID, " +
                      " CarrierID, " +
                      " CountryID, " +
                      " TemplateID " +
                      " FROM Clickenzi.FrameLog " +
                      " WHERE Pxid=" + data.SessionID + " " +
                      " AND Created >='" + data.From + "' AND Created <= '" + data.To + "' " +
                      " ORDER BY FrameLogID DESC; ";
            #endregion

            this._result = new List <WebLogTable>();

            ClickenziDirect db    = ClickenziDirect.Instance;
            DataTable       table = db.Load(command);
            if (table == null)
            {
                return(this._result);
            }

            foreach (DataRow row in table.Rows)
            {
                WebLogTable tableRow = new WebLogTable();

                tableRow.ID      = !string.IsNullOrEmpty(row[(int)OverlayColumns.ID].ToString()) ? row[(int)OverlayColumns.ID].ToString() : (string)null;
                tableRow.Date    = !string.IsNullOrEmpty(row[(int)OverlayColumns.Created].ToString()) ? row[(int)OverlayColumns.Created].ToString() : (string)null;
                tableRow.Logger  = !string.IsNullOrEmpty(row[(int)OverlayColumns.Code].ToString()) ? row[(int)OverlayColumns.Code].ToString() : (string)null;
                tableRow.Message = "Scenario: " + (!string.IsNullOrEmpty(row[(int)OverlayColumns.Scenario].ToString()) ? row[(int)OverlayColumns.Scenario].ToString() : "") + "\r\n" +
                                   "Configuration: " + (!string.IsNullOrEmpty(row[(int)OverlayColumns.Configuration].ToString()) ? row[(int)OverlayColumns.Configuration].ToString() : "") + "\r\n" +
                                   "Carrier: " + (!string.IsNullOrEmpty(row[(int)OverlayColumns.Carrier].ToString()) ? row[(int)OverlayColumns.Carrier].ToString() : "") + "\r\n" +
                                   "Country: " + (!string.IsNullOrEmpty(row[(int)OverlayColumns.Country].ToString()) ? row[(int)OverlayColumns.Country].ToString() : "") + "\r\n" +
                                   "Template: " + (!string.IsNullOrEmpty(row[(int)OverlayColumns.Template].ToString()) ? row[(int)OverlayColumns.Template].ToString() : "") + "\r\n" +
                                   (!string.IsNullOrEmpty(row[(int)OverlayColumns.Text].ToString()) ? row[(int)OverlayColumns.Text].ToString() : "");

                this._result.Add(tableRow);
            }

            return(this._result);
        }
        public List <WebLogTable> QueryLogDatabase(WebLogTableData data)
        {
            DirectDatabaseMsSql database = MobilePaywallLogDirect.Instance;

            // first we check if data is stored in log database
            int?check = database.LoadInt(string.Format(@"
        SELECT COUNT(*) FROM MobilePaywallLog.log.WebLog AS log
        LEFT OUTER JOIN MobilePaywallLog.log.WebLogUserSessionMap AS map ON map.WebLogID=log.WebLogID
        WHERE map.UserSessionID={0}", data.SessionID));

            if (!check.HasValue || check.Value == 0)
            {
                database = MobilePaywallBackupDirect.Instance;
            }


            string command = "";

            #region # sql command #

            command = " SELECT  "
                      + "wl.WebLogID, "
                      + "wl.Date, "
                      + "wl.Logger, "
                      + "wl.Message, "
                      + "wl.Exception, "
                      + "wl.Method, "
                      + "wl.Line "
                      + " FROM MobilePaywall.log.WebLogUserSessionMap AS map "
                      + " LEFT OUTER JOIN MobilePaywall.log.WebLog AS wl ON map.WebLogID=wl.WebLogID "
                      + " WHERE map.UserSessionID=" + data.SessionID + " AND "
                      + " map.Created >= '" + data.From + "' AND map.Created <= '" + data.To + "' "
                      + " ORDER BY wl.WebLogID ASC; ";

            #endregion

            this._result = new List <WebLogTable>();
            database.SetTimeout(0);
            DataTable table = database.Load(command);
            if (table == null)
            {
                return(this._result);
            }

            foreach (DataRow row in table.Rows)
            {
                WebLogTable tableRow = new WebLogTable();
                tableRow.ID     = row[(int)WebLogColumns.ID].ToString();
                tableRow.Date   = row[(int)WebLogColumns.Date].ToString();
                tableRow.Logger = row[(int)WebLogColumns.Logger].ToString();

                tableRow.Message = row[(int)WebLogColumns.Message].ToString();
                string exeption = row[(int)WebLogColumns.Exception].ToString();
                if (!string.IsNullOrEmpty(exeption))
                {
                    tableRow.Message += Environment.NewLine + Environment.NewLine + "<<<<<<<<<<<<<<<<: EXCEPTION:" + Environment.NewLine + exeption;
                }

                tableRow.Method = row[(int)WebLogColumns.Method].ToString();
                tableRow.Line   = row[(int)WebLogColumns.Line].ToString();
                this._result.Add(tableRow);
            }

            return(this._result);
        }