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)); }
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)); } }
/// <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 = "" }); }