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