コード例 #1
0
        public List <HouseDetails> GetAllHousesByDateHouseAvailable(DateTime date)
        {
            try
            {
                List <House>        HousesByDateAvailble = TipezeNyumbaServiceUnitOfWork.Repository <House>().GetAll(u => u.dateHouseWillBeAvailable == date).ToList();
                List <HouseDetails> availableHouses      = new List <HouseDetails>();
                HouseDetails        eachHouseDetails     = new HouseDetails();
                foreach (House eachHouse in HousesByDateAvailble)
                {
                    eachHouseDetails.houseID                  = eachHouse.houseID;
                    eachHouseDetails.district                 = eachHouse.District.name;
                    eachHouseDetails.bedrooms                 = eachHouse.bedrooms;
                    eachHouseDetails.masterBedroomEnsuite     = eachHouse.masterBedroomEnsuite;
                    eachHouseDetails.selfContained            = eachHouse.selfContained;
                    eachHouseDetails.numberOfGarages          = eachHouse.numberOfGarages;
                    eachHouseDetails.fenceType                = eachHouse.FenceType1.typeOfFence;
                    eachHouseDetails.dateHouseWillBeAvailable = eachHouse.dateHouseWillBeAvailable;
                    eachHouseDetails.price         = eachHouse.price;
                    eachHouseDetails.modeOfPayment = eachHouse.PaymentMode.number + " " + eachHouse.PaymentMode.DurationType.type;
                    eachHouseDetails.description   = eachHouse.description;
                    eachHouseDetails.houseState    = eachHouse.HouseState.HouseStatus;


                    availableHouses.Add(eachHouseDetails);
                }
                return(availableHouses);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
        //Implementation of all house related contracts


        public HouseDetails GetSpecificHouse(int houseID)
        {
            try
            {
                House        SpecifHouseToGet = TipezeNyumbaServiceUnitOfWork.Repository <House>().Get(u => u.houseID == houseID);
                HouseDetails HouseByHouseID   = new HouseDetails();
                HouseByHouseID.houseID                  = SpecifHouseToGet.houseID;
                HouseByHouseID.district                 = SpecifHouseToGet.District.name;
                HouseByHouseID.bedrooms                 = SpecifHouseToGet.bedrooms;
                HouseByHouseID.masterBedroomEnsuite     = SpecifHouseToGet.masterBedroomEnsuite;
                HouseByHouseID.selfContained            = SpecifHouseToGet.selfContained;
                HouseByHouseID.numberOfGarages          = SpecifHouseToGet.numberOfGarages;
                HouseByHouseID.fenceType                = SpecifHouseToGet.FenceType1.typeOfFence;
                HouseByHouseID.dateHouseWillBeAvailable = SpecifHouseToGet.dateHouseWillBeAvailable;
                HouseByHouseID.price         = SpecifHouseToGet.price;
                HouseByHouseID.modeOfPayment = SpecifHouseToGet.PaymentMode.number + " " + SpecifHouseToGet.PaymentMode.DurationType.type;
                HouseByHouseID.description   = SpecifHouseToGet.description;
                HouseByHouseID.houseState    = SpecifHouseToGet.HouseState.HouseStatus;
                List <HouseContactDetail> houseContactDetails = SpecifHouseToGet.HouseContactDetails.ToList();
                foreach (var eachHouseontactDetail in houseContactDetails)
                {
                    HouseByHouseID.phoneNumber1          = eachHouseontactDetail.phoneNumber1;
                    HouseByHouseID.phoneNumber2          = eachHouseontactDetail.phoneNumber2;
                    HouseByHouseID.whatsAppContactNumber = eachHouseontactDetail.whatsAppContactNumber;
                    HouseByHouseID.email = eachHouseontactDetail.email;
                }
                return(HouseByHouseID);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #3
0
ファイル: HouseController.cs プロジェクト: kingshhh/fxtcode
        public ActionResult AddHouseDetails(HouseDetails house, long allotId, int fxtcompanyId, int cityId, UserCenter_LoginUserInfo loginUser)
        {
            DatAllotFlow allot = DatAllotFlowManager.GetDatAllotFlowById(allotId);

            if (allot == null)
            {
                return(WebUserHelp.GetAction404Page());//无此页面
            }
            //登陆用户所在小组
            PriviDepartmentUser loginDepartment = PriviDepartmentUserManager.GetDepartmentUserByUserName(loginUser.NowCityId, loginUser.FxtCompanyId, loginUser.UserName);
            //当前信息的发起用户所在小组
            PriviDepartmentUser infoStartDepartment = PriviDepartmentUserManager.GetDepartmentUserByUserName(loginUser.NowCityId, allot.FxtCompanyId, allot.UserName);
            //当前信息的用户所在小组
            PriviDepartmentUser infoDepartment = PriviDepartmentUserManager.GetDepartmentUserByUserName(loginUser.NowCityId, allot.FxtCompanyId, allot.SurveyUserName);

            #region 验证查看权限
            //获取当前用户对任务列表页拥有的权限(验证查看权限)
            List <int> nowFunctionCodes = WebUserHelp.GetNowPageFunctionCodes(loginUser.UserName, loginUser.FxtCompanyId, WebCommon.Url_AllotFlowInfo_AllotFlowManager);
            //是否用于查看权限
            if (!WebUserHelp.CheckNowPageViewFunctionCode(nowFunctionCodes.ToArray(), loginUser.UserName, allot.UserName, allot.SurveyUserName,
                                                          loginDepartment == null ? 0 : loginDepartment.DepartmentID, infoStartDepartment == null ? 0 : infoStartDepartment.DepartmentID,
                                                          infoDepartment == null ? 0 : infoDepartment.DepartmentID))
            {
                return(WebUserHelp.GetActionNotRightPage());//无权限
            }
            #endregion

            //户型结构
            ViewBag.StructureCode = SYSCodeManager.StructureCodeManager();
            //通风采光
            ViewBag.VDCode = SYSCodeManager.VDCodeManager();
            //噪音情况
            ViewBag.Noise = SYSCodeManager.NoiseManager();
            //用途
            ViewBag.PurposeCode = SYSCodeManager.HousePurposeCodeManager();

            #region 验证修改权限
            //获取当前用户对当前页拥有的权限
            List <int> nowFunctionCodes2 = WebUserHelp.GetNowPageFunctionCodes(loginUser.UserName, loginUser.FxtCompanyId, WebCommon.Url_AllotFlowInfo_AllotDetailed);
            if (WebUserHelp.CheckNowPageUpdateFunctionCode(nowFunctionCodes2.ToArray(), loginUser.UserName, allot.SurveyUserName,
                                                           loginDepartment == null ? 0 : loginDepartment.DepartmentID, infoDepartment == null ? 0 : infoDepartment.DepartmentID, allot.SurveyUserName) &&
                (allot.StateCode != SYSCodeManager.STATECODE_10))
            {
                ViewBag.IsUpdateRight = 1;//有权限
            }
            #endregion
            if (house.Id > 0)
            {
                return(View(_unitOfWork.HouseDetailsRepository.GetById(house.Id)));
            }
            else
            {
                return(View(house));
            }
        }
コード例 #4
0
        public ActionResult AddHouseDetails(HouseDetails house, long allotId, int fxtcompanyId, int cityId, LoginUser loginUser)
        {
            //户型结构
            ViewBag.StructureCode = _unitOfWork.CodeService.StructureCodeManager();
            //通风采光
            ViewBag.VDCode = _unitOfWork.CodeService.VDCodeManager();
            //噪音情况
            ViewBag.Noise = _unitOfWork.CodeService.NoiseManager();
            //用途
            ViewBag.PurposeCode = _unitOfWork.CodeService.HousePurposeCodeManager();

            if (house.Id > 0)
            {
                return(View(_unitOfWork.HouseDetailsRepository.GetById(house.Id)));
            }
            else
            {
                return(View(house));
            }
        }
コード例 #5
0
        public string AddAHouse(HouseDetails newHouse)
        {
            try
            {
                //House details to put in house entity
                House houseToAddInDB = new House();
                houseToAddInDB.districtHouseIsLocated = Convert.ToInt32(newHouse.district);
                houseToAddInDB.bedrooms                 = newHouse.bedrooms;
                houseToAddInDB.masterBedroomEnsuite     = newHouse.masterBedroomEnsuite;
                houseToAddInDB.selfContained            = newHouse.selfContained;
                houseToAddInDB.numberOfGarages          = newHouse.numberOfGarages;
                houseToAddInDB.fenceType                = Convert.ToInt32(newHouse.fenceType);
                houseToAddInDB.dateHouseWillBeAvailable = newHouse.dateHouseWillBeAvailable;
                houseToAddInDB.price             = newHouse.price;
                houseToAddInDB.modeOfPayment     = Convert.ToInt32(newHouse.modeOfPayment);
                houseToAddInDB.dateUploaded      = DateTime.Now;
                houseToAddInDB.description       = newHouse.description;
                houseToAddInDB.currentHouseState = Convert.ToInt32(newHouse.houseState);
                houseToAddInDB.state             = getFieldStateID("Activated");


                //House contact details to add for new house
                HouseContactDetail newHouseDetail = new HouseContactDetail();
                newHouseDetail.phoneNumber1          = newHouse.phoneNumber1;
                newHouseDetail.phoneNumber2          = newHouse.phoneNumber2;
                newHouseDetail.email                 = newHouse.email;
                newHouseDetail.whatsAppContactNumber = newHouse.whatsAppContactNumber;
                newHouseDetail.houseID               = houseToAddInDB.houseID;
                newHouseDetail.state                 = getFieldStateID("Activated");
                TipezeNyumbaServiceUnitOfWork.Repository <House>().Add(houseToAddInDB);
                TipezeNyumbaServiceUnitOfWork.Repository <HouseContactDetail>().Add(newHouseDetail);
                TipezeNyumbaServiceUnitOfWork.SaveChanges();

                return("Successful");
            }
            catch (Exception)
            {
                return("Failed to add new house, please confirm if the input parameters were inserted as required");
            }
        }
コード例 #6
0
 public List <HouseDetails> GetAllHousesByDistrict(string district)
 {
     try
     {
         List <House>        HousesInRepository  = TipezeNyumbaServiceUnitOfWork.Repository <House>().GetAll(u => u.District.name == district).ToList();
         List <HouseDetails> HousesToBeRetrieved = new List <HouseDetails>();
         HouseDetails        EachHouseDetails    = new HouseDetails();
         foreach (House eachHouse in HousesInRepository)
         {
             EachHouseDetails                          = new HouseDetails();
             EachHouseDetails.houseID                  = eachHouse.houseID;
             EachHouseDetails.bedrooms                 = eachHouse.bedrooms;
             EachHouseDetails.masterBedroomEnsuite     = eachHouse.masterBedroomEnsuite;
             EachHouseDetails.selfContained            = eachHouse.selfContained;
             EachHouseDetails.numberOfGarages          = eachHouse.numberOfGarages;
             EachHouseDetails.dateHouseWillBeAvailable = eachHouse.dateHouseWillBeAvailable;
             EachHouseDetails.price                    = eachHouse.price;
             EachHouseDetails.dateUploaded             = eachHouse.dateUploaded;
             EachHouseDetails.description              = eachHouse.description;
             EachHouseDetails.houseState               = eachHouse.HouseState.HouseStatus;
             EachHouseDetails.fenceType                = eachHouse.FenceType1.typeOfFence;
             EachHouseDetails.district                 = eachHouse.District.name;
             EachHouseDetails.modeOfPayment            = eachHouse.PaymentMode.number + " " + eachHouse.PaymentMode.DurationType.type;
             List <HouseContactDetail> houseContactDetails = eachHouse.HouseContactDetails.ToList();
             foreach (var eachHouseontactDetail in houseContactDetails)
             {
                 EachHouseDetails.phoneNumber1          = eachHouseontactDetail.phoneNumber1;
                 EachHouseDetails.phoneNumber2          = eachHouseontactDetail.phoneNumber2;
                 EachHouseDetails.whatsAppContactNumber = eachHouseontactDetail.whatsAppContactNumber;
                 EachHouseDetails.email = eachHouseontactDetail.email;
             }
             HousesToBeRetrieved.Add(EachHouseDetails);
         }
         return(HousesToBeRetrieved);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #7
0
        //转换值 删除
        private HouseDetails ConvertVal(string floorNo, string nominalFloor, string houseName, string buildingId, string cityID, string fxtCompanyId, string userName)
        {
            var house = new HouseDetails();

            try
            {
                house.Creator = userName;
                if (!string.IsNullOrEmpty(floorNo))
                {
                    house.FloorNo = Convert.ToInt32(floorNo);
                }
                if (!string.IsNullOrEmpty(nominalFloor))
                {
                    house.NominalFloor = nominalFloor;
                }
                if (!string.IsNullOrEmpty(buildingId))
                {
                    house.BuildingId = Convert.ToInt32(buildingId);
                }
                if (!string.IsNullOrEmpty(houseName))
                {
                    house.HouseName = houseName;
                }
                if (!string.IsNullOrEmpty(cityID))
                {
                    house.CityID = Convert.ToInt32(cityID);
                }
                if (!string.IsNullOrEmpty(fxtCompanyId))
                {
                    house.FxtCompanyId = Convert.ToInt32(fxtCompanyId);
                }
                return(house);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #8
0
 public List <HouseDetails> GetAllHousesByDateRange(DateTime startDate, DateTime endDate)
 {
     try
     {
         List <House>        HousesByDateAvailble = TipezeNyumbaServiceUnitOfWork.Repository <House>().GetAll(u => u.dateHouseWillBeAvailable >= startDate && u.dateHouseWillBeAvailable <= endDate).ToList();
         List <HouseDetails> availableHouses      = new List <HouseDetails>();
         HouseDetails        eachHouseDetails     = new HouseDetails();
         foreach (House eachHouse in HousesByDateAvailble)
         {
             eachHouseDetails.houseID                  = eachHouse.houseID;
             eachHouseDetails.district                 = eachHouse.District.name;
             eachHouseDetails.bedrooms                 = eachHouse.bedrooms;
             eachHouseDetails.masterBedroomEnsuite     = eachHouse.masterBedroomEnsuite;
             eachHouseDetails.selfContained            = eachHouse.selfContained;
             eachHouseDetails.numberOfGarages          = eachHouse.numberOfGarages;
             eachHouseDetails.fenceType                = eachHouse.FenceType1.typeOfFence;
             eachHouseDetails.dateHouseWillBeAvailable = eachHouse.dateHouseWillBeAvailable;
             eachHouseDetails.price         = eachHouse.price;
             eachHouseDetails.modeOfPayment = eachHouse.PaymentMode.number + " " + eachHouse.PaymentMode.DurationType.type;
             eachHouseDetails.description   = eachHouse.description;
             eachHouseDetails.houseState    = eachHouse.HouseState.HouseStatus;
             List <HouseContactDetail> houseContactDetails = eachHouse.HouseContactDetails.ToList();
             foreach (var eachHouseContactDetail in houseContactDetails)
             {
                 eachHouseContactDetail.phoneNumber1          = eachHouseContactDetail.phoneNumber1;
                 eachHouseContactDetail.phoneNumber2          = eachHouseContactDetail.phoneNumber2;
                 eachHouseContactDetail.whatsAppContactNumber = eachHouseContactDetail.whatsAppContactNumber;
                 eachHouseContactDetail.email = eachHouseContactDetail.email;
             }
             availableHouses.Add(eachHouseDetails);
         }
         return(availableHouses);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #9
0
        private HouseDetails GrabHouseDetails()
        {
            var houseDetails = new HouseDetails();
            var grabber      = new ReflectionGrabber();

            var formtable = _driver
                            .FindElement(By.TagName("form"))
                            .FindElement(By.TagName("table"));

            var tableBody = formtable
                            .FindElement(By.TagName("tbody"));

            var mastercells = tableBody
                              .FindElement(By.TagName("tr"))
                              .FindElements(By.XPath("./td"))
                              .ToList();

            foreach (var mastercell in mastercells)
            {
                var tables = mastercell.FindElements(By.CssSelector("table")).ToList();
                foreach (var table in tables)
                {
                    grabber.TwoColumnTableGrab(table, true, houseDetails);
                }
            }

            grabber.GrabPropertiesByNameOrId(_driver, houseDetails);

            var descriptionLink = _driver.FindElement(By.LinkText("Desc."));

            descriptionLink.Click();

            _driver.JustWait(5);

            grabber.GrabPropertiesByNameOrId(_driver, houseDetails);

            return(houseDetails);
        }
コード例 #10
0
        public string UpdateHouseDetails(HouseDetails houseDetailsFromClient)
        {
            try
            {
                //Updating the house table
                House houseToUpdateInDB = TipezeNyumbaServiceUnitOfWork.Repository <House>().Get(u => u.houseID == houseDetailsFromClient.houseID);
                houseToUpdateInDB.districtHouseIsLocated = Convert.ToInt32(houseDetailsFromClient.district);
                houseToUpdateInDB.bedrooms                 = houseDetailsFromClient.bedrooms;
                houseToUpdateInDB.masterBedroomEnsuite     = houseDetailsFromClient.masterBedroomEnsuite;
                houseToUpdateInDB.selfContained            = houseDetailsFromClient.selfContained;
                houseToUpdateInDB.numberOfGarages          = houseDetailsFromClient.numberOfGarages;
                houseToUpdateInDB.fenceType                = Convert.ToInt32(houseDetailsFromClient.fenceType);
                houseToUpdateInDB.dateHouseWillBeAvailable = houseDetailsFromClient.dateHouseWillBeAvailable;
                houseToUpdateInDB.price             = houseDetailsFromClient.price;
                houseToUpdateInDB.modeOfPayment     = Convert.ToInt32(houseDetailsFromClient.modeOfPayment);
                houseToUpdateInDB.dateUploaded      = DateTime.Now;
                houseToUpdateInDB.description       = houseDetailsFromClient.description;
                houseToUpdateInDB.currentHouseState = Convert.ToInt32(houseDetailsFromClient.houseState);

                //Updating the HouseContactDetails table
                HouseContactDetail updatedHouseContactDetails = TipezeNyumbaServiceUnitOfWork.Repository <HouseContactDetail>().Get(u => u.houseID == houseDetailsFromClient.houseID);
                updatedHouseContactDetails.email                 = houseDetailsFromClient.email;
                updatedHouseContactDetails.phoneNumber1          = houseDetailsFromClient.phoneNumber1;
                updatedHouseContactDetails.phoneNumber2          = houseDetailsFromClient.phoneNumber2;
                updatedHouseContactDetails.whatsAppContactNumber = houseDetailsFromClient.whatsAppContactNumber;

                TipezeNyumbaServiceUnitOfWork.Repository <House>().Attach(houseToUpdateInDB);
                TipezeNyumbaServiceUnitOfWork.Repository <HouseContactDetail>().Attach(updatedHouseContactDetails);
                TipezeNyumbaServiceUnitOfWork.SaveChanges();
                return("Successful");
            }
            catch (Exception ex)
            {
                return("Failed to add new house, please confirm if the input parameters were inserted as required " + ex.Message);
            }
        }
コード例 #11
0
 //转换值 新增、修改
 private HouseDetails ConvertVal(HouseOperate item, string userName)
 {
     try
     {
         var house = new HouseDetails();
         house.SaveUser = userName;
         if (!string.IsNullOrEmpty(item.BuildingId))
         {
             house.BuildingId = Convert.ToInt32(item.BuildingId);
         }
         if (!string.IsNullOrEmpty(item.HouseName))
         {
             house.HouseName = item.HouseName;
         }
         if (!string.IsNullOrEmpty(item.BuildArea))
         {
             house.BuildArea = Convert.ToDecimal(item.BuildArea);
         }
         if (!string.IsNullOrEmpty(item.PurposeCode))
         {
             house.PurposeCode = GetPurposeCode(item.PurposeCode);
         }
         if (!string.IsNullOrEmpty(item.SubHouseType))
         {
             house.SubHouseType = GetSubHouseCode(item.SubHouseType);
         }
         if (!string.IsNullOrEmpty(item.SubHouseArea))
         {
             house.SubHouseArea = Convert.ToDecimal(item.SubHouseArea);
         }
         if (!string.IsNullOrEmpty(item.HouseTypeCode))
         {
             house.HouseTypeCode = GetHouseTypeCode(item.HouseTypeCode);
         }
         if (!string.IsNullOrEmpty(item.StructureCode))
         {
             house.StructureCode = GetStructureCode(item.StructureCode);
         }
         if (!string.IsNullOrEmpty(item.UnitPrice))
         {
             house.UnitPrice = Convert.ToDecimal(item.UnitPrice);
         }
         if (!string.IsNullOrEmpty(item.Weight))
         {
             house.Weight = Convert.ToDecimal(item.Weight);
         }
         if (!string.IsNullOrEmpty(item.FrontCode))
         {
             house.FrontCode = GeteFrontCode(item.FrontCode);
         }
         if (!string.IsNullOrEmpty(item.SightCode))
         {
             house.SightCode = GeteSightCode(item.SightCode);
         }
         if (!string.IsNullOrEmpty(item.IsShowBuildingArea))
         {
             house.IsShowBuildingArea = GetIsYesCode(item.IsShowBuildingArea);
         }
         if (!string.IsNullOrEmpty(item.VDCode))
         {
             house.VDCode = GetVDNameCode(item.VDCode);
         }
         if (!string.IsNullOrEmpty(item.FitmentCode))
         {
             house.FitmentCode = GetFitmentCode(item.FitmentCode);
         }
         if (!string.IsNullOrEmpty(item.Cookroom))
         {
             house.Cookroom = GetIsCookroom(item.Cookroom);
         }
         if (!string.IsNullOrEmpty(item.Balcony))
         {
             house.Balcony = Convert.ToInt32(item.Balcony);
         }
         if (!string.IsNullOrEmpty(item.Toilet))
         {
             house.Toilet = Convert.ToInt32(item.Toilet);
         }
         if (!string.IsNullOrEmpty(item.UnitNo))
         {
             house.UnitNo = item.UnitNo;
         }
         if (!string.IsNullOrEmpty(item.RoomNo))
         {
             house.RoomNo = item.RoomNo;
         }
         if (!string.IsNullOrEmpty(item.CityID))
         {
             house.CityID = Convert.ToInt32(item.CityID);
         }
         if (!string.IsNullOrEmpty(item.Valid))
         {
             house.Valid = Convert.ToInt32(item.Valid);
         }
         if (!string.IsNullOrEmpty(item.FxtCompanyId))
         {
             house.FxtHouseId = Convert.ToInt32(item.FxtCompanyId);
         }
         if (!string.IsNullOrEmpty(item.FloorNo))
         {
             house.FloorNo = Convert.ToInt32(item.FloorNo);
         }
         if (!string.IsNullOrEmpty(item.NominalFloor))
         {
             house.NominalFloor = item.NominalFloor;
         }
         if (!string.IsNullOrEmpty(item.NoiseCode))
         {
             house.NoiseCode = GetNoiseCode(item.NoiseCode);
         }
         return(house);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #12
0
        public ActionResult SaveHouseDetails(HouseDetails house, LoginUser userInfo)
        {
            AjaxResult result = new AjaxResult("添加房号成功!");

            if (house.UnitNo == null)
            {
                house.UnitNo = "";
            }
            if (house.Id < 1)
            {
                var exists = _unitOfWork.HouseDetailsRepository.Get(m => m.HouseName == house.HouseName && m.BuildingId == house.BuildingId).FirstOrDefault();
                if (exists != null)
                {
                    result.Message = "房号已存在";
                    result.Result  = false;
                    return(AjaxJson(result));
                }

                var fno = _unitOfWork.HouseDetailsRepository.Get(m => m.UnitNo == house.UnitNo && m.RoomNo == house.RoomNo && m.FloorNo == house.FloorNo &&
                                                                 m.BuildingId == house.BuildingId).FirstOrDefault();
                if (fno != null)
                {
                    result.Message = "楼层已存在";
                    result.Result  = false;
                    return(AjaxJson(result));
                }

                house.Creator      = userInfo.UserName;
                house.SaveUser     = userInfo.UserName;
                house.SaveDateTime = DateTime.Now;
                house.HouseId      = 0;
                house.Valid        = 1;
                _unitOfWork.HouseDetailsRepository.Insert(house);
            }
            else
            {
                var exists = _unitOfWork.HouseDetailsRepository.Get(m => m.HouseName == house.HouseName &&
                                                                    m.BuildingId == house.BuildingId && m.Id != house.Id).FirstOrDefault();
                if (exists != null)
                {
                    result.Message = "房号已存在";
                    result.Result  = false;
                    return(AjaxJson(result));
                }

                var fno = _unitOfWork.HouseDetailsRepository.Get(m => m.UnitNo == house.UnitNo && m.RoomNo == house.RoomNo && m.FloorNo == house.FloorNo &&
                                                                 m.BuildingId == house.BuildingId && m.Id != house.Id).FirstOrDefault();
                if (fno != null)
                {
                    result.Message = "楼层已存在";
                    result.Result  = false;
                    return(AjaxJson(result));
                }

                house.SaveUser     = userInfo.UserName;
                house.SaveDateTime = DateTime.Now;
                result.Message     = "修改成功!";
            }
            _unitOfWork.Commit();
            return(AjaxJson(result));
        }
コード例 #13
0
        public ActionResult CreateHouseDetailsByHouseId(int houseId)
        {
            AjaxResult result = new AjaxResult("生成房号详细成功!");

            try
            {
                var house = _unitOfWork.HouseRepository.GetById(houseId);

                if (house != null)
                {
                    _unitOfWork.HouseDetailsRepository.Delete(m => m.HouseId == houseId);

                    if (house.EndFloorNo >= house.FloorNo)
                    {
                        string unitNo  = _unitOfWork.HouseService.GetUnitNoByUnitNoStr(house.UnitNo);
                        string houseNo = _unitOfWork.HouseService.GetHouseNoByUnitNoStr(house.UnitNo);
                        for (int i = house.FloorNo; i <= house.EndFloorNo; i++)
                        {
                            List <int> cs = new List <int>()
                            {
                                SYSCodeManager.HOUSEPURPOSECODE_5, SYSCodeManager.HOUSEPURPOSECODE_6, SYSCodeManager.HOUSEPURPOSECODE_8, SYSCodeManager.HOUSEPURPOSECODE_27
                            };

                            HouseDetails detail = new HouseDetails();
                            detail.BuildingId    = house.BuildingId;
                            detail.FrontCode     = house.FrontCode;
                            detail.HouseName     = house.HouseName;
                            detail.HouseTypeCode = house.HouseTypeCode;
                            detail.NoiseCode     = house.NoiseCode;
                            detail.PurposeCode   = house.PurposeCode;
                            detail.SightCode     = house.SightCode;
                            detail.StructureCode = house.StructureCode;
                            detail.VDCode        = house.VDCode;
                            detail.HouseId       = houseId;
                            detail.BuildArea     = house.BuildArea;
                            detail.Remark        = house.Remark;
                            detail.FloorNo       = i;
                            detail.NominalFloor  = i.ToString();
                            detail.UnitNo        = unitNo;
                            detail.RoomNo        = houseNo;
                            if (house.PurposeCode.HasValue && cs.Contains(house.PurposeCode.Value))
                            {
                                detail.HouseName = unitNo + houseNo;
                            }
                            else
                            {
                                if (i < 0)
                                {
                                    detail.HouseName = "-" + unitNo + -i + houseNo;
                                }
                                else
                                {
                                    detail.HouseName = unitNo + i + houseNo;
                                }
                            }

                            if (detail.BuildArea.HasValue && detail.BuildArea == 0)
                            {
                                detail.BuildArea = null;
                            }
                            if (i != 0)
                            {
                                _unitOfWork.HouseDetailsRepository.Insert(detail);
                            }
                        }
                    }
                    _unitOfWork.Commit();
                }
            }
            catch (DbUpdateException ex)
            {
                result.Result  = false;
                result.Message = "同一楼栋下不能有相同房号!";
            }
            return(AjaxJson(result));
        }
コード例 #14
0
        public int SetAllotProjectInfo(int allotId, string userName, string userTrueName, int fxtCompanyId, int cityId, ProjectDto projectDto, int isValid, out long returnAllotId, out int returnProjectId)
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();
            log.Info("Stopwatch开始计时," + allotId);
            int housecount       = 0;
            int housedetailcount = 0;

            string message = string.Empty;

            returnAllotId   = allotId;
            returnProjectId = projectDto.ProjectId;
            DateTime  nowTime   = DateTime.Now;
            Project   project   = Mapper.Map <ProjectDto, Project>(projectDto);
            AllotFlow allotFlow = _unitOfWork.AllotFlowRepository.GetById(allotId);

            if (allotFlow == null)
            {
                return(-5);
            }
            //不是当前用户的任务
            if (allotFlow.SurveyUserName != userName.ToLower())
            {
                return(-2);
            }
            else if (allotFlow.StateCode != SYSCodeManager.STATECODE_4)
            {
                //不是查勘中任务
                return(-3);
            }

            //行政区 + 楼盘名称||已有的projectid||没有入库
            //var exists = _unitOfWork.ProjectRepository.Get(m =>
            //        (
            //            (m.ProjectName == project.ProjectName && m.AreaID == project.AreaID)
            //            && m.ProjectId != project.ProjectId
            //        )
            //        && m.Status != SYSCodeManager.STATECODE_10 && m.Valid == 1
            //    ).FirstOrDefault();
            //if (exists != null)
            //{
            //    message = "楼盘已存在";
            //    return -4;
            //}

            #region (Project更新值)
            if (isValid == 0 && !CheckProjectObj(project, out message))
            {
                return(0);
            }
            allotFlow.Project.EndDate        = projectDto.Enddate;
            allotFlow.Project.ManagerQuality = projectDto.Managerquality;
            allotFlow.Project.ParkingStatus  = projectDto.ParkingStatus;
            allotFlow.Project.PhotoCount     = projectDto.PhotoCount;
            allotFlow.Project.FxtProjectId   = projectDto.FxtProjectId;
            allotFlow.Project.ProjectName    = projectDto.ProjectName;
            allotFlow.Project.OtherName      = projectDto.OtherName;
            allotFlow.Project.CityID         = projectDto.CityID;
            allotFlow.Project.AreaID         = projectDto.AreaID;
            allotFlow.Project.SubAreaId      = projectDto.SubAreaId;
            allotFlow.Project.Address        = projectDto.Address;
            allotFlow.Project.PurposeCode    = projectDto.PurposeCode;
            allotFlow.Project.RightCode      = projectDto.RightCode;
            allotFlow.Project.Detail         = projectDto.Detail;
            allotFlow.Project.X             = projectDto.X;
            allotFlow.Project.Y             = projectDto.Y;
            allotFlow.Project.BuildingNum   = projectDto.BuildingNum;
            allotFlow.Project.TotalNum      = projectDto.Totalnum;
            allotFlow.Project.ParkingNumber = projectDto.Parkingnumber;
            allotFlow.Project.East          = projectDto.East;
            allotFlow.Project.West          = projectDto.West;
            allotFlow.Project.South         = projectDto.South;
            allotFlow.Project.North         = projectDto.North;
            allotFlow.Project.Status        = SYSCodeManager.STATECODE_4;
            allotFlow.Project.FxtCompanyId  = fxtCompanyId;
            allotFlow.Project.CityID        = cityId;
            allotFlow.Project.Valid         = 1;
            allotFlow.Project.SaveDateTime  = nowTime;  //最后修改时间
            allotFlow.Project.SaveUser      = userName; //修改人

            returnProjectId = allotFlow.Project.ProjectId;
            #endregion
            #region (停车状况)
            int        classcode  = project.ParkingStatus.HasValue ? project.ParkingStatus.Value : 0;
            PAppendage pAppendage = new PAppendage()
            {
                CityId        = cityId,
                ProjectId     = project.ProjectId,
                ClassCode     = classcode,
                AppendageCode = SYSCodeManager.APPENDAGECODE_14
            };

            PAppendage pAppend = _unitOfWork.P_AppendageRepository.GetBy(m => m.CityId == cityId && m.ProjectId == project.ProjectId && m.AppendageCode == SYSCodeManager.APPENDAGECODE_14);
            if (pAppend == null)
            {
                _unitOfWork.P_AppendageRepository.Insert(pAppendage);
            }
            else
            {
                pAppend.ClassCode = classcode;
                _unitOfWork.P_AppendageRepository.Update(pAppend);
            }

            #endregion
            #region (Project更新关联公司)
            //更新开发商
            if (!string.IsNullOrEmpty(projectDto.Developers))
            {
                var developers = _unitOfWork.P_CompanyRepository.GetBy(m => m.CityId == cityId && m.ProjectId == project.ProjectId && m.CompanyType == SYSCodeApi.COMPANYTYPECODE_1);
                if (developers == null)
                {
                    PCompany pcompany = new PCompany()
                    {
                        CityId      = cityId,
                        CompanyName = projectDto.Developers,
                        CompanyType = SYSCodeApi.COMPANYTYPECODE_1,
                        ProjectId   = project.ProjectId
                    };
                    _unitOfWork.P_CompanyRepository.Insert(pcompany);
                }
                else
                {
                    developers.CompanyName = projectDto.Developers;
                    _unitOfWork.P_CompanyRepository.Update(developers);
                }
            }
            else
            {
                _unitOfWork.P_CompanyRepository.Delete(m => m.CityId == cityId && m.ProjectId == project.ProjectId && m.CompanyType == SYSCodeApi.COMPANYTYPECODE_1);
            }

            //更新物业管理公司
            if (!string.IsNullOrEmpty(projectDto.ManagerCompany))
            {
                var managerCompany = _unitOfWork.P_CompanyRepository.GetBy(m => m.CityId == cityId && m.ProjectId == project.ProjectId && m.CompanyType == SYSCodeApi.COMPANYTYPECODE_4);
                if (managerCompany == null)
                {
                    PCompany pcompany = new PCompany()
                    {
                        CityId      = cityId,
                        CompanyName = projectDto.ManagerCompany,
                        CompanyType = SYSCodeApi.COMPANYTYPECODE_4,
                        ProjectId   = project.ProjectId
                    };
                    _unitOfWork.P_CompanyRepository.Insert(pcompany);
                }
                else
                {
                    managerCompany.CompanyName = projectDto.ManagerCompany;
                    _unitOfWork.P_CompanyRepository.Update(managerCompany);
                }
            }
            else
            {
                _unitOfWork.P_CompanyRepository.Delete(m => m.CityId == cityId && m.ProjectId == project.ProjectId && m.CompanyType == SYSCodeApi.COMPANYTYPECODE_4);
            }
            #endregion
            #region (Building更新值)
            if (projectDto.BuildingDtolist != null && projectDto.BuildingDtolist.Count > 0)
            {
                int bid = 0;
                foreach (var buildingDto in projectDto.BuildingDtolist)
                {
                    var       t    = false;
                    Stopwatch swbs = new Stopwatch();
                    swbs.Start();
                    //验证楼栋字段数据
                    if (!CheckBuildingObj(buildingDto, out message))
                    {
                        return(0);
                    }
                    //给building各属性赋值
                    Building building = Mapper.Map <BuildingDto, Building>(buildingDto);
                    building.Valid        = 1;
                    building.ProjectId    = project.ProjectId;
                    building.FxtCompanyId = allotFlow.FxtCompanyId;
                    building.CityID       = cityId;

                    //删除楼栋
                    if (buildingDto.Valid == 0)
                    {
                        var build = _unitOfWork.BuildingRepository.GetBy(m => m.AppId == building.AppId);
                        if (build != null)
                        {
                            _unitOfWork.HouseRepository.Delete(m => m.BuildingId == build.BuildingId);
                            _unitOfWork.HouseDetailsRepository.Delete(m => m.BuildingId == build.BuildingId);
                            _unitOfWork.BuildingRepository.Delete(m => m.AppId == building.AppId);
                        }
                    }
                    else
                    {
                        if (allotFlow.Project.Buildings == null)
                        {
                            allotFlow.Project.Buildings = new List <Building>();
                        }
                        Building eBuilding = allotFlow.Project.Buildings.Where(m => m.Valid == 1 && m.AppId == building.AppId).FirstOrDefault();

                        if (eBuilding == null)
                        {
                            building.Creator     = userName;
                            building.CreateTime  = nowTime;
                            eBuilding            = building;
                            eBuilding.BuildingId = bid++;
                            allotFlow.Project.Buildings.Add(eBuilding);
                        }
                        else
                        {
                            eBuilding.AppId           = buildingDto.AppId;
                            eBuilding.BuildDate       = buildingDto.BuildDate;
                            eBuilding.BuildingName    = buildingDto.BuildingName;
                            eBuilding.ElevatorRate    = buildingDto.ElevatorRate;
                            eBuilding.IsElevator      = buildingDto.IsElevator;
                            eBuilding.LocationCode    = buildingDto.LocationCode;
                            eBuilding.MaintenanceCode = buildingDto.MaintenanceCode;
                            eBuilding.OtherName       = buildingDto.OtherName;
                            eBuilding.PurposeCode     = buildingDto.PurposeCode;
                            eBuilding.Remark          = buildingDto.Remark;
                            eBuilding.StructureCode   = buildingDto.StructureCode;
                            eBuilding.TotalFloor      = buildingDto.TotalFloor;
                            eBuilding.UnitsNumber     = buildingDto.UnitsNumber;
                            eBuilding.X            = buildingDto.X;
                            eBuilding.Y            = buildingDto.Y;
                            eBuilding.SaveUser     = userName;
                            eBuilding.SaveDateTime = nowTime;
                        }

                        #region (设置house)
                        if (buildingDto.HouseDtolist != null && buildingDto.HouseDtolist.Count > 0)
                        {
                            foreach (var houseDto in buildingDto.HouseDtolist)
                            {
                                //验证房号字段数据
                                if (!CheckHouseObj(houseDto, out message))
                                {
                                    return(0);
                                }
                                houseDto.HouseId = 0;
                                housecount++;
                                House house = Mapper.Map <HouseDto, House>(houseDto);
                                //给house各属性赋值
                                house.BuildingId   = eBuilding.BuildingId;
                                house.Valid        = 1;
                                house.FxtCompanyId = fxtCompanyId;
                                house.CityID       = cityId;
                                if (string.IsNullOrEmpty(houseDto.UnitNo) && string.IsNullOrEmpty(houseDto.HouseNo))
                                {
                                    house.UnitNo = houseDto.HouseName.Replace(houseDto.FloorNo.ToString(), "$");
                                }
                                else
                                {
                                    house.UnitNo = _houseService.SetHouseUnitNoAndHouseNo(house.UnitNo, houseDto.HouseNo);
                                }
                                //设置新增实体
                                if (houseDto.Valid == 0)
                                {
                                    var hou = _unitOfWork.HouseRepository.GetBy(m => m.AppId == houseDto.AppId && m.BuildingId == eBuilding.BuildingId);
                                    if (hou != null)
                                    {
                                        _unitOfWork.HouseDetailsRepository.Delete(m => m.HouseId == hou.HouseId);
                                        _unitOfWork.HouseRepository.Delete(m => m.AppId == houseDto.AppId && m.BuildingId == eBuilding.BuildingId);
                                    }
                                }
                                else
                                {
                                    House eHouse = eBuilding.Houses == null ? null : eBuilding.Houses.Where(m => m.AppId == houseDto.AppId && m.BuildingId == eBuilding.BuildingId && m.Valid == 1).FirstOrDefault();
                                    if (eHouse == null)
                                    {
                                        house.CreateTime = nowTime;
                                        house.Creator    = userName;
                                        eHouse           = house;
                                        if (eBuilding.Houses == null)
                                        {
                                            eBuilding.Houses = new List <House>();
                                        }
                                        eBuilding.Houses.Add(eHouse);
                                    }
                                    else
                                    {
                                        eHouse.BuildArea     = house.BuildArea;
                                        eHouse.EndFloorNo    = house.EndFloorNo;
                                        eHouse.FloorNo       = house.FloorNo;
                                        eHouse.FrontCode     = house.FrontCode;
                                        eHouse.HouseName     = house.HouseName;
                                        eHouse.HouseTypeCode = house.HouseTypeCode;
                                        eHouse.NoiseCode     = house.NoiseCode;
                                        eHouse.NominalFloor  = house.NominalFloor;
                                        eHouse.PhotoName     = house.PhotoName;
                                        eHouse.PurposeCode   = house.PurposeCode;
                                        eHouse.Remark        = house.Remark;
                                        eHouse.SightCode     = house.SightCode;
                                        eHouse.Status        = house.Status;
                                        eHouse.StructureCode = house.StructureCode;
                                        eHouse.UnitNo        = house.UnitNo;
                                        eHouse.VDCode        = house.VDCode;
                                        eHouse.SaveUser      = userName;
                                        eHouse.SaveDateTime  = nowTime;
                                    }
                                    //生成房号
                                    if (house.EndFloorNo >= house.FloorNo)
                                    {
                                        string unitNo  = _houseService.GetUnitNoByUnitNoStr(house.UnitNo);
                                        string houseNo = _houseService.GetHouseNoByUnitNoStr(house.UnitNo);
                                        for (int i = house.FloorNo; i <= house.EndFloorNo; i++)
                                        {
                                            housedetailcount++;
                                            List <int> cs = new List <int>()
                                            {
                                                SYSCodeManager.HOUSEPURPOSECODE_5, SYSCodeManager.HOUSEPURPOSECODE_6, SYSCodeManager.HOUSEPURPOSECODE_8, SYSCodeManager.HOUSEPURPOSECODE_27
                                            };
                                            HouseDetails detail = new HouseDetails();
                                            detail              = Mapper.Map <House, HouseDetails>(eHouse);
                                            detail.FloorNo      = i;
                                            detail.NominalFloor = i.ToString();
                                            detail.UnitNo       = unitNo;
                                            detail.RoomNo       = houseNo;
                                            detail.CreateTime   = nowTime;
                                            detail.Creator      = userName;
                                            if (detail.PurposeCode.HasValue && cs.Contains(detail.PurposeCode.Value))
                                            {
                                                detail.HouseName = unitNo + houseNo;
                                            }
                                            else
                                            {
                                                if (i < 0)
                                                {
                                                    detail.HouseName = "-" + unitNo + -i + houseNo;
                                                }
                                                else
                                                {
                                                    detail.HouseName = unitNo + i + houseNo;
                                                }
                                            }

                                            if (i != 0)
                                            {
                                                if (eHouse.HouseDetails == null)
                                                {
                                                    eHouse.HouseDetails = new List <HouseDetails>();
                                                }
                                                var hd = eHouse.HouseDetails.Where(m => m.HouseId == detail.HouseId && m.RoomNo == houseNo && m.UnitNo == detail.UnitNo && m.FloorNo == detail.FloorNo).FirstOrDefault();
                                                if (hd == null)
                                                {
                                                    eHouse.HouseDetails.Add(detail);
                                                }
                                                else
                                                {
                                                    hd.FloorNo       = detail.FloorNo;
                                                    hd.FrontCode     = detail.FrontCode;
                                                    hd.HouseName     = detail.HouseName;
                                                    hd.HouseTypeCode = detail.HouseTypeCode;
                                                    hd.NoiseCode     = detail.NoiseCode;
                                                    hd.NominalFloor  = detail.NominalFloor;
                                                    hd.PurposeCode   = detail.PurposeCode;
                                                    hd.Remark        = detail.Remark;
                                                    hd.SightCode     = detail.SightCode;
                                                    hd.StructureCode = detail.StructureCode;
                                                    hd.UnitNo        = detail.UnitNo;
                                                    hd.VDCode        = detail.VDCode;
                                                    hd.SaveUser      = userName;
                                                    hd.SaveDateTime  = nowTime;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        #endregion
                    }

                    swbs.Stop();
                    log.Info("循环一个楼栋需要" + swbs.Elapsed.TotalMilliseconds + "ms.");
                }
            }
            #endregion
            //更新任务
            allotFlow.StateCode = SYSCodeManager.STATECODE_4;
            allotFlow.StateDate = nowTime;
            allotFlow.X         = projectDto.X;
            allotFlow.Y         = projectDto.Y;

            returnAllotId   = allotFlow.Id;
            returnProjectId = allotFlow.Project.ProjectId;

            sw.Stop();
            TimeSpan ts2 = sw.Elapsed;
            if (projectDto.BuildingDtolist != null)
            {
                log.Info("楼栋:" + projectDto.BuildingDtolist.Count + "条.");
                log.Info("单元室号:" + housecount + "条.");
                log.Info("房号:" + housedetailcount + "条.");
            }
            log.Info("循环操作总共花费" + ts2.TotalMilliseconds + "ms.");
            Stopwatch sw2 = new Stopwatch();
            sw2.Start();
            int      r   = _unitOfWork.Commit();
            TimeSpan ts3 = sw2.Elapsed;
            log.Info("执行数据库操作总共花费" + ts3.TotalMilliseconds + "ms.");

            return(r);
        }