예제 #1
0
        public async Task <GuesstimateGetRes> GetSupplierPrice([FromBody] GuesstimateGetReq request)
        {
            var response = new GuesstimateGetRes();

            try
            {
                if (!string.IsNullOrEmpty(request.QRFID))
                {
                    response = _guesstimateRepository.GetSupplierPrice(request);
                    response.ResponseStatus.Status       = "Success";
                    response.ResponseStatus.ErrorMessage = response != null ? "" : "No Records Found.";
                }
                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);
        }
예제 #2
0
        public GuesstimateVersionGetRes GetGuesstimateVersions([FromBody] GuesstimateGetReq request)
        {
            var response = new GuesstimateVersionGetRes();

            try
            {
                if (!string.IsNullOrEmpty(request.QRFID))
                {
                    List <GuesstimateVersion> result = _guesstimateRepository.GetGuesstimateVersions(request);
                    response.ResponseStatus.Status       = "Success";
                    response.ResponseStatus.ErrorMessage = result != null ? "" : "No Records Found.";

                    response.GuesstimateVersions = 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);
        }
예제 #3
0
        public IActionResult GetDetailedInfo(string QRFID, long filterByDeparture = 0)
        {
            DetailedInfoViewModel model = new DetailedInfoViewModel();

            #region Dropdown Binding
            QRFDepartureDateGetReq objDepartureDatesReq = new QRFDepartureDateGetReq()
            {
                QRFID = QRFID, date = (DateTime?)null
            };
            QRFDepartureDateGetRes objDepartureDatesRes = coProviders.GetDepartureDatesForCostingByQRF_Id(objDepartureDatesReq, token).Result;
            QRFPaxSlabGetReq       objPaxSlabReq        = new QRFPaxSlabGetReq()
            {
                QRFID = QRFID
            };
            QRFPaxGetResponse objPaxSlabRes = coProviders.GetPaxSlabDetailsForCostingByQRF_Id(objPaxSlabReq, token).Result;
            GuesstimateGetReq request       = new GuesstimateGetReq()
            {
                QRFID = QRFID
            };
            GuesstimateGetRes response = coProviders.GetGuesstimate(request, token).Result;

            model.ProductNameList    = GetProductNamesFromGuesstimate(response.Guesstimate.GuesstimatePosition);
            model.SupplierList       = GetSuppliersFromGuesstimate(response.Guesstimate.GuesstimatePosition);
            model.ProductTypeList    = GetProductTypesFromGuesstimate(response.Guesstimate.GuesstimatePosition);
            model.DepartureDatesList = (objDepartureDatesRes.DepartureDates).Select(a => new AttributeValues {
                AttributeValue_Id = a.Departure_Id.ToString(), Value = Convert.ToDateTime(a.Date).ToString("dd MMM yy")
            }).ToList();
            model.PaxSlabList = (objPaxSlabRes.PaxSlabDetails.QRFPaxSlabs).Select(a => new AttributeValues {
                AttributeValue_Id = a.PaxSlab_Id.ToString(), Value = a.From + "-" + a.To
            }).ToList();
            #endregion

            return(PartialView("_DetailedInfo", model));
        }
예제 #4
0
        public async Task <GuesstimateGetRes> GetSupplierPrice(GuesstimateGetReq guesstimateGetReq, string ticket)
        {
            GuesstimateGetRes guesstimateGetRes = new GuesstimateGetRes();

            guesstimateGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceGuesstimate:GetSupplierPrice"), guesstimateGetReq, typeof(GuesstimateGetRes), ticket);

            return(guesstimateGetRes);
        }
예제 #5
0
 public IActionResult GetGuesstimateVersions(string QRFID)
 {
     try
     {
         GuesstimateVersionGetRes response = new GuesstimateVersionGetRes();
         GuesstimateGetReq        request  = new GuesstimateGetReq();
         request.QRFID = QRFID;
         response      = coProviders.GetGuesstimateVersions(request, token).Result;
         return(PartialView("_GuesstimateVersion", response.GuesstimateVersions));
     }
     catch (Exception ex)
     {
         throw;
         return(View());
     }
 }
예제 #6
0
        public IActionResult GetSupplierPrice(string QRFID, long DepartureId = 0, long PaxSlabId = 0, string PositionId = null, string SupplierId = null)
        {
            try
            {
                #region Get Guesstimate by QRFId
                GuesstimateGetRes response = new GuesstimateGetRes();
                GuesstimateGetReq request  = new GuesstimateGetReq();
                request.QRFID       = QRFID;
                request.DepartureId = DepartureId;
                request.PaxSlabId   = PaxSlabId;
                request.PositionId  = PositionId;
                request.SupplierId  = SupplierId;
                request.LoginUserId = ckUserEmailId;

                if (DepartureId == 0)
                {
                    QRFDepartureDateGetReq objDepartureDatesReq = new QRFDepartureDateGetReq()
                    {
                        QRFID = QRFID, date = (DateTime?)null
                    };
                    QRFDepartureDateGetRes objDepartureDatesRes = coProviders.GetDepartureDatesForCostingByQRF_Id(objDepartureDatesReq, token).Result;
                    request.DepartureId = objDepartureDatesRes.DepartureDates[0].Departure_Id;
                }
                if (PaxSlabId == 0)
                {
                    QRFPaxSlabGetReq objPaxSlabReq = new QRFPaxSlabGetReq()
                    {
                        QRFID = QRFID
                    };
                    QRFPaxGetResponse objPaxSlabRes = coProviders.GetPaxSlabDetailsForCostingByQRF_Id(objPaxSlabReq, token).Result;
                    request.PaxSlabId = objPaxSlabRes.PaxSlabDetails.QRFPaxSlabs[0].PaxSlab_Id;
                }

                response = coProviders.GetSupplierPrice(request, token).Result;
                #endregion
                return(Json(response));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
예제 #7
0
        public IActionResult GetGuesstimateData(string QRFID, string filterByDay = null, string filterByServiceType = null, string filterByPackageType = null, long filterByDeparture = 0, long filterByPaxSlab = 0, string SuccessMessage = null, string ErrorMessage = null, string CalculateFor = null)
        {
            try
            {
                if (!(string.IsNullOrEmpty(SuccessMessage)))
                {
                    TempData["success"] = SuccessMessage;
                }

                if (!(string.IsNullOrEmpty(ErrorMessage)))
                {
                    TempData["error"] = ErrorMessage;
                }

                GuesstimateViewModel model = new GuesstimateViewModel();

                //#region Get Summary Detailsby QRFId
                //qrfSummaryGetReq = new QRFSummaryGetReq();
                //qrfSummaryGetReq.QRFID = QRFID;
                //qrfSummaryGetRes = qrfSummaryProviders.GetQRFSummary(qrfSummaryGetReq, token).Result;
                //model.SummaryDetails = qrfSummaryMapping.GetQRFSummaryDetails(qrfSummaryGetRes, token);
                //#endregion

                #region Filter Dropdown Bindings

                var objKeepAs = new List <AttributeValues>();

                MasterTypeRequest objMasterTypeRequest = new MasterTypeRequest();
                objMasterTypeRequest.Property = "QRF Masters";
                objMasterTypeRequest.Name     = "Position Type";

                SalesProviders     objSalesProvider      = new SalesProviders(_configuration);
                MasterTypeResponse objMasterTypeResponse = objSalesProvider.GetGenericMasterForType(objMasterTypeRequest, token).Result;

                if (objMasterTypeResponse.Status == "Success" && objMasterTypeResponse.PropertyList.Count > 0)
                {
                    if (objMasterTypeResponse.PropertyList[0].Attribute[0].AttributeName == "Position Type")
                    {
                        objKeepAs = objMasterTypeResponse.PropertyList[0].Attribute[0].Values.ToList();
                    }
                }

                QRFDepartureDateGetReq objDepartureDatesReq = new QRFDepartureDateGetReq()
                {
                    QRFID = QRFID, date = (DateTime?)null
                };
                QRFDepartureDateGetRes objDepartureDatesRes = coProviders.GetDepartureDatesForCostingByQRF_Id(objDepartureDatesReq, token).Result;
                QRFPaxSlabGetReq       objPaxSlabReq        = new QRFPaxSlabGetReq()
                {
                    QRFID = QRFID
                };
                QRFPaxGetResponse objPaxSlabRes = coProviders.GetPaxSlabDetailsForCostingByQRF_Id(objPaxSlabReq, token).Result;
                model.PaxSlabList = (objPaxSlabRes.PaxSlabDetails.QRFPaxSlabs).Select(a => new AttributeValues {
                    AttributeValue_Id = a.PaxSlab_Id.ToString(), Value = a.From + "-" + a.To
                }).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();

                #endregion

                #region Get Guesstimate by QRFId
                GuesstimateGetRes response = new GuesstimateGetRes();
                GuesstimateGetReq request  = new GuesstimateGetReq();
                request.QRFID        = QRFID;
                request.DepartureId  = filterByDeparture == 0 ? objDepartureDatesRes.DepartureDates[0].Departure_Id : filterByDeparture;
                request.PaxSlabId    = filterByPaxSlab == 0 ? objPaxSlabRes.PaxSlabDetails.QRFPaxSlabs[0].PaxSlab_Id : filterByPaxSlab;
                request.CalculateFor = CalculateFor;
                request.LoginUserId  = ckUserEmailId;
                response             = coProviders.GetGuesstimate(request, token).Result;
                GetDistinctRanges(response.Guesstimate, ref model);
                model.Guesstimate                    = response.Guesstimate;
                model.Guesstimate.VersionId          = model.Guesstimate.VersionId;
                ViewBag.VersionName                  = model.Guesstimate.VersionName;
                ViewBag.VersionDescription           = model.Guesstimate.VersionDescription;
                model.Guesstimate.VersionName        = "";
                model.Guesstimate.VersionDescription = "";
                model.NextVersionId                  = response.LastVersionId + 1;
                model.IsStandardPrice                = response.IsStandardPrice;
                #endregion

                #region Filter Logic

                model.DayList         = GetDays(model.Guesstimate.GuesstimatePosition);
                model.ServiceTypeList = GetProductTypes(model.Guesstimate.GuesstimatePosition);
                model.KeepAsList      = objKeepAs;

                if (filterByDay == "All")
                {
                    filterByDay = null;
                }

                if (filterByServiceType == "All")
                {
                    filterByServiceType = null;
                }

                if (filterByPackageType == "All")
                {
                    filterByPackageType = null;
                }

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

                if (!string.IsNullOrEmpty(filterByServiceType))
                {
                    model.Guesstimate.GuesstimatePosition = model.Guesstimate.GuesstimatePosition.Where(x => x.ProductType == filterByServiceType).ToList();
                }

                if (!string.IsNullOrEmpty(filterByPackageType))
                {
                    model.Guesstimate.GuesstimatePosition = model.Guesstimate.GuesstimatePosition.Where(x => x.KeepAs == filterByPackageType).ToList();
                }

                //model.Guesstimate.GuesstimateDetails = model.Guesstimate.GuesstimateDetails.Where(x => model.SummaryDetails.Any(a => a.OriginalItineraryDetails.Any(b => b.PositionId == x.PositionId))).ToList();

                model.Day           = filterByDay;
                model.Service       = filterByServiceType;
                model.KeepAs        = filterByPackageType;
                model.DepartureDate = filterByDeparture.ToString();
                model.PaxSlab       = filterByPaxSlab.ToString();

                #endregion

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