public async Task <ItineraryGetRes> GetItineraryDetails([FromBody] ItineraryGetReq request) { var response = new ItineraryGetRes(); try { if (!string.IsNullOrEmpty(request.QRFID) && request != null) { mItinerary result = await _itineraryRepository.GetItineraryDetails(request); response.ResponseStatus.Status = "Success"; response.ResponseStatus.ErrorMessage = result != null ? "" : "No Records Found."; response.Itinerary = result; } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "QRFId can not be Null/Zero."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message; } return(response); }
public async Task <ItineraryGetRes> GetQRFPosition(ItineraryGetReq itineraryGetReq, string ticket) { ItineraryGetRes itineraryGetRes = new ItineraryGetRes(); itineraryGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceItinerary:GetQRFPosition"), itineraryGetReq, typeof(ItineraryGetRes), ticket); return(itineraryGetRes); }
public List <ItineraryDaysInfo> GetSuggestedItineraryDetails(ItineraryGetRes itineraryGetRes, string token) { mItinerary model = new mItinerary(); List <ItineraryDaysInfo> itineraryDays = new List <ItineraryDaysInfo>(); try { var totalItineraryDays = itineraryGetRes.Itinerary.ItineraryDays.Count; if (itineraryGetRes.ResponseStatus.Status == "Success" && totalItineraryDays > 0) { int counter = 0; foreach (var itinerary in itineraryGetRes.Itinerary.ItineraryDays) { var obj = new ItineraryDaysInfo(); obj.ItineraryDaysId = itinerary.ItineraryDaysId; obj.Day = itinerary.Day; obj.Date = itinerary.Date;//.ToString("dd MMM yy"); obj.DayOfWeek = itinerary.DayOfWeek; //obj.City = itinerary.City; if (counter == 0) { obj.ItineraryName = "ARRIVE AT " + itinerary.ItineraryName.Split('-')[0]; } else if (counter == totalItineraryDays - 1) { obj.ItineraryName = "DEPART FROM " + itinerary.ItineraryName.Split('-')[0]; } else { obj.ItineraryName = itinerary.ItineraryName; } foreach (var description in itinerary.ItineraryDescription) { var desc = new ItineraryDescriptionInfo(); desc.PositionId = description.PositionId; desc.City = description.City; desc.ProductName = description.ProductName; desc.ProductType = description.ProductType; desc.Type = description.Type; desc.IsDeleted = description.IsDeleted; desc.StartTime = description.StartTime; desc.EndTime = description.EndTime; obj.ItineraryDescription.Add(desc); } itineraryDays.Add(obj); counter++; } } } catch (Exception ex) { } return(itineraryDays); }
public IActionResult GetActivityList(string QRFID, string filterByDay = null, string filterByServiceType = null) { model.MenuViewModel.QRFID = QRFID; #region Get Itinerary Details by QRFID itineraryGetReq = new ItineraryGetReq(); itineraryGetReq.QRFID = QRFID; itineraryGetRes = coProviders.GetItinerary(itineraryGetReq, token).Result; model.Itinerary = itineraryGetRes.Itinerary; model.Itinerary.ItineraryDays.ForEach(a => a.ItineraryDescription.RemoveAll(b => b.IsDeleted)); model.Itinerary.ItineraryDays.ForEach(a => a.Hotel.RemoveAll(b => b.IsDeleted)); model.Itinerary.ItineraryDays.ForEach(a => a.Meal.RemoveAll(b => b.IsDeleted)); #endregion #region Filter Dropdown Bindings model.DayList = GetDays(itineraryGetRes.Itinerary.ItineraryDays); model.ServiceTypeList = GetProductTypes(model.Itinerary.ItineraryDays); 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; #endregion return(PartialView("ActivityList/_ActivityList", model)); }
public IActionResult GetRemarksForPosition(string QRFID, string PositionId, string ItineraryId, string ItineraryDaysId) { try { //positionGetReq = new PositionGetReq(); //positionGetReq.QRFID = QRFID; //positionGetReq.PositionId = PositionId; //positionGetReq.Type = "all"; //positionGetRes = positionProviders.GetPosition(positionGetReq, token).Result; OriginalItineraryDetails model = new OriginalItineraryDetails(); #region Get Itinerary Details by QRFId itineraryGetReq = new ItineraryGetReq(); itineraryGetReq.QRFID = QRFID; itineraryGetRes = coProviders.GetItinerary(itineraryGetReq, token).Result; #endregion if (itineraryGetRes != null && itineraryGetRes.Itinerary != null && !string.IsNullOrEmpty(itineraryGetRes.Itinerary.ItineraryID)) { var day = itineraryGetRes.Itinerary.ItineraryDays.Where(x => x.ItineraryDaysId == ItineraryDaysId).FirstOrDefault(); var pos = day.ItineraryDescription.Where(x => x.PositionId == PositionId).FirstOrDefault(); model.TLRemarks = pos.TLRemarks; model.OPSRemarks = pos.OPSRemarks; model.PositionId = pos.PositionId; model.ItineraryId = itineraryGetRes.Itinerary.ItineraryID; model.ItineraryDaysId = day.ItineraryDaysId; } //model.TLRemarks = positionGetRes.mPosition[0].TLRemarks; //model.OPSRemarks = positionGetRes.mPosition[0].OPSRemarks; //model.PositionId = positionGetRes.mPosition[0].PositionId; return(PartialView("_Remarks", model)); } catch (Exception ex) { throw; } }
public IActionResult ProposalSuggestedItinerary(string QRFID) { try { ProposalViewModel proposalViewModel = new ProposalViewModel(); proposalViewModel.QRFID = QRFID; #region Get Itinerary Details by QRFId itineraryGetReq = new ItineraryGetReq(); itineraryGetReq.QRFID = QRFID; itineraryGetRes = coProviders.GetItinerary(itineraryGetReq, token).Result; proposalViewModel.Itinerary = itineraryGetRes.Itinerary; proposalViewModel.Itinerary.ItineraryDays.ForEach(a => a.ItineraryDescription.RemoveAll(b => b.IsDeleted)); #endregion return(PartialView("_ProposalSuggestedItinerary", proposalViewModel)); } catch (Exception ex) { throw; return(View()); } }
public async Task <ItineraryGetRes> GetQRFPosition([FromBody] ItineraryGetReq request) { var response = new ItineraryGetRes(); try { if (request != null && !string.IsNullOrEmpty(request.QRFID)) { response = await _itineraryRepository.GetQRFPosition(request); } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "QRF ID can not be Null/Zero."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message; } return(response); }
public IActionResult AddNewItineraryDetails(string QRFID, string PositionId, string ItineraryID, string ItineraryDaysId, string Day, string action, string type = "") { ExtraPosition position = new ExtraPosition(); position.Day = Day; position.Type = type; if (type == "opsItinerary") { #region Get dropdown values for Ops Service Itinerary Details OpsBookingItineraryGetReq opsBookingGetReq = new OpsBookingItineraryGetReq() { BookingNumber = QRFID }; OpsBookingItineraryGetRes opsBookingGetRes = operationsProviders.GetItineraryBuilderDetails(opsBookingGetReq, token).Result; position.DayList = opsBookingGetRes.OpsItineraryDetails.Days.Select(x => new Attributes() { Attribute_Id = x, AttributeName = x }).ToList(); position.CityList = opsBookingGetRes.OpsItineraryDetails.Cities.Select(x => new Attributes() { Attribute_Id = x, AttributeName = x }).ToList(); position.CityList.RemoveAll(x => string.IsNullOrWhiteSpace(x.AttributeName)); #endregion #region Get Position Detail OpsBookingItineraryGetReq opsBookingGetReq1 = new OpsBookingItineraryGetReq() { BookingNumber = QRFID, ItineraryDetailId = ItineraryID }; OpsBookingItineraryGetRes opsBookingGetRes2 = operationsProviders.GetItineraryBuilderPositionDetailById(opsBookingGetReq1, token).Result; position.StartTime = opsBookingGetRes2.ItineraryDetails.STARTTIME; position.EndTime = opsBookingGetRes2.ItineraryDetails.ENDTIME; position.ProductName = opsBookingGetRes2.ItineraryDetails.Description; position.City = opsBookingGetRes2.ItineraryDetails.CityName; position.PositionId = opsBookingGetRes2.ItineraryDetails.Position_Id; position.Day = "Day " + opsBookingGetRes2.ItineraryDetails.DayNo; #endregion if (action == "EditDesc") { position.flag = true; } else { position.flag = false; } } else { #region Get Itinerary Details by QRFId itineraryGetReq = new ItineraryGetReq(); itineraryGetReq.QRFID = QRFID; itineraryGetRes = coProviders.GetItinerary(itineraryGetReq, token).Result; #endregion if (action == "Edit") { position.flag = true; } else { position.flag = false; } position.QRFID = QRFID; position.ItineraryID = ItineraryID; position.DayList = GetDays(itineraryGetRes.Itinerary.ItineraryDays); //position.CityList = GetCity(itineraryGetRes.Itinerary.ItineraryDays); RoutingGetReq routingGetReq = new RoutingGetReq(); routingGetReq.QRFID = QRFID; RoutingGetRes routingGetRes = objSalesProvider.getQRFRoutingDetails(routingGetReq, token).Result; position.CityList = GetCity(routingGetRes.RoutingInfo); //position.CityList = routingGetRes.RoutingInfo.Select(x => new Attributes { Attribute_Id = x.FromCityID, // AttributeName = (!string.IsNullOrWhiteSpace(x.FromCityName) && x.FromCityName.Contains(',')) ? x.FromCityName.Split(',')[0] : x.FromCityName }).ToList(); position.ItineraryDaysId = string.IsNullOrEmpty(ItineraryDaysId) ? position.DayList != null && position.DayList.Count > 0 ? position.DayList[0].Attribute_Id : "" : ItineraryDaysId; position.City = ItineraryDaysId; foreach (var k in itineraryGetRes.Itinerary.ItineraryDays) { if (k.ItineraryDaysId == ItineraryDaysId) { foreach (var p in k.ItineraryDescription) { if (p.PositionId == PositionId) { //var city = itineraryGetRes.Itinerary.ItineraryDays.Where(x => x.City == p.City).Select(y => y.ItineraryDaysId).FirstOrDefault(); position.StartTime = p.StartTime; position.EndTime = p.EndTime; position.ProductName = p.ProductName; position.Day = k.ItineraryDaysId; position.City = p.City; position.PositionId = p.PositionId; } } } else { position.Day = ItineraryDaysId; //position.City = ItineraryDaysId; } } } return(PartialView("_AddNewItineraryDetails", position)); }
public IActionResult GetItineraryData(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 Itinerary Details by QRFId itineraryGetReq = new ItineraryGetReq(); itineraryGetReq.QRFID = QRFID; itineraryGetRes = coProviders.GetItinerary(itineraryGetReq, token).Result; model.Itinerary = itineraryGetRes.Itinerary; #endregion #region Filter Dropdown Bindings model.DayList = GetDays(model.Itinerary.ItineraryDays); 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; } }
public async Task <ItineraryGetRes> GetQRFPosition(ItineraryGetReq request) { var response = new ItineraryGetRes(); request.ProductType = request.ProductType ?? new List <ProductType>(); try { var resultQuote = await _MongoContext.mQuote.FindAsync(m => m.QRFID == request.QRFID); if (resultQuote != null && resultQuote.ToList().Count > 0) { //#region Routing Info //RoutingGetReq routingGetReq = new RoutingGetReq { QRFId = request.QRFId }; //List<RoutingInfo> lstRoutingInfo = await _quoteRepository.GetQRFRouteDetailsByQRFID(routingGetReq); //response.RoutingInfo = lstRoutingInfo != null && lstRoutingInfo.Count > 0 ? lstRoutingInfo : (new List<RoutingInfo>()); //#endregion //#region Routing Days //RoutingDaysGetReq req = new RoutingDaysGetReq { QRFID = request.QRFId }; //RoutingDaysGetRes res = await _quoteRepository.GetQRFRoutingDays(req); //List<AttributeValues> DaysList = new List<AttributeValues>(); //if (res != null && res.ResponseStatus.Status.ToLower() == "success") //{ // if (res.RoutingDays != null && res.RoutingDays.Count > 0) // { // foreach (var item in res.RoutingDays) // { // DaysList.Add(new AttributeValues { AttributeValue_Id = item.RoutingDaysID, Value = item.Days }); // } // } //} //response.DaysList = DaysList; //response.RoutingDays = res.RoutingDays; //#endregion List <mQRFPosition> resultPosition = new List <mQRFPosition>(); if (request.ProductType.Count == 0 && string.IsNullOrEmpty(request.PositionId)) { resultPosition = _MongoContext.mQRFPosition.AsQueryable().Where(q => q.QRFID == request.QRFID && q.IsDeleted == false).Select(q => q).ToList(); } else if (request.ProductType.Count > 0 && string.IsNullOrEmpty(request.PositionId)) { List <string> lstStr = request.ProductType.Select(a => a.ProdType).ToList(); if (!string.IsNullOrEmpty(request.Type) && (request.Type == "meal" || request.Type == "transfer")) { resultPosition = _MongoContext.mQRFPosition.AsQueryable().Where(q => q.QRFID == request.QRFID && lstStr.Contains(q.ProductType) && q.IsDeleted == false).Select(q => q).ToList(); //response = GetMealProducts(req.QRFID, request.Type); response.mQRFPosition = resultPosition; //response.DaysList = DaysList; //response.RoutingDays = res.RoutingDays; } else { resultPosition = _MongoContext.mQRFPosition.AsQueryable().Where(q => q.QRFID == request.QRFID && lstStr.Contains(q.ProductType) && q.IsDeleted == false).Select(q => q).ToList(); } } else if (request.ProductType.Count > 0 && !string.IsNullOrEmpty(request.PositionId)) { List <string> lstStr = request.ProductType.Select(a => a.ProdType).ToList(); resultPosition = _MongoContext.mQRFPosition.AsQueryable().Where(q => q.QRFID == request.QRFID && lstStr.Contains(q.ProductType) && q.PositionId == request.PositionId && q.IsDeleted == false). Select(q => q).ToList(); } else if (request.ProductType.Count == 0 && !string.IsNullOrEmpty(request.PositionId) && !string.IsNullOrEmpty(request.Type) && request.Type == "all") { resultPosition = _MongoContext.mQRFPosition.AsQueryable().Where(q => q.QRFID == request.QRFID && q.PositionId == request.PositionId).Select(q => q).ToList(); } else if (request.ProductType.Count == 0 && !string.IsNullOrEmpty(request.PositionId)) { resultPosition = _MongoContext.mQRFPosition.AsQueryable().Where(q => q.QRFID == request.QRFID && q.PositionId == request.PositionId && q.IsDeleted == false). Select(q => q).ToList(); } if (resultPosition != null && resultPosition.Count > 0) { resultPosition.ForEach(c => { c.RoomDetailsInfo.RemoveAll(d => d.IsDeleted == true); }); response.mQRFPosition = resultPosition; } else { response.mQRFPosition = new List <mQRFPosition>(); } //if ((lstRoutingInfo == null || lstRoutingInfo.Count == 0) && resultPosition.Count > 0) //{ // resultPosition.ForEach(p => { p.IsDeleted = true; p.DeletedFrom = "NoRoutingFound-FromService"; }); // PositionSetReq positionSetReq = new PositionSetReq { SaveType = "complete", mqrf = resultPosition }; // PositionSetRes objPositionSetRes = SetPosition(positionSetReq).Result; // if (objPositionSetRes != null && response.ResponseStatus.Status.ToLower() == "success") // { // response.ResponseStatus.Status = "Failure"; // response.ResponseStatus.ErrorMessage = "No Routing Details found."; // } // else // { // response.ResponseStatus.ErrorMessage = "Details not updated."; // response.ResponseStatus.Status = "Failure"; // } // response.DaysList = new List<AttributeValues>(); // response.RoutingInfo = new List<RoutingInfo>(); // response.RoutingInfo = new List<RoutingInfo>(); // response.mQRFPosition = new List<mQRFPosition>(); //} //else //{ // response.ResponseStatus.Status = "Success"; //} } else { //response.DaysList = new List<AttributeValues>(); //response.RoutingInfo = new List<RoutingInfo>(); response.mQRFPosition = new List <mQRFPosition>(); response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "QRFID is not exists."; } response.ResponseStatus.Status = "success"; response.ProductType = request.ProductType; response.QRFID = request.QRFID; } catch (Exception ex) { Console.WriteLine(ex.Message); } return(response); }