public ActionResult GetDevices(LoadInputData data)
        {
            DevicesEntryManager manager = new DevicesEntryManager(data);

            if (manager.Error)
            {
                return(this.Json(new { status = false, message = manager.ErrorMessage }));
            }
            return(PartialView("~/Views/Live/Partials/_Devices.cshtml", manager.Result));
        }
예제 #2
0
        public DevicesEntryManager(LoadInputData data)
        {
            this._data = data;
            this.Validate();
            if (this._error)
            {
                return;
            }

            this._result = new List <DeviceEntry>();
            MobilePaywallDirect db = new MobilePaywallDirect();
            string command         = "";

            #region # sql command #

            command = " SELECT TOP " + data.top + " "
                      + " acs.AndroidClientSessionID, "
                      + " ad.Name, "
                      + " c.TwoLetterIsoCode, "
                      + " acs.Device, "
                      + " acs.Company, "
                      + " acs.Msisdn, "
                      + " acs.Created "
                      + " FROM MobilePaywall.core.AndroidClientSession AS acs "
                      + " LEFT OUTER JOIN MobilePaywall.core.AndroidDistribution AS ad ON acs.AndroidDistributionID=ad.AndroidDistributionID "
                      + " LEFT OUTER JOIN MobilePaywall.core.Country AS c ON acs.CountryID=c.CountryID "
                      + " WHERE "
                      + (!string.IsNullOrEmpty(data.country) ? " c.TwoLetterIsoCode='" + data.country + "' AND " : "")
                      + (!string.IsNullOrEmpty(data.appID) && !data.appID.Equals("-1") ? " ad.AndroidDistributionID=" + data.appID + " AND " : "")
                      + string.Format(" acs.LastPing >= '{0}' AND acs.LastPing <= '{1}' ", db.Date(this._data.DT_From), db.Date(this._data.DT_To))
                      + " ORDER BY acs.LastPing DESC; ";

            #endregion

            DataTable table = db.Load(command);
            if (table == null)
            {
                return;
            }

            foreach (DataRow row in table.Rows)
            {
                this._result.Add(new DeviceEntry(row));
            }
        }