示例#1
0
 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;
 }
示例#2
0
        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;
        }
示例#3
0
 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, };
 }
示例#4
0
        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;
        }
示例#5
0
 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;
 }
示例#6
0
 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);
 }
示例#7
0
        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;
        }