/// <summary> /// Get package information asynchromusly /// </summary> /// <param name="bookingId">Booking Id</param> /// <returns>Deal package model</returns> public async Task <BookingSendMailViewModel> GetBookingEmail(int bookingId) { try { var bookingRecord = await this.bookingInformationRepository.Table.Where(x => x.Id == bookingId).FirstOrDefaultAsync(); BookingSendMailViewModel model = await this.dealPackageRepository.Table.Where(x => x.Id == bookingRecord.DealId).Select(x => new BookingSendMailViewModel { BookingDate = bookingRecord.CreatedDate, StartDate = bookingRecord.Checkin, EndDate = bookingRecord.Checkout, DealName = x.Name, DealCode = x.Code, BookingId = bookingRecord.Id, BookingPrice = bookingRecord.TotalAmount }).FirstOrDefaultAsync(); return(model); } catch (Exception ex) { string msg = ex.ToString(); return(null); } }
/// <summary> /// Gets the booking detail. /// </summary> /// <param name="id">The identifier.</param> /// <param name="type">The type.</param> /// <returns> /// BookingDetail /// </returns> public async Task <PartialViewResult> GetBookingDetail(Guid id, Enums.CurrentDealType type) { var bookingDetail = new BookingSendMailViewModel(); if (type == Enums.CurrentDealType.Package) { bookingDetail = await this.hotelbooking.GetTourBookingSendMailDetailAsync(id); } else { bookingDetail = await this.hotelbooking.GetBookingSendMailDetailAsync(id); } return(this.PartialView("_BookingDetails", bookingDetail)); }