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; } }
//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; } }
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)); } }
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)); } }
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"); } }
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; } }
//转换值 删除 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); } }
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; } }
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); }
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); } }
//转换值 新增、修改 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); } }
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)); }
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)); }
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); }