public string Add(FullHouse house) { ISqlMapper mapper = MapperHelper.GetMapper(); House_OtherFeeDao hofdao = new House_OtherFeeDao(mapper); RentFeeDao rfdao = new RentFeeDao(mapper); House_CustomerDao hcdao = new House_CustomerDao(mapper); RentFee rf = null; house.RentFee.HouseOrRoomID = house.House.ID; if (!string.IsNullOrEmpty(house.RentFee.ID)) rf = rfdao.Query(new RentFeeQueryForm { HouseOrRoomID = house.House.ID, Enabled = 1, IsDeleted = 0 }).FirstOrDefault(); string id = house.RentFee.ID; if (rf != null) rfdao.Update(new RentFeeUpdateForm { Entity = new RentFee { Enabled = 0 }, RentFeeQueryForm = new RentFeeQueryForm { ID = rf.ID } }); id = rfdao.Add(house.RentFee); if (house.OtherFees != null) { foreach (var of in house.OtherFees) { hofdao.Add(new House_OtherFee { HouseOrRoomID = house.House.ID, OtherFeeID = of.ID, Type = (int)HouseOrRoomType.House }); } } if (house.Renter != null) hcdao.Add(new House_Customer { HouseOrRoomID = house.House.ID, CustomerID = house.Renter.ID, Type = (int)CustomerType.租客 }); return id; }
public List<FullHouse> Query(QueryHouseServiceForm form) { //form.OwnerID = ""; List<FullHouse> list = new List<FullHouse>(); ISqlMapper mapper = MapperHelper.GetMapper(); HouseDao dao = new HouseDao(mapper); House_CustomerDao hcdao = new House_CustomerDao(mapper); CustomerDao customerdao = new CustomerDao(mapper); BuildingDao buildingdao = new BuildingDao(mapper); var house = dao.QueryFullHouse(form); var houseids = (from h in house select h.ID).ToList(); var hos = hcdao.Query(new House_CustomerQueryForm { HouseOrRoomIDs = houseids }); var customerids = (from ho in hos select ho.CustomerID).Distinct().ToList(); var customers = customerdao.Query(new CustomerQueryForm { IDs = customerids, Enabled = 1, IsDeleted = 0 }); var buildingids = (from h in house select h.BuildingID).Distinct().ToList(); var buidlings = buildingdao.Query(new BuildingQueryForm { IDs = buildingids }); foreach (var h in house) { FullHouse fh = new FullHouse { House = h, Customer = (from ho in hos join c in customers on ho.CustomerID equals c.ID where ho.HouseOrRoomID.Equals(h.ID) select c).FirstOrDefault(), Building = buidlings.Find(t => t.ID.Equals(h.BuildingID)), }; list.Add(fh); } return list; }
public AddHouseServiceForm AddHouse(FullHouse form) { if (form == null) throw new Exception("form不能为null"); if (form.House == null) throw new Exception("House不能为null"); form.House.Enabled = 1; form.House.IsDeleted = 0; string userid = userbll.GetCurrentUser().User.ID; form.House.Creator = userid; form.House.OwnerID = ""; string houseid = housebll.Add(form.House); if (form.RentFee != null) { form.RentFee.Enabled = 1; form.RentFee.IsDeleted = 0; form.RentFee.Creator = userid; string rentfeeid = rentfeebll.Add(form.RentFee); } if (form.OtherFees != null) { foreach (var ho in form.OtherFees) { hobll.Add(new House_OtherFee { HouseOrRoomID = houseid, Type = (int)HouseOrRoomType.House, OtherFeeID = ho.ID }); } } if (!string.IsNullOrEmpty(form.Customer?.ID)) hcbll.Add(new House_Customer { HouseOrRoomID = form.House.ID, CustomerID = form.Customer.ID, Type = (int)CustomerType.业主 }); if (form.Followups != null) { foreach (var f in form.Followups) { f.HouseID = form.House.ID; f.Creator = userid; followupbll.Add(f); } } return new AddHouseServiceForm { HouseID = houseid, }; }
public List<FullHouse> QueryFullHouse(QueryHouseServiceForm form) { List<FullHouse> list = new List<FullHouse>(); ISqlMapper mapper = MapperHelper.GetMapper(); HouseDao dao = new HouseDao(mapper); House_CustomerDao hcdao = new House_CustomerDao(mapper); CustomerDao customerdao = new CustomerDao(mapper); BuildingDao buildingdao = new BuildingDao(mapper); RentFeeDao rfdao = new RentFeeDao(mapper); House_OtherFeeDao hofdao = new House_OtherFeeDao(mapper); OtherFeeDao ofdao = new OtherFeeDao(mapper); var house = dao.QueryFullHouse(form); var houseids = (from h in house select h.ID).ToList(); var hcs = hcdao.Query(new House_CustomerQueryForm { HouseOrRoomIDs = houseids }); var customerids = (from ho in hcs select ho.CustomerID).Distinct().ToList(); var customers = customerdao.Query(new CustomerQueryForm { IDs = customerids, Enabled = 1, IsDeleted = 0, }); var buildingids = (from h in house select h.BuildingID).Distinct().ToList(); var buidlings = buildingdao.Query(new BuildingQueryForm { IDs = buildingids }); var rentfees = rfdao.Query(new RentFeeQueryForm { HouseOrRoomIDs = houseids, Enabled = 1, IsDeleted = 0 }); var rentfeeids = (from rf in rentfees select rf.ID).ToList(); var hos = hofdao.Query(new House_OtherFeeQueryForm { HouseOrRoomIDs = houseids }); var otherfeeids = (from ho in hos select ho.OtherFeeID).Distinct().ToList(); var ofs = ofdao.Query(new OtherFeeQueryForm { IDs = otherfeeids }); foreach (var h in house) { FullHouse fh = new FullHouse { House = h, Customer = (from ho in hcs join c in customers on ho.CustomerID equals c.ID where ho.HouseOrRoomID.Equals(h.ID) && c.Type == (int)CustomerType.业主 select c).FirstOrDefault(), Building = buidlings.Find(t => t.ID.Equals(h.BuildingID)), RentFee = rentfees.Find(t => t.HouseOrRoomID.Equals(h.ID)), OtherFees = (from ho in hos join of in ofs on ho.OtherFeeID equals of.ID where ho.HouseOrRoomID.Equals(h.ID) select of).ToList(), Renter = (from ho in hcs join c in customers on ho.CustomerID equals c.ID where ho.HouseOrRoomID.Equals(h.ID) && c.Type == (int)CustomerType.租客 select c).FirstOrDefault(), }; list.Add(fh); } return list; }
public bool UpdateHouse(FullHouse form) { if (form == null || form.House == null || string.IsNullOrEmpty(form.House.ID)) throw new Exception("form或者ID不能为空"); string userid = userbll.GetCurrentUser().User.ID; form.House.LastUpdator = userid; housebll.Update(form.House); //if (form.RentFee != null) rentfeebll.Update(form.RentFee); hobll.Delete(new House_OtherFeeQueryForm { HouseOrRoomID = form.House.ID }); if (form.OtherFees != null) { foreach (var ho in form.OtherFees) { hobll.Add(new House_OtherFee { HouseOrRoomID = form.House.ID, Type = (int)HouseOrRoomType.House, OtherFeeID = ho.ID }); } } hcbll.Delete(new House_CustomerQueryForm { HouseOrRoomID = form.House.ID, Type = (int)CustomerType.业主 }); if (!string.IsNullOrEmpty(form.Customer?.ID)) hcbll.Add(new House_Customer { HouseOrRoomID = form.House.ID, CustomerID = form.Customer.ID, Type = (int)CustomerType.业主 }); followupbll.Delete(new FollowupQueryForm { HouseID = form.House.ID }); if (form.Followups != null) { foreach (var f in form.Followups) { f.HouseID = form.House.ID; f.LastUpdator = userid; f.Creator = userid; followupbll.Add(f); } } return true; }
public string Update(FullHouse form) { if (form == null) throw new Exception("form不能为null"); if (form.RentFee == null) throw new Exception("RentFee不能为null"); return bll.Update(form); }
public List<FullHouse> QueryFullHouse(QueryHouseServiceForm form) { List<FullHouse> list = new List<FullHouse>(); ISqlMapper mapper = MapperHelper.GetMapper(); UserBLL userbll = new UserBLL(); HouseDao dao = new HouseDao(mapper); House_CustomerDao hcdao = new House_CustomerDao(mapper); CustomerDao customerdao = new CustomerDao(mapper); BuildingDao buildingdao = new BuildingDao(mapper); FollowupDao followupdao = new FollowupDao(mapper); form.IsDeleted = 0; var house = dao.QueryFullHouse(form); var houseids = (from h in house select h.ID).ToList(); var hos = hcdao.Query(new House_CustomerQueryForm { HouseOrRoomIDs = houseids }); var customerids = (from ho in hos select ho.CustomerID).Distinct().ToList(); var customers = customerdao.Query(new CustomerQueryForm { IDs = customerids, Enabled = 1, IsDeleted = 0 }); var buildingids = (from h in house select h.BuildingID).Distinct().ToList(); var buidlings = buildingdao.Query(new BuildingQueryForm { IDs = buildingids }); //var ownerids = (from h in house where !string.IsNullOrEmpty(h.OwnerID.Trim()) select h.OwnerID).Distinct().ToList(); var users = userbll.Query(new FullUserQueryForm { Enabled = 1, IsDeleted = 0 }); var followups = followupdao.Query(new FollowupQueryForm { HouseIDs = houseids }); var fullfollowup = (from f in followups join u in users on f.Creator equals u.ID select new FullFollowup { ID = f.ID, Creator = f.Creator, CreateTime = f.CreateTime, HouseID = f.HouseID, Name = f.Name, CreatorName = u.CnName, Remark = f.Remark }).ToList(); //var rentfee = rentfeebll.Query(new RentFeeQueryForm { HouseOrRoomIDs = houseids, Type = (int)HouseOrRoomType.House, Enabled = 1, IsDeleted = 0 }); //var house_otherfee = hobll.Query(new House_OtherFeeQueryForm { HouseOrRoomIDs = houseids, Type = (int)HouseOrRoomType.House }); //var otherfee = ofbll.Query(new OtherFeeQueryForm { Enabled = 1, IsDeleted = 0 }); foreach (var h in house) { FullHouse fh = new FullHouse { House = h, //RentFee = rentfee.Find(t => t.HouseOrRoomID.Equals(h.ID)), //OtherFees = (from ho in house_otherfeeu //join of in otherfee on ho.OtherFeeID equals of.ID //where ho.HouseOrRoomID.Equals(h.ID) //select of).ToList(), Customer = (from ho in hos join c in customers on ho.CustomerID equals c.ID where ho.HouseOrRoomID.Equals(h.ID) select c).FirstOrDefault(), Building = buidlings.Find(t => t.ID.Equals(h.BuildingID)), Owner = users.Find(t => t.ID.Equals(h.OwnerID)), Followups = fullfollowup.FindAll(t => t.HouseID.Equals(h.ID)), }; //rentfee.Remove(fh.RentFee); //house_otherfee.RemoveAll(t => t.HouseOrRoomID.Equals(fh.House.ID)); list.Add(fh); } return list; }