/// <summary> /// 监控页面的获取设备列表 /// </summary> /// <param name="pi"></param> /// <param name="pc"></param> /// <returns></returns> public JsonResult AjaxGetMonitorList(int pi, int pc) { List <DeviceAndUser> dus = DeviceLogic.GetDeviceList(AuthUser.UserTypeId.Value, AuthUser.Id, pi, pc); string deviceIds = ""; foreach (var du in dus) { deviceIds += du.APIDeviceId + ","; } deviceIds = deviceIds.TrimEnd(','); DeviceListModel list = DeviceData.GetDeviceList(deviceIds, pi, pc); DeviceListResult res = new DeviceListResult(); res.Items = new List <DeviceInfo>(); if (list.Items.Count > 0) { list.Items.ForEach(p => { DeviceAndUser du = dus.FirstOrDefault(t => t.APIDeviceId == p.Id); if (du != null) { DeviceInfo di = new DeviceInfo(); di.Id = du.DeviceId; di.APIId = du.APIDeviceId ?? 0; di.Battery = p.Battery; di.Icon = du.IconId ?? 0; di.Model = p.Model; di.IMEI = du.Imei; di.Latitude = Convert.ToDecimal(WebHelper.GetLatLngString(p.Latitude)); di.Longitude = Convert.ToDecimal(WebHelper.GetLatLngString(p.Longitude)); di.ServerUtcDate = p.ServerUtcDate.AddHours(8); di.DeviceUtcDate = p.DeviceUtcDate.AddHours(8); di.Type = p.Type; di.Sim = p.Sim; di.Status = p.Status; if (DateTime.Now.AddMinutes(-15) < di.ServerUtcDate) { di.Status = 2; } di.UserId = du.UserId; di.UserName = string.IsNullOrWhiteSpace(du.UserName) ? du.LoginName : du.UserName; di.Sex = du.Sex ?? 2; res.Items.Add(di); } }); } else { res.State = State.Falid; res.Message = list.Message; } return(Json(res)); }
private void GetClick(object sender, RoutedEventArgs e) { if (login == null || String.IsNullOrEmpty(login.SessionID)) { AddMessage("Not logged in."); return; } string fct = Function.Text; try { string str = ID.Text; int id; if (!int.TryParse(str, out id)) { id = 0; } switch (fct) { case "GetGatewayHardwareIDs": IDResult gidr = api.GetGatewayHardwareIDs(login.SessionID, str); Done(fct, gidr, gidr.IDs); return; case "GetDeviceList": DeviceListResult dr = api.GetDeviceList(login.SessionID); Done(fct, dr, dr.DeviceList); return; case "GetDeviceListByID": if (String.IsNullOrWhiteSpace(str)) { return; } string[] ids = str.Split(','); int count = ids.Length; int[] pks = new int[count]; for (int i = 0; i < count; i++) { pks[i] = int.Parse(ids[i]); } DeviceListResult dlri = api.GetDeviceListByID(login.SessionID, pks); Done(fct, dlri, dlri.DeviceList); return; case "GetDeviceListByHFCandGwType (HFC,GwType)": DeviceListResult dlr = api.GetDeviceListFromHFCandGWType(login.SessionID, str); Done(fct, dlr, dlr.DeviceList); return; case "GetUserByName": UserResult sur = api.GetUserByName(login.SessionID, str); Done(fct, sur, sur.Data); return; case "GetUsersByEmail": IDResult eur = api.GetUsersByEmail(login.SessionID, str); Done(fct, eur, eur.IDs); return; case "GetLoggedInUser (session;ip)": string[] split = str.Split(';'); IDResult sir = api.GetLoggedInUser(login.SessionID, split[0], (split.Length > 1) ? split[1] : null); Done(fct, sir, sir.IDs); return; case "GetTimeZones": TimeZonesResult tz = api.GetTimeZones(login.SessionID, str); Done(fct, tz, tz.TimeZones); return; case "GetCustomer": if (id <= 0) { id = login.CustomerID; } CustomerResult cr = api.GetCustomer(login.SessionID, id); Done(fct, cr, cr.Data); return; case "GetChildCustomerIDs": if (id <= 0) { id = login.CustomerID; } IDResult cidr = api.GetChildCustomerIDs(login.SessionID, id); Done(fct, cidr, cidr.IDs); return; case "GetChildSiteIDs": if (id <= 0) { id = login.CustomerID; } IDResult csidr = api.GetChildSiteIDs(login.SessionID, id); Done(fct, csidr, csidr.IDs); return; case "GetChildUserIDs": if (id <= 0) { id = login.CustomerID; } IDResult cuidr = api.GetChildUserIDs(login.SessionID, id); Done(fct, cuidr, cuidr.IDs); return; case "GetUser": if (id <= 0) { id = login.UserID; } UserResult ur = api.GetUser(login.SessionID, id); Done(fct, ur, ur.Data); return; case "GetSite": SiteResult sr = api.GetSite(login.SessionID, id); Done(fct, sr, sr.Data); return; case "GetChildHardwareIDs": IDResult chidr = api.GetChildHardwareIDs(login.SessionID, id); Done(fct, chidr, chidr.IDs); return; case "GetChildGatewayIDs": IDResult cgidr = api.GetChildGatewayIDs(login.SessionID, id); Done(fct, cgidr, cgidr.IDs); return; case "GetChildInverterIDs": IDResult ciidr = api.GetChildInverterIDs(login.SessionID, id); Done(fct, ciidr, ciidr.IDs); return; case "GetHardware": HardwareResult hr = api.GetHardware(login.SessionID, id); Done(fct, hr, hr.Data); return; case "GetGateway": GatewayResult gr = api.GetGateway(login.SessionID, id); Done(fct, gr, gr.Data); return; case "GetInverter": InverterResult ir = api.GetInverter(login.SessionID, id); Done(fct, ir, ir.Data); return; case "GetStringCombiner": StringCombinerResult scr = api.GetStringCombiner(login.SessionID, id); Done(fct, scr, scr.Data); return; case "GetFieldList": FieldListResult fr = api.GetFieldList(login.SessionID, id); Done(fct, fr, fr.FieldList); return; } } catch { AddMessage(String.Concat(fct, " failed. Please check your connection.")); } }