Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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));
        }
Example #5
0
        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;
            }
        }
Example #6
0
        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());
            }
        }
Example #7
0
        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);
        }
Example #8
0
        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));
        }
Example #9
0
        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;
            }
        }
Example #10
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;
            }
        }
Example #11
0
        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);
        }