public ActionResult GetBudgetSupplement(UpdateAvailabilityViewModel model, List <BudgetSupplements> BudgetSupplementsOld) { BudgetSupplementGetReq budgetSupplementGetReq = new BudgetSupplementGetReq() { BookingNumber = model.BookingNumber, PositionId = model.PositionId, AltSvcId = model.AltSvcId, QRFID = model.COHeaderViewModel.QRFID, AltSvcRoomsAndPrices = model.RoomRateDetails, UserEmailId = ckUserEmailId }; BudgetSupplementGetRes response = hotelsProviders.GetBudgetSupplement(budgetSupplementGetReq, token).Result; if (response != null && response.ResponseStatus.Status == "Success") { if (BudgetSupplementsOld?.Count > 0 && response.BudgetSupplements?.Count > 0) { foreach (var supp in response.BudgetSupplements) { var oldSupp = BudgetSupplementsOld.Where(a => a.BookingRooms_Id == supp.BookingRooms_Id).FirstOrDefault(); if (oldSupp != null) { supp.BudgetSupplementReason = oldSupp.BudgetSupplementReason; supp.ApplyMarkUp = oldSupp.ApplyMarkUp; supp.AgentConfirmed = oldSupp.AgentConfirmed; } } } model.BudgetSupplements = response.BudgetSupplements; ViewBag.IsHideSaveButton = true; //Just to hide Save button return(PartialView("_BudgetSupplement", model)); } return(Json("failure")); }
public ActionResult UpdateAvailabilityRequest(UpdateAvailabilityViewModel model, string command, string clr = "email") { try { string[] commands = command.Split("~"); AvailabilityRequestDetailsSetReq requestAvailability = new AvailabilityRequestDetailsSetReq() { BookingNumber = model.BookingNumber, PositionId = model.PositionId, AltSvcId = model.AltSvcId, QRFID = model.COHeaderViewModel.QRFID, AltSvcRoomsAndPrices = model.RoomRateDetails, UpdateReqDetails = model.UpdateReqDetails, Status = commands[0], UserEmailId = ckUserEmailId, Caller = commands[1], PlacerUserId = ckLoginUser_Id, BudgetSupplements = model.BudgetSupplements }; HotelReservationEmailRes response = hotelsProviders.UpdateHotelAvailabilityRequest(requestAvailability).Result; if (response.ResponseStatus.Status == "Success") { model.Status = "success"; } else { model.Status = "error"; model.StatusMessage = response.ResponseStatus.ErrorMessage; } if (commands[1] == "ui") { return(RedirectToAction("ViewHotelsByBooking", new { BookingNo = model.BookingNumber })); } else { return(View("HotelAvailabilityRequest", model)); } //return RedirectToAction("HotelAvailabilityRequest", new { bn = model.BookingNumber, pid = model.PositionId, asid = model.AltSvcId, st = model.Status, avl = command }); } catch (Exception ex) { return(View()); } }
public ActionResult SetBudgetSupplement(UpdateAvailabilityViewModel model) { BudgetSupplementSetReq budgetSupplementSetReq = new BudgetSupplementSetReq() { BookingNumber = model.BookingNumber, PositionId = model.PositionId, AltSvcId = model.AltSvcId, QRFID = model.COHeaderViewModel.QRFID, BudgetSupplements = model.BudgetSupplements, UserEmailId = ckUserEmailId }; CommonResponse response = hotelsProviders.SetBudgetSupplement(budgetSupplementSetReq, token).Result; if (response != null) { return(Json(response.ResponseStatus)); } return(Json("failure")); }
public ActionResult HotelAvailabilityRequest(string bn, string pid, string asid, string st, string avl, string om, string clr = "email", string pagename = "") { UpdateAvailabilityViewModel model = new UpdateAvailabilityViewModel(); try { AvailabilityRequestDetailsGetReq requestAvailability = new AvailabilityRequestDetailsGetReq() { BookingNumber = bn, PositionId = pid, AltSvcId = asid, MailStatus = st, MailType = "", QRFID = "" }; AvailabilityRequestDetailsGetRes response = hotelsProviders.GetHotelAvailabilityRequestDetails(requestAvailability).Result; #region Set Costing Officer Tour Info Header model.COHeaderViewModel.QRFID = response.CostingGetProperties.QRFID; model.COHeaderViewModel.AgentName = response.CostingGetProperties.AgentInfo.AgentName; model.COHeaderViewModel.TourCode = response.CostingGetProperties.AgentProductInfo.TourCode; model.COHeaderViewModel.TourName = response.CostingGetProperties.AgentProductInfo.TourName; model.COHeaderViewModel.NoOfNights = Convert.ToInt32(response.CostingGetProperties.AgentProductInfo.Duration); model.COHeaderViewModel.NoOfDays = Convert.ToInt32(response.CostingGetProperties.AgentProductInfo.Duration) + 1; model.COHeaderViewModel.SalesPerson = response.CostingGetProperties.SalesOfficer; model.COHeaderViewModel.ContactPerson = response.CostingGetProperties.AgentInfo.ContactPerson; model.COHeaderViewModel.Destination = response.CostingGetProperties.AgentProductInfo.Destination; model.COHeaderViewModel.TravelDate = response.CostingGetProperties.DepartureDates.Count > 0 ? response.CostingGetProperties.DepartureDates[0].Date : null; model.COHeaderViewModel.Version = response.CostingGetProperties.VersionId; model.COHeaderViewModel.SystemPhone = response.CostingGetProperties.AgentInfo.MobileNo; model.COHeaderViewModel.BookingNumber = bn; #endregion #region Set SRP, Request Details & etc model.ProductsSRPViewModel = new ProductsSRPViewModel { PageName = "hotel", ProductSRPDetails = response.ProductSRPDetails }; model.SupplierId = response.UpdateReqDetails.SupplierId; model.BookingNumber = bn; model.Status = st; model.OpenMode = om?.ToLower(); model.Availability = !string.IsNullOrEmpty(avl) ? avl : response.UpdateReqDetails.Availability; model.PositionId = pid; model.AltSvcId = asid; model.BudgetCurrencyList = response.CurrencyList; model.UpdateReqDetails = response.UpdateReqDetails; model.ReservationRequestDetails = response.ReservationRequestDetails; model.RoomRateDetails = response.AltSvcRoomsAndPrices; model.BudgetSupplements = response.BudgetSupplements; if (response.ResponseStatus.Status == "pending" || st == "pending") { model.Status = "pending"; } else if (response.ResponseStatus.Status == "done") { model.Status = "done"; } #endregion ViewBag.Caller = clr; if (pagename == "view") { #region GetCommunicationTrail DocumentStoreGetReq req = new DocumentStoreGetReq(); req.BookingNumber = bn; req.AlternateService_Id = asid; CommunicationTrailViewModel objCommunicationTrailViewModel = communicationTrailMapping.GetCommunicationTrail(req, token); model.CommunicationTrailViewModel = objCommunicationTrailViewModel; #endregion } ViewBag.Page = pagename; return(View(model)); } catch (Exception ex) { return(View()); } }