public ActionResult GetFullData(long[] RoomIds)
        {
            var hotelId = UserContext.CurrentUser.HotelId;

            if (RoomIds.Length > 0)
            {
                return(GetFullData2(RoomIds));
            }
            var rooms = new List <object>();

            foreach (var RoomId in RoomIds)
            {
                var item = RoomBll.GetById(RoomId);
                if (item.RoomRegId != 0)
                {
                    item.RoomReg = RoomRegBll.GetById(item.RoomRegId);
                }

                LoadRoomInfo(item);

                // var sroom = RoomToSRoom(item);
                rooms.Add(RoomToSRoom(item));
            }

            return(Content(JsonConvert.SerializeObject(new { Rooms = rooms })));
        }
        /// <summary>
        /// 房间留言
        /// </summary>
        /// <param name="roomId"></param>
        /// <returns></returns>
        public ActionResult _SelMessage(long roomId)
        {
            var hotelId = UserContext.CurrentUser.HotelId;

            ViewBag.HotelId = hotelId;
            ViewBag.RoomId  = roomId;
            var room = RoomBll.GetById(roomId);

            if (room != null)
            {
                var msg = RoomBll.GetMessage(roomId);
                if (msg == null)
                {
                    msg = new RoomMessage();
                }
                ViewBag.Message   = msg;
                ViewBag.RoomRegId = room.RoomRegId;
                ViewBag.Room      = room;
                ViewBag.RoomReg   = RoomRegBll.GetById(room.RoomRegId);
            }
            else
            {
                ViewBag.Message   = new RoomMessage();
                ViewBag.Room      = new Hotel.Model.Room();
                ViewBag.RoomRegId = 0;
                ViewBag.RoomReg   = new Hotel.Model.RoomReg();
            }

            return(View());
        }
        public ActionResult GetRoomShowData(long roomId)
        {
            var apiResult = new APIResult();
            var hotelId   = UserContext.CurrentUser.HotelId;

            try
            {
                var item = RoomBll.GetById(roomId);
                if (item.RoomRegId != 0)
                {
                    item.RoomReg = RoomRegBll.GetById(item.RoomRegId);
                }

                LoadRoomInfo(item);

                return(Json(RoomToSRoom(item)));
            }
            catch (Exception ex)
            {
                apiResult.Ret = -1;
                apiResult.Msg = ex.Message;
                if (!(ex is OperationExceptionFacade))
                {
                    LogFactory.GetLogger().Log(LogLevel.Error, ex);
                }
            }

            return(Json(apiResult));
        }
        public ActionResult ChangeRoom(long roomId, long roomRegId = 0)
        {
            var hotelId = UserContext.CurrentUser.HotelId;

            if (roomRegId != 0)
            {
                ViewBag.RoomRegId = roomRegId;
                var rg = RoomRegBll.GetById(roomRegId);

                ViewBag.RoomId = rg.RoomId;
            }
            else
            {
                ViewBag.RoomId = roomId;

                var model = RoomBll.GetById(roomId);
                if (model == null)
                {
                    model = new Room();
                }
                ViewBag.RoomRegId = model.RoomRegId;
            }

            return(View(UserContext.CurrentUser));
        }
        /// <summary>
        /// 选择特邀说明
        /// </summary>
        /// <param name="roomId"></param>
        /// <returns></returns>
        public ActionResult _SelTysm(long roomRegId)
        {
            var tysmList = new List <Tysm>();

            tysmList = TysmBll.GetList(UserContext.CurrentUser.HotelId);
            if (tysmList == null)
            {
                tysmList = new List <Tysm>();
            }
            if (tysmList.Count > 0)
            {
                var roomReg = RoomRegBll.GetById(roomRegId);
                if (roomReg != null)
                {
                    string tysmids = roomReg.TysmIds;
                    if (!string.IsNullOrWhiteSpace(tysmids))
                    {
                        var tysmidArr = tysmids.Replace(',', ',').Split(',');
                        foreach (var tysmid in tysmidArr)
                        {
                            tysmList.ForEach(m =>
                            {
                                if (m.Id.ToString() == tysmid)
                                {
                                    m.IsCheck = true;
                                }
                            });
                        }
                    }
                }
            }
            return(View(tysmList));
        }
예제 #6
0
        public ActionResult Input(long roomRegId)
        {
            ViewBag.HotelId   = UserContext.CurrentUser.HotelId;
            ViewBag.RoomRegId = roomRegId;

            ViewBag.Room = RoomRegBll.GetById(roomRegId);


            return(View());
        }
        // GET: RoomRegJfyh
        public ActionResult Index(long roomRegId, long itemId = 0)
        {
            //获取前台优惠限额
            var hotelId = UserContext.CurrentUser.HotelId;
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                return(Content("房间登记数据不存在"));
            }
            if (roomReg.CustomerType != 3)
            {
                return(Content("登记客人非会员,不可操作"));
            }
            if (string.IsNullOrWhiteSpace(roomReg.MemCompId))
            {
                return(Content("房间登记未选择会员"));
            }
            var member = MemberBll.GetById(long.Parse(roomReg.MemCompId));

            if (member == null)
            {
                return(Content("会员不存在"));
            }
            var memType = MemberTypeBll.GetById(member.MemberTypeId);

            if (memType == null)
            {
                memType = new MemberType();
            }
            ViewBag.MemberType = memType;
            if (itemId == 0)
            {
                //新增
                return(View(new RoomRegJfyh()
                {
                    HotelId = hotelId,
                    Name = member.Name,
                    Sex = member.Sex,
                    Birth = member.Birth.ToString("yyyy-MM-dd"),
                    RoomRegId = roomRegId,
                    KyExp = (int)member.Exp
                }));
            }
            else
            {
                //修改
                var model = RoomRegJfyhBll.GetById(itemId);
                if (model == null)
                {
                    model = new RoomRegJfyh();
                }
                return(View(model));
            }
        }
        public string GetYjSet(long roomRegId)
        {
            var hotelId = UserContext.CurrentUser.HotelId;
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                return(JsonConvert.SerializeObject(new { code = -1, msg = "房间未登记,不可操作" }));
            }
            var model = RoomRegYjBll.GetBy(roomReg.Id);

            return(JsonConvert.SerializeObject(new { code = 0, data = model }));
        }
        public RoomRegZzwHelp getthis(long roomRegId)
        {
            var     lflist = new List <Model.RoomReg>();
            var     treeList = RoomRegBll.GetLfTree(roomRegId, UserContext.CurrentUser.HotelId, ref lflist);
            var     roomReg = new Model.RoomReg();
            decimal yszk = 0, yuszk = 0, yjs = 0, zfy = 0, zstk = 0, jy = 0, bfsk = 0;

            if (treeList.Count > 0)
            {
                //roomRegId = long.Parse(treeList[0].id);
                //获取房间的登记信息
                roomReg = RoomRegBll.GetById(roomRegId);
                if (roomReg != null)
                {
                    yszk  += roomReg.Yszk;
                    yuszk += roomReg.Yuszk;
                    yjs   += roomReg.Yjs;
                    zfy   += roomReg.Money;
                    zstk  += roomReg.Zstk;
                    jy    += roomReg.Jy;
                    bfsk  += roomReg.YeBfSkMoney + roomReg.FyeBfSkMoney;
                }
                ViewBag.RoomReg = roomReg;
                //获取所有联房的房间的财务汇总
                for (var i = 1; i < treeList.Count; i++)
                {
                    var item = RoomRegBll.GetById(long.Parse(treeList[i].id));
                    if (item != null)
                    {
                        yszk  += item.Yszk;
                        yuszk += item.Yuszk;
                        yjs   += item.Yjs;
                        zfy   += item.Money;
                        zstk  += item.Zstk;
                        jy    += item.Jy;
                        bfsk  += item.YeBfSkMoney + item.FyeBfSkMoney;
                    }
                }
            }

            RoomRegZzwHelp rrom = new RoomRegZzwHelp()
            {
                yszk = yszk, yuszk = yuszk, yjs = yjs, zfy = zfy, zstk = zstk, jy = jy, bfsk = bfsk
            };


            return(rrom);
        }
예제 #10
0
        // GET: Invoice
        public ActionResult Index(long roomRegId)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                roomReg = new Model.RoomReg();
            }
            var model = new Invoice()
            {
                Id = 0, RoomRegId = roomReg.Id, DjdanNum = roomReg.DanJuNum, RoomNO = roomReg.RoomNO
            };

            ViewBag.RoomReg = roomReg;
            return(View(model));
        }
예제 #11
0
        public ActionResult IndexYd(long roomRegId)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                roomReg = new Model.RoomReg()
                {
                    Id = roomRegId
                }
            }
            ;
            ViewBag.RoomReg = roomReg;
            ViewBag.HotelId = UserContext.CurrentUser.HotelId;
            return(View());
        }
예제 #12
0
        // GET: XfCommission
        public ActionResult Index(long roomRegId)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                roomReg = new Model.RoomReg();
            }
            var model = new XfCommission()
            {
                Id = 0, RoomRegId = roomReg.Id, DjdanNum = roomReg.DanJuNum, RoomNO = roomReg.RoomNO
            };

            ViewBag.RoomRegId = roomRegId;
            ViewBag.HotelId   = UserContext.CurrentUser.HotelId;;
            return(View(model));
        }
        // GET: RoomRegGoods

        /// <summary>
        /// 商品费用只做新增
        /// </summary>
        /// <param name="roomRegId"></param>
        /// <returns></returns>
        public ActionResult Index(long roomRegId, long itemId = 0)
        {
            if (itemId == 0)
            {
                var roomReg = RoomRegBll.GetById(roomRegId);
                if (roomReg == null)
                {
                    roomReg = new Model.RoomReg();
                }
                var model = new RoomRegGoods()
                {
                    Id        = 0,
                    RoomRegId = roomRegId,
                    RoomNO    = roomReg.RoomNO,
                    Name      = roomReg.Name,
                    Sex       = roomReg.Sex
                };
                ////绑定商品分类表格
                var details = RoomRegGoodsDetailsBll.GetDetails(UserContext.CurrentUser.HotelId);
                //绑定商品列表
                //再生 保命 舍生 灵敏 + 铁壁 反震
                //ViewBag.Details = new List<RoomRegGoodsDetails>();
                ViewBag.Details = details;
                return(View(model));
            }

            else
            {
                var detail = RoomRegGoodsDetailsBll.SingleOrDefault(itemId);
                //获取主表数据
                var model = new RoomRegGoods();
                if (detail != null)
                {
                    model = RoomRegGoodsBll.SingleOrDefault(detail.ZbId);
                }
                if (model == null)
                {
                    model = new RoomRegGoods();
                }
                //绑定商品分类表格
                var details = RoomRegGoodsDetailsBll.GetDetails(UserContext.CurrentUser.HotelId, model.Id);
                ViewBag.Details = details;
                return(View(model));
            }
        }
예제 #14
0
        public ActionResult Index2(long roomRegId = 0)
        {
            var RoomNO = "";

            if (roomRegId != 0)
            {
                var room = RoomRegBll.GetById(roomRegId);
                RoomNO = room.RoomNO;
            }

            var model = new RoomRegQtfy()
            {
                RoomRegId = roomRegId,
                RoomNO    = RoomNO,
                FsTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm")
            };

            return(View(model));
        }
        public string BatchRoomList(int page, int rows, long buildId, long floorId, string roomNO, string changeType)
        {
            var models = RoomBll.GetPager(page, rows, UserContext.CurrentUser.HotelId, buildId, floorId, roomNO, changeType);



            foreach (var item in models.rows)
            {
                if (item.RoomRegId != 0)
                {
                    item.RoomReg = RoomRegBll.GetById(item.RoomRegId);
                }


                LoadRoomInfo2(item);
            }

            return(JsonConvert.SerializeObject(models));
        }
예제 #16
0
        /// <summary>
        /// 续住时获取预离时间
        /// </summary>
        /// <returns></returns>
        public string GetYlTimeForXz(long roomRegId, int xzDays)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "房间登记数据不存在" }));
            }
            if (roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.全天房 && roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.长包房 &&
                roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.免费房)
            {
                return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "只有【全天房、长包房、免费房】才可续住" }));
            }
            var globalFeeSet = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId);
            var now          = TypeConvert.IntToDateTime(roomReg.RegTime);

            if (globalFeeSet == null)
            {
                return(JsonConvert.SerializeObject(new { Ret = 0, YlTime = "" }));
            }
            var yltime = now;

            //如果是6点,那么当天6点之后开的房间就是第二天中午退房,0点到6点开房就是当天中午退房
            if (now.Hour >= 0 && now.Hour <= globalFeeSet.QTAfterPointToNextDay)
            {
                //当天中午退房
                yltime = now.Date.AddDays(xzDays - 1).AddHours(globalFeeSet.QTExitPoint);
            }
            else
            {
                //第二天中午退房
                yltime = now.Date.AddDays(1 + (xzDays - 1)).AddHours(globalFeeSet.QTExitPoint);
            }

            var yulidate = TypeConvert.IntToDateTime(roomReg.LeaveTime);

            yltime = yulidate.Date.AddDays(xzDays).AddHours(globalFeeSet.QTExitPoint);

            return(JsonConvert.SerializeObject(new { Ret = 0, YlTime = yltime.ToString("yyyy-MM-dd HH:mm:ss") }));
        }
예제 #17
0
        public ActionResult InputBody(long posId, long roomRegId)
        {
            ViewBag.HotelId   = UserContext.CurrentUser.HotelId;
            ViewBag.RoomRegId = roomRegId;
            ViewBag.PosId     = posId;

            ViewBag.HotelId = UserContext.CurrentUser.HotelId;
            var types = PosCatBll.GetListByPos(posId);

            ViewBag.Types          = types;
            ViewBag.Room           = RoomRegBll.GetById(roomRegId);
            ViewBag.CurrentOrderNo = PosConsumeBll.GetNewOrderNo(posId);
            var o = PosConsumeBll.GetById(posId);

            return(View(new PosConsume()
            {
                OrderNo = PosConsumeBll.GetNewOrderNo(posId),
                OpUserName = UserContext.CurrentUser.UserName,
                RoomRegId = roomRegId,
                PosId = posId
            }));
        }
예제 #18
0
        public string GetRuzhuDaysForXz(long roomRegId, string leaveTime)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "房间登记数据不存在" }));
            }
            if (roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.全天房 && roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.长包房 &&
                roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.免费房)
            {
                return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "只有【全天房、长包房、免费房】才可续住" }));
            }
            var globalFeeSet = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId);

            if (globalFeeSet == null)
            {
                return(JsonConvert.SerializeObject(new { Ret = 0, YlTime = "" }));
            }

            var days = (DateTime.Parse(leaveTime).Date - TypeConvert.IntToDateTime(roomReg.LeaveTime).Date).TotalDays;

            return(JsonConvert.SerializeObject(new { Ret = 0, RuzhuDays = Convert.ToInt32(days) }));
        }
예제 #19
0
        /// <summary>
        /// 预订转入住界面的刷新--自动分房和取消分房后的刷新
        /// </summary>
        /// <param name="ydid"></param>
        /// <returns></returns>
        public string YdzrzRefresh(long ydid)
        {
            var info = RoomYdBll.GetById(ydid);

            Model.RoomReg zfRoomReg = null;
            if (info.ZfRoomRegId > 0)
            {
                zfRoomReg = RoomRegBll.GetById(info.ZfRoomRegId);
            }
            var hotelId = UserContext.CurrentUser.HotelId;
            //获取房型
            var roomTypeList = RoomTypeBll.GetList(hotelId);

            if (roomTypeList == null)
            {
                roomTypeList = new List <RoomType>();
            }
            var ydRoomTypeList = new List <RoomType>();
            //获取所有预订的房间
            var roomYdRoomList = RoomYdRoomBll.GetLIst(ydid);

            if (roomYdRoomList != null && roomYdRoomList.Count > 0)
            {
                //循环获取房间
                foreach (var roomtype in roomTypeList)
                {
                    var roomList = roomYdRoomList.Where(m => m.RoomTypeId == roomtype.Id);
                    if (roomList != null && roomList.Count() > 0)
                    {
                        roomtype.YdRoomList = new List <RoomYdRoom>();
                        foreach (var room in roomList)
                        {
                            room.Name = info.Name;
                            room.IsZf = zfRoomReg == null ? false : (room.RoomRegId == zfRoomReg.Id ? true : false);
                            //room.IsZf = room.RoomRegId == zfRoomReg.Id ? true : false;
                            room.YdaoTime = info.YdaoTime;
                            room.YliTime  = info.YliTime;
                            roomtype.YdRoomList.Add(room);
                        }
                        roomtype.RoomCount = roomList.ElementAt(0).RoomCount;
                        //if (roomtype.RoomCount > roomtype.YdRoomList.Count)
                        //{
                        //    for (var p = roomtype.YdRoomList.Count; p < roomtype.RoomCount; p++)
                        //    {
                        //        roomtype.YdRoomList.Add(new RoomYdRoom()
                        //        {
                        //            Id = 0,
                        //            Name = info.Name,
                        //            RoomTypeId = roomtype.Id,
                        //            RoomTypeName = roomtype.Name,
                        //            RoomId = 0,
                        //            RoomNO = "",
                        //            IsZf = false,
                        //            Price = roomtype.YdRoomList.Count > 0 ? roomtype.YdRoomList[0].Price : roomtype.Price,
                        //            Sale = roomtype.YdRoomList.Count > 0 ? roomtype.YdRoomList[0].Sale : 1,
                        //            SalePrice = roomtype.YdRoomList.Count > 0 ? roomtype.YdRoomList[0].SalePrice : roomtype.Price,
                        //            YdaoTime = info.YdaoTime,
                        //            YliTime = info.YliTime,
                        //        });
                        //    }
                        //}
                    }
                    else
                    {
                        continue;
                        //roomtype.YdRoomList = new List<RoomYdRoom>();
                        //roomtype.RoomCount = 0;
                    }
                    ydRoomTypeList.Add(roomtype);
                }
            }
            return(JsonConvert.SerializeObject(ydRoomTypeList));
        }
        // GET: RoomRegZw
        public ActionResult Index(long roomRegId)
        {
            var lflist = new List <Model.RoomReg>();

            var user     = UserContext.CurrentUser;
            var treeList = RoomRegBll.GetLfTree(roomRegId, UserContext.CurrentUser.HotelId, ref lflist);
            //RoomRegBll.AutoQtfy(lflist, user.Id, user.Name, user.HotelId);
            var     roomReg = new Model.RoomReg();
            decimal yszk = 0, yuszk = 0, yjs = 0, zfy = 0, zstk = 0, jy = 0, bfsk = 0;

            if (treeList.Count > 0)
            {
                //roomRegId = long.Parse(treeList[0].id);
                //获取房间的登记信息
                roomReg = RoomRegBll.GetById(roomRegId);
                if (roomReg != null)
                {
                    yszk  += roomReg.Yszk;
                    yuszk += roomReg.Yuszk;
                    yjs   += roomReg.Yjs;
                    zfy   += roomReg.Money;
                    zstk  += roomReg.Zstk;
                    jy    += roomReg.Jy;
                    bfsk  += roomReg.YeBfSkMoney + roomReg.FyeBfSkMoney;
                }
                ViewBag.RoomReg = roomReg;
                //获取所有联房的房间的财务汇总
                for (var i = 1; i < treeList.Count; i++)
                {
                    var item = RoomRegBll.GetById(long.Parse(treeList[i].id));
                    if (item != null)
                    {
                        yszk  += item.Yszk;
                        yuszk += item.Yuszk;
                        yjs   += item.Yjs;
                        zfy   += item.Money;
                        zstk  += item.Zstk;
                        jy    += item.Jy;
                        bfsk  += item.YeBfSkMoney + item.FyeBfSkMoney;
                    }
                }
            }
            //在treelist上面加一个全部
            //var root = new RoomRegTree()
            //{
            //    id = "0",
            //    @checked = false,
            //    children = treeList,
            //    text = "全部"
            //};
            //ViewBag.TreeList = new List<RoomRegTree>() { root };
            ViewBag.TreeList = treeList;
            ViewBag.Zzw      = new RoomRegZzwHelp()
            {
                yszk = yszk, yuszk = yuszk, yjs = yjs, zfy = zfy, zstk = zstk, jy = jy, bfsk = bfsk
            };
            //获取未结账房间数,为了结账时方式的判断
            //lflist = lflist.Where(m => m.CwState != 3 && m.CwState != 4 && m.CwState != 2).ToList();
            lflist = lflist.Where(m => m.CwState == 1).ToList();
            ViewBag.WjsRoomCount = lflist.Count;
            return(View(roomReg));
        }
        /// <summary>
        /// 部分结账页面--与结账页面大体相同
        /// </summary>
        /// <param name="roomRegId"></param>
        /// <param name="models"></param>
        /// <returns></returns>
        public ActionResult _Bfjz(long roomRegId)
        {
            var user    = UserContext.CurrentUser;
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                roomReg = new Model.RoomReg()
                {
                    Id = roomRegId, HotelId = user.HotelId
                }
            }
            ;
            if (roomReg.CustomerType == 2)
            {
                //如果是连房成员,则需要获取主房登记id
                var zf = RoomRegBll.GetById(roomReg.ZfDjId);
                if (zf.CustomerType == 3)
                {
                    //主房如果是酒店会员
                    var member = MemberBll.GetById(long.Parse(zf.MemCompId));
                    if (member == null)
                    {
                        member = new Member();
                    }
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 3, Data = JsonConvert.SerializeObject(member)
                    };
                }
                else if (zf.CustomerType == 4)
                {
                    //主房如果是协议单位
                    var comAgree = AgreeCompanyBll.GetById(zf.MemCompId);
                    if (comAgree == null)
                    {
                        comAgree = new AgreeCompany();
                    }
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 4, Data = JsonConvert.SerializeObject(comAgree)
                    };
                }
                else
                {
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 1
                    };
                }
            }
            else if (roomReg.CustomerType == 3)
            {
                //如果是酒店会员
                var member = MemberBll.GetById(long.Parse(roomReg.MemCompId));
                if (member == null)
                {
                    member = new Member();
                }
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 3, Data = JsonConvert.SerializeObject(member)
                };
            }
            else if (roomReg.CustomerType == 4)
            {
                //如果是协议单位
                var comAgree = AgreeCompanyBll.GetById(roomReg.MemCompId);
                if (comAgree == null)
                {
                    comAgree = new AgreeCompany();
                }
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 4, Data = JsonConvert.SerializeObject(comAgree)
                };
            }
            else
            {
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 1
                };
            }
            //获取支付方式列表
            var payTypeList = PayTypeBll.GetList(user.HotelId, true, true);

            if (payTypeList == null)
            {
                payTypeList = new List <PayType>();
            }
            var payList = new List <RoomRegZwPaytypeHelp>();

            foreach (var item in payTypeList)
            {
                payList.Add(new RoomRegZwPaytypeHelp()
                {
                    Id      = item.Id.ToString(),
                    PayId   = item.Id.ToString(),
                    PayName = item.Name,
                    Money   = 0,
                });
            }
            ViewBag.PayList = payList;
            //获取卡类型
            var cardTypeList = CardTypeBll.GetList(UserContext.CurrentUser.HotelId);

            ViewBag.CardTypeList = cardTypeList;
            return(View(roomReg));
        }
        /// <summary>
        /// 结账页面
        /// </summary>
        /// <param name="roomRegId"></param>
        /// <param name="models"></param>
        /// <returns></returns>
        public ActionResult _Jz(long roomRegId, int jstype)
        {
            var user    = UserContext.CurrentUser;
            var roomReg = RoomRegBll.GetById(roomRegId);

            if (roomReg == null)
            {
                roomReg = new Model.RoomReg()
                {
                    Id = roomRegId, HotelId = user.HotelId
                }
            }
            ;
            if (roomReg.CustomerType == 2)
            {
                //如果是连房成员,则需要获取主房登记id
                var zf = RoomRegBll.GetById(roomReg.ZfDjId);
                if (zf.CustomerType == 3)
                {
                    //主房如果是酒店会员
                    var member = MemberBll.GetById(long.Parse(zf.MemCompId));
                    if (member == null)
                    {
                        member = new Member();
                    }
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 3, Data = JsonConvert.SerializeObject(member)
                    };
                }
                else if (zf.CustomerType == 4)
                {
                    //主房如果是协议单位
                    var comAgree = AgreeCompanyBll.GetById(zf.MemCompId);
                    if (comAgree == null)
                    {
                        comAgree = new AgreeCompany();
                    }
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 4, Data = JsonConvert.SerializeObject(comAgree)
                    };
                }
                else
                {
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 1
                    };
                }
            }
            else if (roomReg.CustomerType == 3)
            {
                //如果是酒店会员
                var member = MemberBll.GetById(long.Parse(roomReg.MemCompId));
                if (member == null)
                {
                    member = new Member();
                }
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 3, Data = JsonConvert.SerializeObject(member)
                };
            }
            else if (roomReg.CustomerType == 4)
            {
                //如果是协议单位
                var comAgree = AgreeCompanyBll.GetById(roomReg.MemCompId);
                if (comAgree == null)
                {
                    comAgree = new AgreeCompany();
                }
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 4, Data = JsonConvert.SerializeObject(comAgree)
                };
            }
            else
            {
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 1
                };
            }
            //获取支付方式列表
            var payTypeList = PayTypeBll.GetList(user.HotelId, true, true);

            if (payTypeList == null)
            {
                payTypeList = new List <PayType>();
            }
            var payList = new List <RoomRegZwPaytypeHelp>();

            foreach (var item in payTypeList)
            {
                payList.Add(new RoomRegZwPaytypeHelp()
                {
                    Id      = item.Id.ToString(),
                    PayId   = item.Id.ToString(),
                    PayName = item.Name,
                    Money   = 0,
                });
            }
            ViewBag.PayList = payList;
            //获取卡类型
            var cardTypeList = CardTypeBll.GetList(UserContext.CurrentUser.HotelId);

            ViewBag.CardTypeList = cardTypeList;
            //获取未结账的联房数据
            //获取未结算明细
            //var wjsmxList = new List<RoomRegZw>();
            if (jstype == (int)JzType.将其他所有联房费用数据转到该房间有该房间结账)
            {
                var lfList = RoomRegBll.Fetch($"where ZfDjId={roomReg.ZfDjId}");
                //lfList = lfList.Where(m => m.CwState != 3 && m.CwState != 4 && m.CwState != 2).ToList();
                lfList = lfList.Where(m => m.CwState == 1).ToList();
                if (lfList == null || lfList.Count == 0)
                {
                    return(Content("无未结算的联房数据"));
                }
                foreach (var lf in lfList)
                {
                    //var wjsmx = RoomRegZwBll.GetFyListForBfjz(lf.Id);
                    //if (wjsmx != null)
                    //    wjsmxList.AddRange(wjsmx);
                    //计算汇总
                    if (lf.Id == roomRegId)
                    {
                        continue;
                    }
                    //roomReg.Yszk += lf.Yszk;
                    roomReg.FfMoney    += lf.FfMoney;
                    roomReg.SpMoney    += lf.SpMoney;
                    roomReg.SwpcMoney  += lf.SwpcMoney;
                    roomReg.QtMoney    += lf.QtMoney;
                    roomReg.HcMoney    += lf.HcMoney;
                    roomReg.YhMoney    += lf.YhMoney;
                    roomReg.ExpYhMoney += lf.ExpYhMoney;

                    roomReg.ZskMoney += lf.ZskMoney;
                    roomReg.ZtkMoney += lf.ZtkMoney;
                }
            }

            //ViewBag.WjsmxList = wjsmxList;
            //获取信用卡预授权
            var xykysqList = RoomRegXykBll.GetYsq(roomRegId);

            if (xykysqList == null || xykysqList.Count == 0)
            {
                xykysqList = new List <RoomRegXyk>();
            }
            ViewBag.Xykysq = xykysqList;
            ViewBag.jstype = jstype;
            return(View(roomReg));
        }
예제 #23
0
        public ActionResult _Jz(long consumeId, int jstype)
        {
            var user    = UserContext.CurrentUser;
            var consume = PosConsumeBll.GetById(consumeId);

            var details_list = PosConsumeDetailBll.GetList(consumeId);

            details_list      = details_list.Where(a => a.ToRoomRegId == 0 && a.SourceRoomRegId == 0).ToList();
            ViewBag.WjsmxList = details_list;

            var roomRegId = consume.RoomRegId;
            var roomReg   = new Model.RoomReg()
            {
                Id = consume.RoomRegId, HotelId = user.HotelId
            };

            if (consume.RoomRegId != 0)
            {
                roomReg = RoomRegBll.GetById(consume.RoomRegId);
                if (roomReg == null)
                {
                    roomReg = new Model.RoomReg()
                    {
                        Id = consume.RoomRegId, HotelId = user.HotelId
                    }
                }
                ;
            }
            if (roomReg.CustomerType == 2)
            {
                //如果是连房成员,则需要获取主房登记id
                var zf = RoomRegBll.GetById(roomReg.ZfDjId);
                if (zf.CustomerType == 3)
                {
                    //主房如果是酒店会员
                    var member = MemberBll.GetById(long.Parse(zf.MemCompId));
                    if (member == null)
                    {
                        member = new Member();
                    }
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 3, Data = JsonConvert.SerializeObject(member)
                    };
                }
                else if (zf.CustomerType == 4)
                {
                    //主房如果是协议单位
                    var comAgree = AgreeCompanyBll.GetById(zf.MemCompId);
                    if (comAgree == null)
                    {
                        comAgree = new AgreeCompany();
                    }
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 4, Data = JsonConvert.SerializeObject(comAgree)
                    };
                }
                else
                {
                    ViewBag.CustomerType = new CustomerTypeHelp {
                        Type = 1
                    };
                }
            }
            else if (roomReg.CustomerType == 3)
            {
                //如果是酒店会员
                var member = MemberBll.GetById(long.Parse(roomReg.MemCompId));
                if (member == null)
                {
                    member = new Member();
                }
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 3, Data = JsonConvert.SerializeObject(member)
                };
            }
            else if (roomReg.CustomerType == 4)
            {
                //如果是协议单位
                var comAgree = AgreeCompanyBll.GetById(roomReg.MemCompId);
                if (comAgree == null)
                {
                    comAgree = new AgreeCompany();
                }
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 4, Data = JsonConvert.SerializeObject(comAgree)
                };
            }
            else
            {
                ViewBag.CustomerType = new CustomerTypeHelp {
                    Type = 1
                };
            }
            //获取支付方式列表
            var payTypeList = PayTypeBll.GetList(user.HotelId, true, true);

            if (payTypeList == null)
            {
                payTypeList = new List <PayType>();
            }
            var payList = new List <RoomRegZwPaytypeHelp>();

            foreach (var item in payTypeList)
            {
                payList.Add(new RoomRegZwPaytypeHelp()
                {
                    Id      = item.Id.ToString(),
                    PayId   = item.Id.ToString(),
                    PayName = item.Name,
                    Money   = 0,
                });
            }
            ViewBag.PayList = payList;
            //获取卡类型
            var cardTypeList = CardTypeBll.GetList(UserContext.CurrentUser.HotelId);

            ViewBag.CardTypeList = cardTypeList;


            //ViewBag.WjsmxList = wjsmxList;
            //获取信用卡预授权
            var xykysqList = RoomRegXykBll.GetYsq(roomRegId);

            if (xykysqList == null || xykysqList.Count == 0)
            {
                xykysqList = new List <RoomRegXyk>();
            }
            ViewBag.Xykysq = xykysqList;
            ViewBag.jstype = jstype;
            return(View(consume));
        }
예제 #24
0
        public string GetJJList(long posId, string isToday, PosConsumeSearchInfo search)
        {
            var user = UserContext.CurrentUser;
            List <PosConsume> data = new List <PosConsume>();

            if (search.hasValue())
            {
                data = PosConsumeBll.GetListByPos(posId, search);
            }
            else if (isToday == "Y")
            {
                data = PosConsumeBll.GetTodayListByPos(posId);
            }
            else
            {
                data = PosConsumeBll.GetListByPos(posId);
            }

            data = data.Where(a => a.PosShiftId == 0 && a.CwState == 1).ToList();

            var payTypeList = PayTypeBll.GetList(user.HotelId, true, true);

            if (payTypeList == null)
            {
                payTypeList = new List <PayType>();
            }
            var outdata = new List <Dictionary <string, object> >();

            foreach (var item in data)
            {
                var outitem = new Dictionary <string, object>();
                outitem["Id"]    = item.Id;
                outitem["PosId"] = item.PosId;
                if (item.RoomRegId != 0)
                {
                    var roomReg = RoomRegBll.GetById(item.RoomRegId);
                    outitem["RoomNo"]          = roomReg.RoomNO;
                    outitem["RoomRegIdStr"]    = item.RoomRegId.ToString();
                    outitem["RoomRegDanJuNum"] = roomReg.DanJuNum;
                }
                else
                {
                }

                var details = PosConsumeDetailBll.GetList(item.Id);
                var sk_list = PosConsumeSkBll.GetList(item.Id);
                var tk_list = PosConsumeTkBll.GetList(item.Id);

                decimal roomAmount = 0;
                if (item.RoomRegId == 0)
                {
                    foreach (var detail in details)
                    {
                        if (!detail.IsFree && detail.ToRoomRegId != 0)
                        {
                            roomAmount += detail.Amount;
                        }
                    }
                    outitem["RoomAmount"] = roomAmount;
                }
                else
                {
                    outitem["RoomAmount"] = item.AmountSum;
                }

                foreach (var o in sk_list)
                {
                    foreach (var payType in payTypeList)
                    {
                        if (o.PayTypeId == payType.Id)
                        {
                            var key = "Amount" + o.PayTypeName;
                            if (!outitem.ContainsKey(key))
                            {
                                outitem[key] = o.Money;
                            }
                            else
                            {
                                outitem[key] = Convert.ToDecimal(outitem[key]) + o.Money;
                            }
                        }
                    }
                }
                outitem["NightDate"] = item.NightDate;
                outitem["OrderNo"]   = item.OrderNo;
                outitem["OrderDate"] = item.OrderDate;
                outitem["OutTime"]   = item.OutTime;
                outitem["Amount"]    = item.Amount;
                outitem["JzskMoney"] = item.JzskMoney;
                outdata.Add(outitem);
            }



            return(Newtonsoft.Json.JsonConvert.SerializeObject(outdata));
        }
예제 #25
0
        /// <summary>
        /// 根据开房方式获取预离时间,同时绑定钟点房方案id或时段房方案id
        /// 20190828同时绑定价格
        /// </summary>
        /// <returns></returns>
        public string GetYlTimeByKffs(long roomRegId, int type, int rzDays, long fnid = 0, long roomId = 0)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);
            var now     = DateTime.Now;

            if (roomReg != null)
            {
                now = TypeConvert.IntToDateTime(roomReg.RegTime);
            }

            var room     = RoomBll.GetById(roomId);
            var roomType = RoomTypeBll.GetById(room.RoomTypeId);

            if (type == (int)KaifangFangshiEnum.全天房 || type == (int)KaifangFangshiEnum.长包房 || type == (int)KaifangFangshiEnum.免费房)
            {
                var globalFeeSet = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId);
                if (globalFeeSet == null)
                {
                    return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = "" }));
                }

                var yltime = now;
                //如果是6点,那么当天6点之后开的房间就是第二天中午退房,0点到6点开房就是当天中午退房
                if (now.Hour >= 0 && now.Hour <= globalFeeSet.QTAfterPointToNextDay)
                {
                    //当天中午退房
                    yltime = now.Date.AddDays(rzDays - 1).AddHours(globalFeeSet.QTExitPoint);
                }
                else
                {
                    //第二天中午退房
                    yltime = now.Date.AddDays(1 + (rzDays - 1)).AddHours(globalFeeSet.QTExitPoint);
                }

                if (type != (int)KaifangFangshiEnum.免费房)
                {
                    return(JsonConvert.SerializeObject(new {
                        Ret = 0,
                        CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"),
                        YlTime = yltime.ToString("yyyy-MM-dd HH:mm:ss"),
                        RoomPrice = roomType.Price
                    }));
                }

                return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = yltime.ToString("yyyy-MM-dd HH:mm:ss") }));
            }
            else if (type == (int)KaifangFangshiEnum.钟点房)
            {
                //钟点房
                var hourRoomList = HourRoomBll.GetList(UserContext.CurrentUser.HotelId);
                if (hourRoomList == null || hourRoomList.Count == 0)
                {
                    return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无钟点房方案" }));
                }
                var hourRoom = hourRoomList[0];//默认选择第一个
                if (fnid != 0 && hourRoomList.Any(a => a.Id == fnid))
                {
                    hourRoom = hourRoomList.FirstOrDefault(a => a.Id == fnid);
                }
                var yltime = now.AddMinutes(hourRoom.Minute).ToString("yyyy-MM-dd HH:mm:ss");


                return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = yltime, Id = hourRoom.Id, RoomPrice = hourRoom.Price }));
            }
            else if (type == (int)KaifangFangshiEnum.时段房)
            {
                //时段房
                var periodRoomList = PeriodRoomBll.GetList(UserContext.CurrentUser.HotelId);
                if (periodRoomList == null || periodRoomList.Count == 0)
                {
                    return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无时段房方案" }));
                }

                if (fnid != 0 && periodRoomList.Any(a => a.Id == fnid))
                {
                    var periodRoom  = periodRoomList.FirstOrDefault(a => a.Id == fnid);
                    var CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss");
                    var YlTime      = now.ToShortDateString() + $" {periodRoom.EndPoint}:00:00";
                    return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = CurrentTime, YlTime = YlTime, Id = periodRoom.Id, RoomPrice = periodRoom.Price }));
                }
                else
                {
                    foreach (var periodRoom in periodRoomList)
                    {
                        if (now.Hour >= periodRoom.StartPoint && now.Hour <= periodRoom.EndPoint)
                        {
                            var CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss");
                            var YlTime      = now.ToShortDateString() + $" {periodRoom.EndPoint}:00:00";
                            return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = CurrentTime, YlTime = YlTime, Id = periodRoom.Id, RoomPrice = periodRoom.Price }));
                        }
                    }
                }

                return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无匹配的时段房方案,请手动选择" }));
            }
            return("");
        }
예제 #26
0
        public string GetRoomReg(long roomRegId)
        {
            var model = RoomRegBll.GetById(roomRegId);

            return(JsonConvert.SerializeObject(model));
        }
예제 #27
0
        // GET: RoomReg
        public ActionResult Index(long roomId)
        {
            var user    = UserContext.CurrentUser;
            var hotelId = user.HotelId;

            var room = RoomBll.GetById(roomId);

            var globalFeeSet = GlobalFeeSetBll.GetByHotelId(hotelId);

            ViewBag.HotelId      = hotelId;
            ViewBag.RoomId       = roomId;
            ViewBag.GlobalFeeSet = globalFeeSet;
            var      now      = DateTime.Now;
            DateTime yuLiTime = now;

            //如果是6点,那么当天6点之后开的房间就是第二天中午退房,0点到6点开房就是当天中午退房
            if (now.Hour >= 0 && now.Hour <= globalFeeSet.QTAfterPointToNextDay)
            {
                //当天中午退房
                yuLiTime = now.Date.AddHours(globalFeeSet.QTExitPoint);
            }
            else
            {
                //第二天中午退房
                yuLiTime = now.Date.AddDays(1).AddHours(globalFeeSet.QTExitPoint);
            }

            //var yltime = "";
            //if (now.Hour > globalFeeSet.QTAfterPointToNextDay)
            //{
            //    //第二天退房
            //    yltime = now.AddDays(1).ToShortDateString() + $" {globalFeeSet.QTExitPoint}:00:00";
            //}
            //else
            //{
            //    //当天退房
            //    yltime = now.ToShortDateString() + $" {globalFeeSet.QTExitPoint}:00:00";
            //}
            ViewBag.CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss");
            ViewBag.yltime      = yuLiTime.ToString("yyyy-MM-dd HH:mm:ss");
            var my = UserBll.GetById(user.Id);

            ViewBag.MyKdzk = my == null ? 10 : my.CanSale;
            //获取登记单
            var roomReg = new Model.RoomReg();

            if (room != null)
            {
                if (room.FjState == FjStateEnum.干净房)
                {
                    roomReg = new Model.RoomReg();
                }
                else
                {
                    roomReg = RoomRegBll.GetById(room.RoomRegId);
                    if (roomReg == null)
                    {
                        roomReg = new Model.RoomReg();
                    }
                }
                if ((int)roomReg.FjState >= (int)FjStateEnum.脏房)
                {
                    // return Content("房间状态不允许开房登记");
                }
                //if(roomReg.FjState ==4)
                //    roomReg = new Model.RoomReg();
            }
            ViewBag.PanelHeight = 300;
            if (Session["PanelHeight"] != null)
            {
                ViewBag.PanelHeight = Convert.ToInt32(Session["PanelHeight"]);
            }
            if (room == null)
            {
                room = new Room();
                ViewBag.IsEmptyRoom = true;
            }
            else
            {
                ViewBag.IsEmptyRoom = false;
            }
            ViewBag.Room = room;
            return(View(roomReg));
        }
예제 #28
0
        public string GetListByIds(long[] Ids)
        {
            var data        = PosConsumeBll.GetListByIds(Ids);
            var user        = UserContext.CurrentUser;
            var payTypeList = PayTypeBll.GetList(user.HotelId, true, true);

            if (payTypeList == null)
            {
                payTypeList = new List <PayType>();
            }
            var outdata = new List <Dictionary <string, object> >();

            foreach (var item in data)
            {
                var outitem = new Dictionary <string, object>();
                outitem["Id"]    = item.Id;
                outitem["PosId"] = item.PosId;
                if (item.RoomRegId != 0)
                {
                    var roomReg = RoomRegBll.GetById(item.RoomRegId);
                    outitem["RoomNo"]          = roomReg.RoomNO;
                    outitem["RoomRegIdStr"]    = item.RoomRegId.ToString();
                    outitem["RoomRegDanJuNum"] = roomReg.DanJuNum;
                }
                else
                {
                }

                var details = PosConsumeDetailBll.GetList(item.Id);
                var sk_list = PosConsumeSkBll.GetList(item.Id);
                var tk_list = PosConsumeTkBll.GetList(item.Id);

                decimal roomAmount = 0;
                if (item.RoomRegId == 0)
                {
                    foreach (var detail in details)
                    {
                        if (!detail.IsFree && detail.ToRoomRegId != 0)
                        {
                            roomAmount += detail.Amount;
                        }
                    }
                    outitem["RoomAmount"] = roomAmount;
                }
                else
                {
                    outitem["RoomAmount"] = item.AmountSum;
                }

                foreach (var o in sk_list)
                {
                    foreach (var payType in payTypeList)
                    {
                        if (o.PayTypeId == payType.Id)
                        {
                            var key = "Amount" + o.PayTypeName;
                            if (!outitem.ContainsKey(key))
                            {
                                outitem[key] = o.Money;
                            }
                            else
                            {
                                outitem[key] = Convert.ToDecimal(outitem[key]) + o.Money;
                            }
                        }
                    }
                }
                outitem["NightDate"] = item.NightDate;
                outitem["OrderNo"]   = item.OrderNo;
                outitem["OrderDate"] = item.OrderDate;
                outitem["OutTime"]   = item.OutTime;
                outitem["Amount"]    = item.Amount;
                outitem["JzskMoney"] = item.JzskMoney;
                outdata.Add(outitem);
            }
            return(JsonConvert.SerializeObject(outdata));
        }
        public string GetRoomReg(long roomRegId)
        {
            var roomReg = RoomRegBll.GetById(roomRegId);

            return(Newtonsoft.Json.JsonConvert.SerializeObject(roomReg));
        }
        public string GetRoomInfo(long roomId)
        {
            var model = RoomBll.GetById(roomId);
            List <RoomPrice> priceList = null;

            if (model != null)
            {
                //根据房型id获取房价方案
                priceList = RoomPriceBll.GetList(UserContext.CurrentUser.HotelId, model.RoomTypeId);
            }
            else
            {
                model = new Room();
            }

            Hotel.Model.RoomReg reg = null;

            if (model.RoomRegId != 0)
            {
                reg = RoomRegBll.GetById(model.RoomRegId);
            }

            var roomType   = RoomTypeBll.GetById(model.RoomTypeId);
            var HolidaySet = HolidaySetBll.GetList(UserContext.CurrentUser.HotelId);
            var WeekendSet = WeekendSetBll.GetByHotelId(UserContext.CurrentUser.HotelId);

            var    SalePrice = model.Price;  //价
            double SaleRate  = 1.0;          //折扣率

            if (roomType.IsAllowWeekendRoom) //周末价判断
            {
                if (WeekendSet.IsMonday && DateTime.Now.DayOfWeek == DayOfWeek.Monday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
                if (WeekendSet.IsTuesday && DateTime.Now.DayOfWeek == DayOfWeek.Tuesday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
                if (WeekendSet.IsWednesday && DateTime.Now.DayOfWeek == DayOfWeek.Wednesday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
                if (WeekendSet.IsThursday && DateTime.Now.DayOfWeek == DayOfWeek.Thursday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
                if (WeekendSet.IsFriday && DateTime.Now.DayOfWeek == DayOfWeek.Friday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
                if (WeekendSet.IsSaturday && DateTime.Now.DayOfWeek == DayOfWeek.Saturday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
                if (WeekendSet.IsSunday && DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
                {
                    SalePrice = roomType.WeekendPrice;
                }
            }
            if (roomType.IsAllowHolidayRoom) //假日价
            {
                foreach (var h in HolidaySet)
                {
                    var start = TypeConvert.IntToDateTime(h.StartDate);
                    var end   = TypeConvert.IntToDateTime(h.EndDate).AddDays(1).AddSeconds(-1); //定位在这天最后一秒
                    if (DateTime.Now > start && DateTime.Now < end)
                    {
                        SalePrice = roomType.HolidayPrice;
                    }
                }
            }



            SaleRate = Convert.ToDouble(SalePrice) / Convert.ToDouble(model.Price);


            return(JsonConvert.SerializeObject(new
            {
                Room = model,
                RoomPrice = roomType.Price,
                SalePrice = SalePrice,
                SaleRate = SaleRate,
                PriceList = priceList,
                RoomReg = reg
            }));
        }