Example #1
0
        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"));
        }
Example #2
0
        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());
            }
        }
Example #3
0
        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"));
        }
Example #4
0
        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());
            }
        }