public IHttpActionResult PutRoomRates(int id, RoomRate roomrate)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != roomrate.Id)
            {
                return BadRequest();
            }

            

            try
            {
                _RoomRateService.Update(roomrate);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_RoomRateService.Exists(id) )
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Cost,Date")] RoomRate roomRate)
        {
            if (id != roomRate.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(roomRate);
                    await _context.SaveChangesAsync();

                    _cache.Clean();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RoomRateExists(roomRate.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(roomRate));
        }
        public ActionResult SaveMatrix(FormCollection formCollection)
        {

            foreach (var key in formCollection.AllKeys)
            {
                var value = formCollection[key];
                if (key.Contains("roomrate_"))
                {
                    RoomRate roomrate = new RoomRate();

                    string[] arrvalues = key.Split('_');

                    roomrate.RoomTypeId = int.Parse(arrvalues[1]);

                    roomrate.MemberTypeId  = int.Parse(arrvalues[2]);

                    roomrate.BoardTypeId  = int.Parse(arrvalues[3]);


                    roomrate.RoomRate1  = decimal.Parse(value);

                    if (arrvalues.Length == 5)
                    {
                        roomrate.Id = int.Parse(arrvalues[4]);
                        _RoomRateRepository.Update(roomrate, roomrate.Id.ToString ());
                    }
                    else
                        _RoomRateRepository.Create(roomrate);
                }

            }


            return RedirectToAction("Index");
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("Id,Cost,Date")] RoomRate roomRate)
        {
            if (ModelState.IsValid)
            {
                _context.Add(roomRate);
                await _context.SaveChangesAsync();

                _cache.Clean();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(roomRate));
        }
Exemplo n.º 5
0
        public static RoomRateDto ToDto(this RoomRate roomRate)
        {
            var dto = new RoomRateDto
            {
                ProductLineId  = roomRate.ProductLineId,
                HospitalTypeId = roomRate.HospitalTypeId,
                AccessTypeId   = roomRate.AccessTypeId,
                RoomRateTypeId = roomRate.TypeId
            };

            ((IData)roomRate).ToDto((IDataDto)dto);
            return(dto);
        }
Exemplo n.º 6
0
        public IActionResult AddRoomRateToSeason(long seasonId, RoomRateInputModel model)
        {
            if (ModelState.IsValid)
            {
                var season   = _seasonRepository.GetSeasonById(seasonId);
                var room     = _roomRepository.GetRoomById(model.Room.Id);
                var roomRate = RoomRate.New(model.Rate, season, room);

                _roomRateRepository.AddRoomRate(roomRate);

                return(RedirectToAction("GetAllRoomRatesBySeason", new { id = seasonId }));
            }

            return(RedirectToRoute("roomRates", new { id = seasonId }));
        }
Exemplo n.º 7
0
        private void FillRoomRates(SqlDataReader reader, string dataTable,
                                   Collection <RoomRate> theRoomRates)
        {
            RoomRate roomRate;

            while (reader.Read())                          //While you still have stuff to read
            {
                roomRate = new RoomRate();

                //get all the relevant collumns from the booking table
                roomRate.Season        = (reader.GetString(0).Trim());
                roomRate.StartDate     = reader.GetString(1).Trim();
                roomRate.EndDate       = reader.GetString(2).Trim();
                roomRate.PricePerNight = reader.GetDecimal(3);

                theRoomRates.Add(roomRate);             //add to the collection
            }
        }
Exemplo n.º 8
0
        public static RoomRate ToDomain(this RoomRateDto roomRate, RoomRate originalRoomRate = null)
        {
            if (originalRoomRate != null && originalRoomRate.Id == roomRate.Id)
            {
                originalRoomRate.ProductLineId  = roomRate.ProductLineId;
                originalRoomRate.HospitalTypeId = roomRate.HospitalTypeId;
                originalRoomRate.AccessTypeId   = roomRate.AccessTypeId;
                originalRoomRate.TypeId         = roomRate.RoomRateTypeId;

                ((IDataDto)roomRate).ToDomain((IData)originalRoomRate);
                return(originalRoomRate);
            }

            var data = new RoomRate
            {
                ProductLineId  = roomRate.ProductLineId,
                HospitalTypeId = roomRate.HospitalTypeId,
                AccessTypeId   = roomRate.AccessTypeId,
                TypeId         = roomRate.RoomRateTypeId
            };

            ((IDataDto)roomRate).ToDomain((IData)data);
            return(data);
        }
        public IHttpActionResult PostRoomRates(RoomRate roomrate)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            _RoomRateService.Create(roomrate);
        

            return CreatedAtRoute("DefaultApi", new { id = roomrate.Id }, roomrate);
        }
Exemplo n.º 10
0
        /// <summary>
        /// 封装 RatePlanJsonEt
        /// </summary>
        /// <param name="RoomRate"></param>
        /// <returns></returns>
        private RatePlanJsonEt FillRatePlanJsonEt(RoomRate RoomRate)
        {
            bool           isAddRatePlan = true;
            RatePlanJsonEt rpJsonEt      = new RatePlanJsonEt()
            {
                RoomTypeCode          = RoomRate.RoomTypeCode,
                RoomTypeName          = RoomRate.RoomTypeName,
                RatePlanCode          = RoomRate.RatePlanCode,
                RatePlanName          = RoomRate.RatePlanName,
                CurrencyCode          = RoomRate.CurrencyCode,
                PaymentType           = RoomRate.PaymentType,
                LastDays              = RoomRate.LastDays,
                AdvanceDays           = RoomRate.AdvanceDays,
                AdvanceHours          = RoomRate.AdvanceHours,
                PaymentPolicies       = RoomRate.PaymentPolicies,
                StopCancelDate        = RoomRate.StopCancelDate,
                RateCancelPolicy      = RoomRate.RateCancelPolicy,
                RateNotUpdateable     = RoomRate.RateNotUpdateable,
                RTBreakfast           = RoomRate.RTBreakfast,
                BedTypeName           = RoomRate.BedTypeName,
                RTStopCancelTime      = RoomRate.RTStopCancelTime,
                RoomTypeUseBeforeTime = RoomRate.RoomTypeUseBeforeTime,
                RateList              = new List <RateJsonEt>()
            };

            #region 封装 价格信息
            if (RoomRate.Rates != null && RoomRate.Rates.Length > 0)
            {
                foreach (var _Rate in RoomRate.Rates)
                {
                    if (_Rate.Ability != -1)
                    {
                        RateJsonEt rJsonEt = new RateJsonEt()
                        {
                            EffectiveDate   = _Rate.EffectiveDate,
                            ExpireDate      = _Rate.ExpireDate,
                            AmountBeforeTax = _Rate.AmountBeforeTax,
                            AmountAfterTax  = _Rate.AmountAfterTax,
                            Breakfast       = _Rate.Breakfast,
                            Adult           = _Rate.Adult,
                            Child           = _Rate.Child,
                            Ability         = _Rate.Ability,
                            LosSpecified    = _Rate.LosSpecified
                        };

                        // 价格 加入到该价格计划下的RateList
                        rpJsonEt.RateList.Add(rJsonEt);
                    }
                    else
                    {
                        // 价格计划中,如果其中一个Rate没有价格,则该价格计划不需要显示
                        isAddRatePlan = false;
                        break;
                    }
                }
            }
            else
            {
                // 价格计划 没有价格信息,则该价格计划不需要显示
                isAddRatePlan = false;
            }
            #endregion

            if (isAddRatePlan)
            {
                return(rpJsonEt);
            }

            return(null);
        }
Exemplo n.º 11
0
        public static void Initialize(HotelContext db)
        {
            int rowCount;
            int rowIndex;

            if (!db.Clients.Any())
            {
                rowCount = 100;
                rowIndex = 0;

                while (rowIndex < rowCount)
                {
                    Client client = new Client
                    {
                        FullName     = GetRandomEl(surnames) + " " + GetRandomEl(names) + " " + GetRandomEl(middleNames),
                        PassportData = GetString(8, 8),
                        NameOfRoom   = GetString(10, 16),
                        List         = GetRandomEl(lists),
                        TotalCost    = random.Next(90, 4000)
                    };
                    db.Clients.Add(client);
                    rowIndex++;
                }

                db.SaveChanges();
            }

            if (!db.RoomRates.Any())
            {
                rowIndex = 0;
                rowCount = 100;

                while (rowIndex < rowCount)
                {
                    RoomRate rr = new RoomRate()
                    {
                        Cost = random.Next(400, 1399),
                        Date = NextDateTime()
                    };
                    db.RoomRates.Add(rr);


                    rowIndex++;
                }
                db.SaveChanges();
            }

            if (!db.Employees.Any())
            {
                rowIndex = 0;
                rowCount = 100;

                while (rowIndex < rowCount)
                {
                    Employee emp = new Employee
                    {
                        FullName = GetRandomEl(surnames) + " " + GetRandomEl(names),
                        Position = GetRandomEl(positions)
                    };
                    db.Employees.Add(emp);


                    rowIndex++;
                }

                db.SaveChanges();
            }

            if (!db.Rooms.Any())
            {
                rowCount = 1000;
                rowIndex = 0;

                while (rowIndex < rowCount)
                {
                    int minId = db.RoomRates.Min(x => x.Id);
                    int maxId = db.RoomRates.Max(x => x.Id);

                    Room room = new Room
                    {
                        Type          = GetRandomEl(types),
                        Capacity      = random.Next(1, 4),
                        Specification = GetString(8, 16),
                        RoomRateId    = random.Next(minId, maxId + 1)
                    };
                    db.Rooms.Add(room);
                    rowIndex++;
                }

                db.SaveChanges();
            }

            if (!db.Orders.Any())
            {
                rowIndex = 0;
                rowCount = 1000;

                int minClientId = db.Clients.Min(x => x.Id);
                int maxClientId = db.Clients.Max(x => x.Id);

                int minEmployeeId = db.Employees.Min(x => x.Id);
                int maxEmployeeId = db.Employees.Max(x => x.Id);

                int minRoomId = db.Rooms.Min(x => x.Id);
                int maxRoomId = db.Rooms.Max(x => x.Id);

                while (rowIndex < rowCount)
                {
                    Order order = new Order
                    {
                        CheckInDate = NextDateTime(),
                        CheckOut    = NextDateTime(),
                        EmployeeId  = random.Next(minEmployeeId, maxEmployeeId + 1),
                        ClientId    = random.Next(minClientId, maxClientId + 1),
                        RoomId      = random.Next(minRoomId, maxRoomId + 1)
                    };
                    db.Orders.Add(order);
                    rowIndex++;
                }

                db.SaveChanges();
            }

            if (!db.ServiceTypes.Any())
            {
                rowIndex = 0;
                rowCount = 1000;

                while (rowIndex < rowCount)
                {
                    ServiceType serviceType = new ServiceType
                    {
                        Name         = GetRandomEl(lists),
                        Specificaion = GetString(8, 12)
                    };
                    db.ServiceTypes.Add(serviceType);


                    rowIndex++;
                }
                db.SaveChanges();
            }



            if (!db.Services.Any())
            {
                rowIndex = 0;
                rowCount = 1000;

                while (rowIndex < rowCount)
                {
                    int minEmployeeId = db.Employees.Min(x => x.Id);
                    int maxEmployeeId = db.Employees.Max(x => x.Id);

                    int minSt = db.ServiceTypes.Min(x => x.Id);
                    int maxSt = db.ServiceTypes.Max(x => x.Id);

                    Service service = new Service()
                    {
                        Cost          = random.Next(400, 3213),
                        ServiceTypeId = random.Next(minSt, maxSt + 1),
                        EmployeeId    = random.Next(minEmployeeId, maxEmployeeId + 1)
                    };
                    db.Services.Add(service);


                    rowIndex++;
                }
                db.SaveChanges();
            }
        }
Exemplo n.º 12
0
 private Models.Responses.Rate Build(RoomRate rate)
 => new Models.Responses.Rate(rate.Id, rate.RoomId, rate.SeasonId, rate.Price, rate.Currency, rate.BoardBasis, rate.MealPlan, rate.RoomType,
                              rate.Description);
        protected virtual RequestBuilder BuildRequest(string root)
        {
            var builder = new RequestBuilder(root).
                          AddElement("folio-number", FolioNumber).
                          AddElement("check-in-date", CheckInDate).
                          AddElement("check-out-date", CheckOutDate).
                          AddElement("travel-package", TravelPackage).
                          AddElement("departure-date", DepartureDate).
                          AddElement("lodging-check-in-date", LodgingCheckInDate).
                          AddElement("lodging-check-out-date", LodgingCheckOutDate).
                          AddElement("lodging-name", LodgingName).
                          AddElement("passenger-first-name", PassengerFirstName).
                          AddElement("passenger-last-name", PassengerLastName).
                          AddElement("passenger-middle-initial", PassengerMiddleInitial).
                          AddElement("passenger-title", PassengerTitle).
                          AddElement("travel-agency-name", TravelAgencyName).
                          AddElement("travel-agency-code", TravelAgencyCode).
                          AddElement("ticket-number", TicketNumber).
                          AddElement("issuing-carrier-code", IssuingCarrierCode).
                          AddElement("customer-code", CustomerCode).
                          AddElement("property-phone", PropertyPhone);

            if (RoomRate != null)
            {
                builder.AddElement("room-rate", RoomRate.ToString());
            }
            if (RoomTax != null)
            {
                builder.AddElement("room-tax", RoomTax.ToString());
            }
            if (IssuedDate != null)
            {
                builder.AddElement("issued-date", IssuedDate);
            }
            if (FareAmount != null)
            {
                builder.AddElement("fare-amount", FareAmount);
            }
            if (FeeAmount != null)
            {
                builder.AddElement("fee-amount", FeeAmount);
            }
            if (TaxAmount != null)
            {
                builder.AddElement("tax-amount", TaxAmount);
            }
            if (RestrictedTicket != null)
            {
                builder.AddElement("restricted-ticket", RestrictedTicket);
            }
            if (NoShow != null)
            {
                builder.AddElement("no-show", NoShow);
            }
            if (AdvancedDeposit != null)
            {
                builder.AddElement("advanced-deposit", AdvancedDeposit);
            }
            if (FireSafe != null)
            {
                builder.AddElement("fire-safe", FireSafe);
            }
            if (Legs != null)
            {
                builder.AddElement("legs", Legs);
            }
            if (AdditionalCharges != null)
            {
                builder.AddElement("additional-charges", AdditionalCharges);
            }
            return(builder);
        }
Exemplo n.º 14
0
 public void Delete(RoomRate roomRate)
 {
     _context.RoomRates.Remove(roomRate);
     _context.SaveChanges();
 }
Exemplo n.º 15
0
 public void AddRoomRate(RoomRate rate)
 {
     _context.RoomRates.Add(rate);
     _context.SaveChanges();
 }