예제 #1
0
        public ActionResult AddDevices()
        {
            Client             user  = ClientService.LoadClient(curentUser.UserSysNo);
            UIAddDetectorModel model = new UIAddDetectorModel();

            model.CompanyList = new List <Company>();
            model.List        = new List <AddDetectorModel>();
            if (user == null)
            {
                UserMgr.Logout();
                throw new BusinessException("登录超时,请退出公众号重新进入。");
            }
            if (user != null && user.ManagerSysNo > 0 && curentUser.UserType == UserType.Installer)
            {
                //model.CompanyList = AddressService.LoadInstallerCompany(user.ManagerSysNo.GetValueOrDefault());
                SystemUserService service    = new SystemUserService();
                SystemUser        systemuser = service.LoadSystemUser(curentUser.ManagerSysNo.GetValueOrDefault(), ConstValue.ApplicationID);
                if (systemuser != null && systemuser.MasterSysNo > 0)
                {
                    model.CompanyList.Add(new Company()
                    {
                        SysNo = systemuser.MasterSysNo.GetValueOrDefault()
                    });
                }
                SmokeDetector info = SmokeDetectorServices.LoadSmokeDetectorByInstaller(curentUser.ManagerSysNo.GetValueOrDefault());
                if (info != null && !string.IsNullOrWhiteSpace(info.AddressCode))
                {
                    List <Address>          list      = AddressService.LoadAddressByAddressCode(info.AddressCode, info.CompanySysNo);
                    string                  code      = info.AddressCode;
                    List <AddDetectorModel> modelList = new List <AddDetectorModel>();
                    string                  scode     = code;

                    for (var i = code.Length - 2; i >= 2; i = i - 2)
                    {
                        AddDetectorModel item  = new AddDetectorModel();
                        string           ncode = code.Substring(0, i);
                        List <Address>   list1 = list.Where(x => x.Code.StartsWith(ncode) && x.Code.Length == i + 2).ToList();
                        item.ItemList   = list1;
                        item.SelectCode = scode;
                        scode           = ncode;
                        modelList.Add(item);
                        if (ncode.Length == 2)
                        {
                            List <Address> list2 = list.Where(x => x.Code == ncode).ToList();
                            model.FirstAddress = list2[0];
                        }
                    }
                    if (code.Length == 2)
                    {
                        model.FirstAddress = list[0];
                    }

                    modelList.Reverse();
                    model.List          = modelList;
                    model.SelectCompany = info.CompanySysNo;
                }
            }
            else
            {
                string sysNo        = ConfigurationManager.AppSettings["DummyCompanySysNo"];
                int    conpanySysNo = 1;
                int.TryParse(sysNo, out conpanySysNo);
                model.CompanyList.Add(new Company()
                {
                    SysNo = conpanySysNo
                });
            }
            return(View(model));
        }