コード例 #1
0
        /// <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));
        }
コード例 #2
0
        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."));
            }
        }