Exemplo n.º 1
0
        public ActionResult ViewAccommodationBooking(int id)
        {
            TripBookingAccommodation accommodation = null;
            var blError = TripManager.GetTripBookingAccommodation(id, out accommodation);

            if (blError.ErrorCode > 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }

            var model = new AccommodationBookingViewModel()
            {
                AccommodationType = accommodation.AccommodationType,
                CheckinDate       = accommodation.CheckinDate.HasValue ? accommodation.CheckinDate.Value : DateTime.MinValue,
                CheckoutDate      = accommodation.CheckoutDate.HasValue ? accommodation.CheckoutDate.Value : DateTime.MinValue,
                TravellerNotes    = accommodation.TravellerNotes,
                SpecialRequests   = accommodation.SpecialRequests,
                BookingStatus     = accommodation.Status,
                AdminNotes        = accommodation.AdminNotes,
                TripId            = accommodation.TripId,
                TownOrCity        = accommodation.TownOrCity,
                Adults            = accommodation.Adults.HasValue ? accommodation.Adults.Value : 0,
                Kids            = accommodation.Kids.HasValue ? accommodation.Kids.Value : 0,
                PropertyName    = accommodation.PropertyName,
                PropertyAddress = accommodation.PropertyAddress,
            };

            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> SaveTripBookingAccommodationAsync(AccommodationBookingViewModel model)
        {
            var accommodation = new TripBookingAccommodation()
            {
                Kids              = model.Kids,
                Adults            = model.Adults,
                TownOrCity        = model.TownOrCity,
                AccommodationType = model.AccommodationType,
                CheckinDate       = model.CheckinDate,
                CheckoutDate      = model.CheckoutDate,
                TravellerNotes    = model.TravellerNotes,
                SpecialRequests   = model.SpecialRequests,
                Status            = AccommodationBookingStatus.requested.ToString(),
                TripId            = model.TripId,
                TripStepId        = model.TripStepId
            };

            var blError = await TripManager.SaveTripBookingAccommodationAsync(accommodation);

            if (blError.ErrorCode == 0)
            {
                return(RedirectToAction("ViewTrip", new { @tripId = model.TripId }));
            }
            else
            {
                ModelState.AddModelError("blError.ErrorMessage", blError.ErrorMessage);
                return(View("AccommodationBooking", model));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static async Task <DomingoBlError> SaveTripBookingAccommodation(View_TripBookingAccommodation model)
        {
            try
            {
                if (model != null)
                {
                    using (var context = new TravelogyDevEntities1())
                    {
                        if (model.Id == 0)
                        {
                            var _newBooking = new TripBookingAccommodation();
                            _newBooking.AccommodationType = model.AccommodationType;
                            _newBooking.CheckinDate       = model.CheckinDate;
                            _newBooking.CheckoutDate      = model.CheckoutDate;
                            _newBooking.EstimatedCost     = model.EstimatedCost;
                            _newBooking.AdminNotes        = model.AdminNotes;
                            _newBooking.PropertyAddress   = model.PropertyAddress;
                            _newBooking.PropertyName      = model.PropertyName;
                            _newBooking.Status            = model.Status;
                            _newBooking.Adults            = model.Adults;
                            _newBooking.Kids       = model.Kids;
                            _newBooking.TownOrCity = model.TownOrCity;
                            _newBooking.Currency   = model.Currency;

                            context.TripBookingAccommodations.Add(_newBooking);
                            await context.SaveChangesAsync();
                        }

                        else
                        {
                            var _booking = context.TripBookingAccommodations.Find(model.Id);
                            if (_booking != null)
                            {
                                _booking.AccommodationType = model.AccommodationType;
                                if (model.CheckinDate.HasValue) // only if there is a new value
                                {
                                    _booking.CheckinDate = model.CheckinDate;
                                }
                                if (model.CheckoutDate.HasValue) // only if there is a new value
                                {
                                    _booking.CheckoutDate = model.CheckoutDate;
                                }
                                _booking.EstimatedCost   = model.EstimatedCost;
                                _booking.AdminNotes      = model.AdminNotes;
                                _booking.PropertyAddress = model.PropertyAddress;
                                _booking.PropertyName    = model.PropertyName;
                                _booking.Status          = model.Status;
                                _booking.Adults          = model.Adults;
                                _booking.Kids            = model.Kids;
                                _booking.TownOrCity      = model.TownOrCity;
                                _booking.Currency        = model.Currency;

                                await context.SaveChangesAsync();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(new DomingoBlError()
                {
                    ErrorCode = 100, ErrorMessage = ex.Message
                });
            }

            return(new DomingoBlError()
            {
                ErrorCode = 0, ErrorMessage = ""
            });
        }