public IActionResult GetQRFSummaryData(string QRFID, string filterByDay = null, string filterByServiceType = null, string PageName = "QRFSummary") { try { QRFSummaryViewModel model = new QRFSummaryViewModel(); model.PageName = PageName; #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; } #endregion //#region Get Summary Detailsby QRFId //qrfSummaryGetReq = new QRFSummaryGetReq(); //qrfSummaryGetReq.QRFID = QRFID; //qrfSummaryGetRes = qrfSummaryProviders.GetQRFSummary(qrfSummaryGetReq, token).Result; //model.SummaryDetails = qrfSummaryMapping.GetQRFSummaryDetails(qrfSummaryGetRes, token); //model.QRFID = QRFID; //#endregion #region Get Itinerary Details by QRFId itineraryGetReq = new ItineraryGetReq(); itineraryGetReq.QRFID = QRFID; itineraryGetReq.Page = PageName; itineraryGetReq.editUser = ckUserEmailId; itineraryGetRes = coProviders.GetItineraryDetails(itineraryGetReq, token).Result; model.Itinerary = itineraryGetRes.Itinerary; #endregion #region Filter Dropdown Bindings model.DayList = GetDays(model.Itinerary.ItineraryDays); //model.ServiceTypeList = GetProductTypes(); model.ServiceTypeList = GetProductTypes(model.Itinerary.ItineraryDays); #endregion 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; return(PartialView("_QRFSummary", model)); } catch (Exception ex) { throw; } }
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; } }