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)); }
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)); } }