public string GetById(long id) { var hotelId = UserContext.CurrentUser.HotelId; //获取房型 var roomTypeList = RoomTypeBll.GetList(hotelId); if (roomTypeList == null) { roomTypeList = new List <RoomType>(); } if (id == 0) { return(JsonConvert.SerializeObject(new { Model = new RoomYd() { HotelId = hotelId }, RoomTypeList = roomTypeList })); } else { //获取所有预订的房间 var roomYdRoomList = RoomYdRoomBll.GetLIst(id); if (roomYdRoomList != null && roomYdRoomList.Count > 0) { //循环获取房间 foreach (var roomtype in roomTypeList) { var roomList = roomYdRoomList.Where(m => m.RoomTypeId == roomtype.Id).ToList(); if (roomList != null && roomList.Count() > 0) { roomtype.YdRoomList = roomList; //foreach (var room in roomList) //{ // if (room.RoomId != 0) // roomtype.YdRoomList.Add(new RoomYdRoom() { Id = room.RoomId, RoomNO = room.RoomNO }); //} roomtype.RoomPriceId = roomList.ElementAt(0).RoomPriceId; roomtype.RoomCount = roomList.ElementAt(0).RoomCount; roomtype.RoomPrice = roomList.ElementAt(0).Price; roomtype.RoomSale = roomList.ElementAt(0).Sale; roomtype.RoomSalePrice = roomList.ElementAt(0).SalePrice; } else { roomtype.YdRoomList = new List <RoomYdRoom>(); roomtype.RoomCount = 0; } } } var info = RoomYdBll.GetById(id); return(JsonConvert.SerializeObject(new { Model = info, RoomTypeList = roomTypeList })); } }
private void PreLoadFTData() { var hotelId = UserContext.CurrentUser.HotelId; if (!_ft_isLoaded) { _ft_isLoaded = true; _ft_rooms = RoomBll.GetListBy(hotelId); _ft_roomregs = RoomRegBll.GetListByHotelId(hotelId); _ft_members = MemberBll.GetList(hotelId); _ft_membersType = MemberTypeBll.GetList(hotelId); _ft_RoomRegGuestInfoCN = RoomRegGuestInfoCNBll.GetListByHotelId(hotelId); _ft_RoomRegGuestInfoEN = RoomRegGuestInfoENBll.GetListByHotelId(hotelId); _ft_MaterialLease = MaterialLeaseBll.GetListByHotel(hotelId); _ft_RoomType = RoomTypeBll.GetListByHotelId(hotelId); _ft_RoomYdRecord = RoomYdRecordBll.GetListByHotel(hotelId); _ft_GlobalFeeSet = GlobalFeeSetBll.GetByHotelId(hotelId); _ft_MaintainRoom = MaintainRoomBll.GetListByHotelId(hotelId); _ft_RoomSelfuse = RoomSelfBll.GetListByHotelId(hotelId); _ft_RoomYD = RoomYdBll.GetListByHotel(hotelId); _ft_RoomSet = RoomSetBll.GetBy(hotelId); if (_ft_RoomSet == null) { _ft_RoomSet = RoomSetBll.GetBy(0); } } }
public ActionResult Edit(long id = 0) { if (id == 0) { return(View(new RoomType())); } var info = RoomTypeBll.GetById(id); return(View(info)); }
public string GetNewRoomPrice(int type, long fnid, long roomId) { var now = DateTime.Now; var room = RoomBll.GetById(roomId); var roomType = RoomTypeBll.GetById(room.RoomTypeId); 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, 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, Id = periodRoom.Id, RoomPrice = periodRoom.Price })); } return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无匹配的时段房方案,请手动选择" })); } return(""); }
public JsonResult GetRoomList(long buildId = 0, long floorId = 0, long roomTypeId = 0, int roomState = 0) { var hotelId = UserContext.CurrentUser.HotelId; var roomSet = RoomSetBll.GetBy(hotelId); if (roomSet == null) { roomSet = RoomSetBll.GetBy(0); } var roomTypeList = RoomTypeBll.GetList(hotelId); if (roomTypeList == null) { roomTypeList = new List <Model.RoomType>(); } var models = RoomPatternBll.GetList(hotelId, buildId, floorId, roomTypeId, (FjStateEnum)roomState); StringBuilder content = new StringBuilder(); if (models != null && models.Count > 0) { foreach (var item in models) { string background_color = "goldenrod"; content.Append($@" <div data_id='{item.Id}' class='room' style='width:{roomSet.RoomWidth}px;height:{roomSet.RoomHeight}px;margin:{roomSet.IconMargin}px;background-color:{background_color}'> <div style='color:{roomSet.RoomNoColor};font-size:{roomSet.RoomNoFontSize}px;'>{item.RoomNO}</div> <div style='margin-top:10px; color:{roomSet.RoomTypeColor};font-size:{roomSet.RoomTypeFontSize}px;'>{item.RoomTypeName}</div> <div style='float: right;position: absolute;bottom: 10px;right:10px; color:{roomSet.RoomPriceColor};font-size:{roomSet.RoomPriceFontSize}px;'>{item.Price}</div> </div>"); } } return(Json(new { content = content.ToString() }, JsonRequestBehavior.AllowGet)); }
public ActionResult Delete(long id) { var apiResult = new APIResult(); try { RoomTypeBll.DeleteById(id); } catch (Exception ex) { apiResult.Ret = -1; apiResult.Msg = ex.Message; if (!(ex is OperationExceptionFacade)) { LogFactory.GetLogger().Log(LogLevel.Error, ex); } } return(Json(apiResult)); }
public JsonResult Edit(RoomType model) { var apiResult = new APIResult(); try { RoomTypeBll.AddOrUpdate(model, UserContext.CurrentUser.HotelId); } catch (Exception ex) { apiResult.Ret = -1; apiResult.Msg = ex.Message; if (!(ex is OperationExceptionFacade)) { LogFactory.GetLogger().Log(LogLevel.Error, ex); } } return(Json(apiResult)); }
// GET: RoomPattern public ActionResult Index_old(long buildId = 0, long floorId = 0, long roomTypeId = 0, int roomState = 0) { var hotelId = UserContext.CurrentUser.HotelId; var roomSet = RoomSetBll.GetBy(hotelId); if (roomSet == null) { roomSet = RoomSetBll.GetBy(0); } var roomTypeList = RoomTypeBll.GetList(hotelId); if (roomTypeList == null) { roomTypeList = new List <Model.RoomType>(); } var models = RoomPatternBll.GetList(hotelId, buildId, floorId, roomTypeId, (FjStateEnum)roomState); ViewBag.HotelId = hotelId; ViewBag.RoomSet = roomSet; ViewBag.RoomTypeList = roomTypeList; // StringBuilder content = new StringBuilder(); // if (models != null && models.Count > 0) // { // foreach (var item in models) // { // content.Append($@"<div data_id='{item.Id}' class='room' style='width:{roomSet.RoomWidth};height:{roomSet.RoomHeight};margin:{roomSet.IconMargin};'> // <div style='color:{roomSet.RoomNoColor};font-size:{roomSet.RoomNoFontSize};'>{item.RoomNO}</div> // <div style='margin-top:10px; //color:{roomSet.RoomTypeColor};font-size:{roomSet.RoomTypeFontSize};'>{item.RoomTypeName}</div> // <div style='float: right;position: absolute;bottom: 10px;right:10px; //color:{roomSet.RoomPriceColor};font-size:{roomSet.RoomPriceFontSize};'>{item.Price}</div> // </div>"); // } // } return(View(models)); }
/// <summary> /// 凌晨房检测,返回凌晨价 /// </summary> /// <param name="roomId"></param> /// <returns></returns> public string LCRoomCheck(long roomId) { try { var hotelId = UserContext.CurrentUser.HotelId; var model = RoomBll.GetById(roomId); var roomType = RoomTypeBll.GetById(model.RoomTypeId); var setting = GlobalFeeSetBll.GetByHotelId(hotelId); var now = DateTime.Now; if (now.Hour >= setting.LCStartFeePoint && now.Hour <= setting.LCEndFeePoint) { return(JsonConvert.SerializeObject(new { IsLC = true, RoomPrice = roomType.MorningPrice })); } return(JsonConvert.SerializeObject(new { IsLC = false })); } catch { return(JsonConvert.SerializeObject(new { IsLC = false })); } }
/// <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)); }
public ActionResult Edit(long id = 0) { var hotelId = UserContext.CurrentUser.HotelId; //获取房型 var roomTypeList = RoomTypeBll.GetList(hotelId); if (roomTypeList == null) { roomTypeList = new List <RoomType>(); } //获取所有房价方案 var roomPriceList = RoomPriceBll.GetList(hotelId); if (roomPriceList == null) { roomPriceList = new List <RoomPrice>(); } //循环房型获取房型对应的房价方案 foreach (var roomtype in roomTypeList) { var roomPriceArr = roomPriceList.Where(m => m.RoomTypeId == roomtype.Id || m.RoomTypeId == 0); roomtype.RoomPriceList = roomPriceArr.ToList(); } if (id == 0) { ViewBag.RoomPriceList = roomPriceList; ViewBag.RoomTypeList = roomTypeList; return(View(new RoomYd() { HotelId = hotelId })); } else { //获取所有预订的房间 var roomYdRoomList = RoomYdRoomBll.GetLIst(id); 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) { if (room.RoomId != 0) { roomtype.YdRoomList.Add(room); } } roomtype.RoomCount = roomList.ElementAt(0).RoomCount; roomtype.RoomPriceId = roomList.ElementAt(0).RoomPriceIdTip; roomtype.RoomPrice = roomList.ElementAt(0).PriceTip; roomtype.RoomSale = roomList.ElementAt(0).SaleTip; roomtype.RoomSalePrice = roomList.ElementAt(0).SalePriceTip; } else { roomtype.YdRoomList = new List <RoomYdRoom>(); roomtype.RoomCount = 0; roomtype.RoomPrice = roomtype.Price; roomtype.RoomSale = decimal.Parse("1.00"); roomtype.RoomSalePrice = roomtype.Price; } } } var info = RoomYdBll.GetById(id); ViewBag.RoomPriceList = roomPriceList; ViewBag.RoomTypeList = roomTypeList; return(View(info)); } }
public JsonResult GetById(long id) { var model = RoomTypeBll.GetById(id); return(Json(model, JsonRequestBehavior.AllowGet)); }
public string GetList() { var data = RoomTypeBll.GetList(UserContext.CurrentUser.HotelId); return(JsonConvert.SerializeObject(data)); }
public JsonResult GetPeriodRoomList(long id) { var data = RoomTypeBll.GetPeriodRoomList(id, UserContext.CurrentUser.HotelId); return(Json(data, JsonRequestBehavior.AllowGet)); }
/// <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(""); }
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 })); }