Beispiel #1
0
        public async Task <ActivateHotelDetailsGetRes> GetHotelActivationDetails([FromBody] AvailabilityRequestDetailsGetReq request)
        {
            var response = new ActivateHotelDetailsGetRes();

            try
            {
                if (request != null)
                {
                    response = await _hotelsRepository.GetHotelActivationDetails(request);

                    if (response == null)
                    {
                        response.ResponseStatus.Status       = "Failure";
                        response.ResponseStatus.ErrorMessage = "An error occurred.";
                    }
                }
                else
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "Product details can not be blank.";
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An error occurs " + ex.Message;
            }
            return(response);
        }
Beispiel #2
0
        public async Task <HotelReservationEmailRes> UpdateHotelActivationDetails([FromBody] AvailabilityRequestDetailsGetReq request)
        {
            var response = new HotelReservationEmailRes();

            try
            {
                if (request != null && !string.IsNullOrEmpty(request.BookingNumber) && !string.IsNullOrEmpty(request.PositionId) && !string.IsNullOrEmpty(request.AltSvcId))
                {
                    response = await _hotelsRepository.UpdateHotelActivationDetails(request);

                    if (response == null)
                    {
                        response.ResponseStatus.Status       = "Failure";
                        response.ResponseStatus.ErrorMessage = "An error occurred.";
                    }
                }
                else
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "Booking details can not be blank.";
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An error occurs " + ex.Message;
            }
            return(response);
        }
Beispiel #3
0
        public JsonResult SwitchProduct(string BookingNumber, string PositionId, string AltSvcId, string SwitchType, string OptionDate, string CancellationDeadline)
        {
            ActivateHotelViewModel model = new ActivateHotelViewModel();

            try
            {
                AvailabilityRequestDetailsGetReq requestAvailability = new AvailabilityRequestDetailsGetReq()
                {
                    BookingNumber        = BookingNumber,
                    PositionId           = PositionId,
                    AltSvcId             = AltSvcId,
                    MailType             = SwitchType,
                    UserEmailId          = ckUserEmailId,
                    PlacerUserId         = ckLoginUser_Id,
                    PageType             = "hotels",
                    OptionDate           = OptionDate,
                    CancellationDeadline = CancellationDeadline
                };
                HotelReservationEmailRes response = hotelsProviders.UpdateHotelActivationDetails(requestAvailability, token).Result;

                if (response != null && response.ResponseStatus != null)
                {
                    return(Json(new { status = response.ResponseStatus.Status.ToLower(), message = response.ResponseStatus.ErrorMessage }));
                }
                else
                {
                    return(Json(new { status = "error", message = "No response received" }));
                }
            }
            catch (Exception ex)
            {
                return(Json("error"));
            }
        }
Beispiel #4
0
        public async Task <HotelReservationEmailRes> UpdateHotelActivationDetails(AvailabilityRequestDetailsGetReq AvailabilityReq, string ticket)
        {
            HotelReservationEmailRes AvailibilityGetRes = new HotelReservationEmailRes();

            AvailibilityGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceHotels:UpdateHotelActivationDetails"), AvailabilityReq, typeof(HotelReservationEmailRes), ticket);

            return(AvailibilityGetRes);
        }
Beispiel #5
0
        public async Task <ActivateHotelDetailsGetRes> GetHotelActivationDetails(AvailabilityRequestDetailsGetReq availabilityGetReq, string ticket)
        {
            ActivateHotelDetailsGetRes availabilityGetRes = new ActivateHotelDetailsGetRes();

            availabilityGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceHotels:GetHotelActivationDetails"), availabilityGetReq, typeof(ActivateHotelDetailsGetRes), ticket);

            return(availabilityGetRes);
        }
Beispiel #6
0
        public ActionResult _ActivateHotelRequest(string bn, string pid, string asid)
        {
            ActivateHotelViewModel model = new ActivateHotelViewModel();

            try
            {
                AvailabilityRequestDetailsGetReq requestAvailability = new AvailabilityRequestDetailsGetReq()
                {
                    BookingNumber = bn,
                    PositionId    = pid,
                    AltSvcId      = asid
                };
                ActivateHotelDetailsGetRes response = hotelsProviders.GetHotelActivationDetails(requestAvailability, token).Result;

                #region Set model details from service response

                model.BookingNumber             = bn;
                model.PositionId                = pid;
                model.AltSvcId                  = asid;
                model.PositionProductDetails    = response.PositionProductDetails;
                model.ReservationRequestDetails = response.ReservationRequestDetails;
                model.UpdateReqDetails          = response.UpdateReqDetails;
                model.RoomRateDetails           = response.AltSvcRoomsAndPrices;
                model.PosProductSRPViewModel    = new ProductsSRPViewModel
                {
                    PageName          = "hotel",
                    ProductSRPDetails = response.PosProductSRPDetails
                };
                model.AltProductSRPViewModel = new ProductsSRPViewModel
                {
                    PageName          = "hotel",
                    ProductSRPDetails = response.AltProductSRPDetails
                };
                #endregion
                return(View(model));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
Beispiel #7
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());
            }
        }