示例#1
0
 public tbl_RoomPriceLevel GetRoomPriceLevelById(int id)
 {
     //search again
     using (var db = _connectionData.OpenDbConnection())
     {
         var query = db.From <tbl_RoomPriceLevel>().Where(e => e.Id == id);
         tbl_RoomPriceLevel rows = db.Select(query).FirstOrDefault();
         return(rows);
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="listRoom"></param>
        /// <param name="model"></param>
        /// <param name="listXtraDay"></param>
        /// <param name="listPriceDay"></param>
        /// <param name="listXtraNight"></param>
        /// <param name="listEarlyDay"></param>
        /// <param name="listEarlyNight"></param>
        /// <param name="listLimitPerson"></param>
        /// <returns></returns>
        public ActionResult InsertOrUpdate(List <tbl_Room> listRoom, tbl_RoomPriceLevel model, string fDate, string tDate,
                                           List <tbl_RoomPriceLevel_Extra> listXtraDay,
                                           List <tbl_RoomPriceLevel_Hour> listPriceDay,
                                           List <tbl_RoomPriceLevel_Extra> listXtraNight,
                                           List <tbl_RoomPriceLevel_Extra> listEarlyDay,
                                           List <tbl_RoomPriceLevel_Extra> listEarlyNight,
                                           List <tbl_RoomPriceLevel_Extra> listLimitPerson,
                                           List <tbl_RoomPriceLevel_Extra> listLimitPerson_Child
                                           )
        {
            if (model.Id > 0)
            {
                var result = _priceLevelService.UpdateRoomPriceLevel(listRoom, model,
                                                                     listXtraDay,
                                                                     listPriceDay,
                                                                     listXtraNight,
                                                                     listEarlyDay,
                                                                     listEarlyNight,
                                                                     listLimitPerson, listLimitPerson_Child);
                return(Json(new { result = result, Message = result ? "Cập nhật giá hạng phòng thành công." : "Cập nhật giá hạng phòng thất bại!" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                DateTime _fdate;
                DateTime _tdate;

                DateTime.TryParse(fDate, CultureInfo.GetCultureInfo("vi-vn"), DateTimeStyles.None, out _fdate);
                DateTime.TryParse(tDate, CultureInfo.GetCultureInfo("vi-vn"), DateTimeStyles.None, out _tdate);
                model.dateFrom = _fdate; // từ
                model.dateTo   = _tdate; // tơi
                if (_priceLevelService.checkDate(_fdate, _tdate))
                {
                    return(Json(new { result = false, Message = "Khoảng thời gian đa tồn tại trên hệ thống. Vui lòng kiểm tra lai!" }, JsonRequestBehavior.AllowGet));
                }
                if (_fdate >= _tdate)
                {
                    return(Json(new { result = false, Message = "Thời gian từ phải nhỏ hơn thời gian tới. Vui lòng kiểm tra lai!" }, JsonRequestBehavior.AllowGet));
                }

                var result = _priceLevelService.InsertRoomPriceLevel(listRoom, model,
                                                                     listXtraDay,
                                                                     listPriceDay,
                                                                     listXtraNight,
                                                                     listEarlyDay,
                                                                     listEarlyNight,
                                                                     listLimitPerson, listLimitPerson_Child);
                return(Json(new { result = result, Message = result ? "Thêm mới giá hạng phòng thành công." : "Thêm mới giá hạng phòng Thất bại." }, JsonRequestBehavior.AllowGet));
            }
        }
示例#3
0
        /// <summary>
        /// thực hiện tìm chính sách gia cho 1 loại phòng nào đấy: tính theo ngày check-in (ngày đến thôi)
        /// </summary>
        /// <param name="roomid"></param>
        /// <param name="roomid"></param>
        /// <returns>Trả về giá theo ngày, đếm tháng</returns>

        public tbl_RoomPriceLevel GetPrice(int roomTypeID, DateTime dtIn)
        {
            DayOfWeek dayOfWeek  = dtIn.DayOfWeek;
            string    iDayOfWeek = CommService.ConvertToInt(dayOfWeek).ToString();

            //search again
            using (var db = _connectionData.OpenDbConnection())
            {
                var query = db.From <tbl_RoomPriceLevel>()
                            .Where(e => e.RoomTypeID == roomTypeID &&
                                   e.Status == true &&
                                   e.dayOfWeeks.Contains(iDayOfWeek) &&
                                   (e.dateFrom <= dtIn) &&
                                   (e.dateTo >= dtIn)
                                   )
                            .OrderByDescending(e => e.Id);

                tbl_RoomPriceLevel rows = db.Select <tbl_RoomPriceLevel>(query).FirstOrDefault();
                return(rows);
            }
        }
示例#4
0
        /// <summary>
        /// Caapj nhatja
        /// </summary>
        /// <param name="listRoom"></param>
        /// <param name="model"></param>
        /// <param name="listXtraDay"></param>
        /// <param name="listPriceDay"></param>
        /// <param name="listXtraNight"></param>
        /// <param name="listEarlyDay"></param>
        /// <param name="listEarlyNight"></param>
        /// <param name="listLimitPerson"></param>
        /// <returns></returns>
        public bool UpdateRoomPriceLevel(List <tbl_Room> listRoom, tbl_RoomPriceLevel model,
                                         List <tbl_RoomPriceLevel_Extra> listXtraDay, List <tbl_RoomPriceLevel_Hour> listPriceDay,
                                         List <tbl_RoomPriceLevel_Extra> listXtraNight, List <tbl_RoomPriceLevel_Extra> listEarlyDay,
                                         List <tbl_RoomPriceLevel_Extra> listEarlyNight, List <tbl_RoomPriceLevel_Extra> listLimitPerson, List <tbl_RoomPriceLevel_Extra> listLimitPerson_Child)
        {
            using (var db = _connectionData.OpenDbConnection())
            {
                using (var tran = db.OpenTransaction())
                {
                    try
                    {
                        //model.DateCreate = DateTime.Now;
                        var obj = db.Single <tbl_RoomPriceLevel>(x => x.Id == model.Id);
                        var rel = new tbl_RoomPriceLevel_Hi()
                        {
                            CreateID     = obj.CreateID,
                            Twin         = obj.Twin,
                            _Single      = obj._Single,
                            Note         = obj.Note,
                            Number_Adult = obj.Number_Adult,
                            PriceNight   = obj.PriceNight,
                            PriceDay     = obj.PriceDay,

                            PriceMonth       = obj.PriceMonth,
                            dayOfWeeks       = obj.dayOfWeeks,
                            DateCreate       = obj.DateCreate,
                            DatePromotion    = obj.DatePromotion,
                            RoomPriceLevelID = obj.Id,
                            RoomTypeID       = obj.RoomTypeID,
                            Status           = obj.Status,
                            SysHotelID       = obj.SysHotelID,
                            TypePrice        = obj.TypePrice,
                            dateFrom         = obj.dateFrom,
                            dateTo           = obj.dateTo
                        };
                        obj.Twin         = model.Twin;
                        obj._Single      = model._Single;
                        obj.Note         = model.Note;
                        obj.Number_Adult = model.Number_Adult;
                        obj.PriceNight   = model.PriceNight;
                        obj.PriceDay     = model.PriceDay;
                        obj.PriceMonth   = model.PriceMonth;
                        obj.dayOfWeeks   = model.dayOfWeeks;



                        //model.DateCreate = obj.DateCreate;
                        db.Update(obj);
                        db.Insert(rel);
                        //db.Delete<tbl_RoomPriceLevel_Extra>(x=>x.==1)
                        db.Delete <tbl_RoomPriceLevel_Extra>(p => p.RoomPriceLevelID == model.Id);
                        //db.Delete<tbl_Room_Type_Room_Rel>(p => p.LevelID == model.RoomTypeID);
                        db.Delete <tbl_RoomPriceLevel_Hour>(p => p.RoomPriceLevelID == model.Id);
                        //phụ trội muộn theo ngày
                        if (listXtraDay != null)
                        {
                            var xtraday =
                                listXtraDay.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(xtraday);
                        }
                        //phụ trội muộn theo đêm
                        if (listXtraNight != null)
                        {
                            var xtranight =
                                listXtraNight.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(xtranight);
                        } //Gias theo ngayf
                        if (listPriceDay != null)
                        {
                            var xpriceday =
                                listPriceDay.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Hour()
                            {
                                RoomPriceLevelID = model.Id,
                                numberHours      = x.numberHours,
                                price            = x.price
                            });
                            db.InsertAll(xpriceday);
                        } //phụ trội sowms theo ngày
                        if (listEarlyDay != null)
                        {
                            var xEarlyDay =
                                listEarlyDay.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(xEarlyDay);
                        } //phụ trội som theo dem
                        if (listEarlyNight != null)
                        {
                            var xEarlyNight =
                                listEarlyNight.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            //vuot qua so ng
                            db.InsertAll(xEarlyNight);
                        }
                        //vuot qua so ng
                        if (listLimitPerson != null)
                        {
                            var limitPerson =
                                listLimitPerson.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(limitPerson);
                        }
                        //Phuj trooij trẻ em
                        if (listLimitPerson_Child != null)
                        {
                            var limitPerson_child =
                                listLimitPerson_Child.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(limitPerson_child);
                        }// cau hinhs
                         //if (listRoom != null)
                         //{
                         //    var romconfig =
                         //        listRoom.Select(
                         //            x => new tbl_Room_Type_Room_Rel() { LevelID = model.Id, roomid = x.Id });
                         //    db.InsertAll(romconfig);
                         //}


                        tran.Commit();
                        return(true);
                    }
                    catch (Exception e)
                    {
                        tran.Rollback();
                        return(false);

                        throw;
                    }
                }
            }
        }
示例#5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="listRoom"></param>
        /// <param name="model"></param>
        /// <param name="listXtraDay"></param>
        /// <param name="listPriceDay"></param>
        /// <param name="listXtraNight"></param>
        /// <param name="listEarlyDay"></param>
        /// <param name="listEarlyNight"></param>
        /// <param name="listLimitPerson"></param>
        /// <returns></returns>
        public bool InsertRoomPriceLevel(List <tbl_Room> listRoom, tbl_RoomPriceLevel model,
                                         List <tbl_RoomPriceLevel_Extra> listXtraDay, List <tbl_RoomPriceLevel_Hour> listPriceDay,
                                         List <tbl_RoomPriceLevel_Extra> listXtraNight, List <tbl_RoomPriceLevel_Extra> listEarlyDay,
                                         List <tbl_RoomPriceLevel_Extra> listEarlyNight, List <tbl_RoomPriceLevel_Extra> listLimitPerson, List <tbl_RoomPriceLevel_Extra> listLimitPerson_Child)
        {
            using (var db = _connectionData.OpenDbConnection())
            {
                using (var tran = db.OpenTransaction())
                {
                    try
                    {
                        //  model.DateCreate = DateTime.Now;
                        //var roomtype = new tbl_Room_Type()
                        //{
                        //    Name = RoomTypeName.Trim(),
                        //    Code = "",
                        //    DouldBed = model.Twin,
                        //    SingBed = model._Single,
                        //    Note = "",
                        //    HotelID = model.SysHotelID,
                        //    UserLimit = model.CreateID
                        //};
                        //db.Save(roomtype, true);
                        //model.RoomTypeID = roomtype.Id;

                        model.DateCreate = DateTime.Now;
                        model.Status     = true;
                        db.Save(model, true);
                        //db.Delete<tbl_Room_Type_Room_Rel>(p => p.LevelID == model.RoomTypeID);
                        //phụ trội muộn theo ngày
                        if (listXtraDay != null)
                        {
                            var xtraday =
                                listXtraDay.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(xtraday);
                        }
                        //phụ trội muộn theo đêm
                        if (listXtraNight != null)
                        {
                            var xtranight =
                                listXtraNight.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(xtranight);
                        } //Gias theo ngayf
                        if (listPriceDay != null)
                        {
                            var xpriceday =
                                listPriceDay.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Hour()
                            {
                                RoomPriceLevelID = model.Id,
                                numberHours      = x.numberHours,
                                price            = x.price
                            });
                            db.InsertAll(xpriceday);
                        } //phụ trội sowms theo ngày
                        if (listEarlyDay != null)
                        {
                            var xEarlyDay =
                                listEarlyDay.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(xEarlyDay);
                        } //phụ trội som theo dem
                        if (listEarlyNight != null)
                        {
                            var xEarlyNight =
                                listEarlyNight.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            //vuot qua so ng
                            db.InsertAll(xEarlyNight);
                        }
                        //vuot qua so ng
                        if (listLimitPerson != null)
                        {
                            var limitPerson =
                                listLimitPerson.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(limitPerson);
                        }
                        if (listLimitPerson_Child != null)
                        {
                            var limitPerson_child =
                                listLimitPerson_Child.Select(
                                    x =>
                                    new tbl_RoomPriceLevel_Extra()
                            {
                                RoomPriceLevelID = model.Id,
                                numberExtra      = x.numberExtra,
                                priceExtra       = x.priceExtra,
                                typeExtra        = x.typeExtra
                            });
                            db.InsertAll(limitPerson_child);
                        }
                        // cau hinhs
                        //if (listRoom != null)
                        //{
                        //    var romconfig =
                        //        listRoom.Select(
                        //            x => new tbl_Room_Type_Room_Rel() { LevelID = model.RoomTypeID, roomid = x.Id });
                        //    db.InsertAll(romconfig);
                        //}
                        tran.Commit();
                        return(true);
                    }
                    catch (Exception e)
                    {
                        tran.Rollback();
                        return(false);

                        throw;
                    }
                }
            }
        }