Пример #1
0
        public async Task <DepartureDateGetResponse> GetDepartureDatesForQRFId(DepartureDateGetRequest objDepartureDateRequest, string ticket)
        {
            DepartureDateGetResponse objDepartureDateResponse = new DepartureDateGetResponse();

            objDepartureDateResponse = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceDeparture:GetDepartureDatesForQRFId"), objDepartureDateRequest, typeof(DepartureDateGetResponse), ticket);

            return(objDepartureDateResponse);
        }
Пример #2
0
        public JsonResult GetDepartureDatesForQRFId(string QRFID, string SelectedDate)
        {
            //if (SelectedDate != null) SelectedDate = "04 Sep 2012";
            DepartureDateGetRequest objDepartureDatesReq = new DepartureDateGetRequest()
            {
                QRFID = QRFID, date = string.IsNullOrEmpty(SelectedDate) ? (DateTime?)null : Convert.ToDateTime(SelectedDate)
            };
            SalesProviders           objSalesProvider     = new SalesProviders(_configuration);
            DepartureDateGetResponse objDepartureDatesRes = objSalesProvider.GetDepartureDatesForQRFId(objDepartureDatesReq, token).Result;

            return(Json(objDepartureDatesRes.DepartureDates));
        }
Пример #3
0
        public IActionResult GetDateRange(string QRFId)
        {
            NewQuoteViewModel model = new NewQuoteViewModel();

            try
            {
                #region Departure Dates
                model.mdlQuoteDateRangeViewModel.TravelDateType = "SpecificDates";
                model.mdlQuoteDateRangeViewModel.QuoteSpecificDateViewModel.Add(new QuoteSpecificDateViewModel()
                {
                    DepartureId = -1, SelectedDate = DateTime.Today.ToString("dd MMM yyyy"), NoOfDepartures = 1, PaxPerDeparture = 1, Warning = "", IsDeleted = false
                });
                JsonResult json = GetDepartureDatesForQRFId(QRFId, null);
                DepartureDateGetResponse departureDateRes = new DepartureDateGetResponse {
                    DepartureDates = (List <DepartureDates>)json.Value
                };
                if (departureDateRes != null && departureDateRes.DepartureDates != null && departureDateRes.DepartureDates.Count > 0)
                {
                    //model.mdlQuoteDateRangeViewModel.QuoteSpecificDateViewModel.Clear();
                    model.mdlQuoteDateRangeViewModel.QuoteSpecificDateViewModel.AddRange(departureDateRes.DepartureDates
                                                                                         .Select(a => new QuoteSpecificDateViewModel
                    {
                        DepartureId     = a.Departure_Id,
                        IsDeleted       = a.IsDeleted,
                        NoOfDepartures  = a.NoOfDep,
                        PaxPerDeparture = a.PaxPerDep,
                        SelectedDate    = a.Date == null ? "" : Convert.ToDateTime(a.Date).ToString("dd MMM yyyy"),
                        Warning         = a.Warning
                    }));
                }
                #endregion

                model.QRFID = model.QRFID;
                model.mdlQuoteDateRangeViewModel.QuoteSpecificDateViewModel = model.mdlQuoteDateRangeViewModel.QuoteSpecificDateViewModel;
                model.mdlQuoteDateRangeViewModel.TravelDateType             = model.mdlQuoteDateRangeViewModel.TravelDateType;
            }
            catch (Exception ex)
            {
                throw;
            }
            return(PartialView("_QuoteDateRange", model.mdlQuoteDateRangeViewModel));
        }
Пример #4
0
        public IActionResult GetItinerary(string QRFID, string filterByDay = null, string filterByServiceType = null, long filterByDeparture = 0, long filterByPaxSlab = 0)
        {
            try
            {
                ItineraryViewModel model = new ItineraryViewModel();

                #region Get Quote Info By QRFId
                NewQuoteViewModel modelQuote = new NewQuoteViewModel();
                modelQuote.QRFID = QRFID;
                SalesQuoteLibrary quoteLibrary = new SalesQuoteLibrary(_configuration);
                bool GetStatus = false;
                GetStatus = quoteLibrary.GetQRFAgentByQRFId(_configuration, token, ref modelQuote);
                if (GetStatus)
                {
                    model.TourInfoHeaderViewModel       = modelQuote.TourInfoHeaderViewModel;
                    model.MenuViewModel.EnquiryPipeline = modelQuote.mdlMenuViewModel.EnquiryPipeline;
                }
                #endregion

                #region Get Itinerary Details by QRFId
                itineraryGetReq          = new ItineraryGetReq();
                itineraryGetReq.QRFID    = QRFID;
                itineraryGetReq.editUser = ckUserEmailId;
                itineraryGetRes          = coProviders.GetItineraryDetails(itineraryGetReq, token).Result;
                model.Itinerary          = itineraryGetRes.Itinerary;
                #endregion

                #region Get Costsheet by QRFId
                NewQuoteViewModel modelQuote1 = new NewQuoteViewModel();
                bool GetStatus1 = false;
                SalesQuoteLibrary quoteLibrary1 = new SalesQuoteLibrary(_configuration);
                if (!string.IsNullOrEmpty(QRFID))
                {
                    modelQuote1.QRFID = QRFID;
                    GetStatus1        = quoteLibrary1.GetQRFPaxSlabDetails(_configuration, token, ref modelQuote1);
                }
                SalesProviders          objSalesProvider     = new SalesProviders(_configuration);
                DepartureDateGetRequest objDepartureDatesReq = new DepartureDateGetRequest()
                {
                    QRFID = QRFID, date = (DateTime?)null
                };
                DepartureDateGetResponse objDepartureDatesRes = objSalesProvider.GetDepartureDatesForQRFId(objDepartureDatesReq, token).Result;
                model.PaxSlabList = (modelQuote1.mdlQuotePaxRangeViewModel.QuotePaxSlabDetails).Select(a => new AttributeValues {
                    AttributeValue_Id = a.PaxSlabId.ToString(), Value = a.PaxSlabFrom + "-" + a.PaxSlabTo
                }).ToList();
                model.DepartureDatesList = (objDepartureDatesRes.DepartureDates).Select(a => new AttributeValues {
                    AttributeValue_Id = a.Departure_Id.ToString(), Value = Convert.ToDateTime(a.Date).ToString("dd MMM yy")
                }).ToList();
                long            defaultPaxSlabId = Convert.ToInt32(model.PaxSlabList[0].AttributeValue_Id);
                CostsheetGetReq request          = new CostsheetGetReq();
                CostsheetGetRes response         = new CostsheetGetRes();
                request.QRFID       = QRFID;
                request.DepartureId = filterByDeparture == 0 ? objDepartureDatesRes.DepartureDates[0].Departure_Id : filterByDeparture;
                request.PaxSlabId   = filterByPaxSlab == 0 ? defaultPaxSlabId : filterByPaxSlab;
                response            = coProviders.GetCostsheet(request, token).Result;
                #endregion

                #region Price Per Person Binding
                List <ItineraryDaysInfo>    lstDays      = itineraryGetRes.Itinerary.ItineraryDays.ToList();
                List <QRFPkgAndNonPkgPrice> lstPositions = new List <QRFPkgAndNonPkgPrice>();

                foreach (var a in lstDays)
                {
                    List <ItineraryDescriptionInfo> lstdes = a.ItineraryDescription.Where(x => x.KeepAs.ToUpper() != "INCLUDED").ToList();
                    foreach (var k in response.QrfNonPackagePrice.Where(y => y.RoomName.ToUpper() == "ADULT"))
                    {
                        foreach (var l in lstdes)
                        {
                            if (l.PositionId == k.PositionId)
                            {
                                lstPositions.Add(new QRFPkgAndNonPkgPrice {
                                    QRFCurrency = string.IsNullOrEmpty(k.QRFCurrency) ? "" : k.QRFCurrency.Substring(0, 3).ToUpper(), SellPrice = k.SellPrice, PositionId = k.PositionId, PositionKeepAs = k.PositionKeepAs, PaxSlabId = k.PaxSlab_Id, ProductName = k.ProductName, RoomName = k.RoomName
                                });
                            }
                        }
                    }
                }

                model.ListNonQrfPkgPositions = lstPositions;
                #endregion

                #region Filter Dropdown Bindings
                model.DayList         = GetDays(itineraryGetRes.Itinerary.ItineraryDays);
                model.ServiceTypeList = GetProductTypes(model.Itinerary.ItineraryDays);
                #endregion

                #region Date Binding
                if (filterByDay == "Day")
                {
                    filterByDay = null;
                }

                if (filterByServiceType == "Service Type")
                {
                    filterByServiceType = null;
                }

                if (!string.IsNullOrEmpty(filterByDay))
                {
                    model.Itinerary.ItineraryDays = model.Itinerary.ItineraryDays.Where(x => x.Day == filterByDay).ToList();
                }

                if (!string.IsNullOrEmpty(filterByServiceType))
                {
                    for (int i = 0; i < model.Itinerary.ItineraryDays.Count; i++)
                    {
                        model.Itinerary.ItineraryDays[i].ItineraryDescription = model.Itinerary.ItineraryDays[i].ItineraryDescription.Where(x => x.ProductType == filterByServiceType).ToList();
                    }
                }
                model.Days          = filterByDay;
                model.Services      = filterByServiceType;
                model.DepartureDate = filterByDeparture;
                model.PaxSlab       = filterByPaxSlab;
                #endregion

                return(PartialView("_Itinerary", model));
            }
            catch (Exception ex)
            {
                throw;
            }
        }