public async Task <ProductSRPSearchRes> GetProductDetailsBySearchCriteria([FromBody] ProductSRPSearchReq request) { var response = new ProductSRPSearchRes(); try { if (request != null) { var result = await _productRepository.GetProductDetailsBySearchCriteria(request); if (result != null && result.Count > 0) { response.ResponseStatus.Status = "Success"; response.ProductSearchDetails = result.ToList(); } else { response.ResponseStatus.Status = "Success"; response.ResponseStatus.ErrorMessage = "No Records Found."; } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Product details can not be blank."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An error occurs " + ex.Message; } return(response); }
public async Task <ProductSRPSearchRes> GetProductSRPDetails(ProductSRPSearchReq productSRPSearchReq, string ticket) { ProductSRPSearchRes productSRPGetRes = new ProductSRPSearchRes(); productSRPGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceProduct:GetProductSRPDetails"), productSRPSearchReq, typeof(ProductSRPSearchRes), ticket); return(productSRPGetRes); }
public IActionResult GetProductSRPDetail(string CompanyId) { ProductsSRPViewModel model = new ProductsSRPViewModel(); #region Get Company info AgentGetReq request = new AgentGetReq() { CompanyId = CompanyId }; AgentGetRes response = agentProviders.GetAgentDetailedInfo(request, token).Result; var product = response.AgentDetails.Products.Where(x => x.Supplier_Id == CompanyId).FirstOrDefault(); #endregion if (product != null && !string.IsNullOrWhiteSpace(product.Product_Id)) { #region Get ProductSRPDetails ProductProviders productProviders = new ProductProviders(_configuration); ProductSRPSearchReq objProdReq = new ProductSRPSearchReq() { ProdId = product.Product_Id }; ProductSRPSearchRes objProdRes = productProviders.GetProductSRPDetails(objProdReq, token).Result; var productSRPDetails = objProdRes.ProductSearchDetails.Select(a => new ProductSRPDetails { Address = a.Address, BdgPriceCategory = a.BdgPriceCategory, Chain = a.Chain, CityName = a.CityName, CountryName = a.CountryName, DefaultSupplier = a.DefaultSupplier, HotelImageURL = a.HotelImageURL, HotelType = a.HotelType, Location = a.Location, PostCode = a.PostCode, ProdDesc = a.ProdDesc, ProdName = a.ProdName, ProductCode = a.ProductCode, ProductType = a.ProductType, StarRating = a.StarRating, Street = a.Street, VoyagerProduct_Id = a.VoyagerProduct_Id, ProductType_Id = a.ProductType_Id }).ToList(); model.ProductSRPDetails = productSRPDetails; var userRoles = HttpContext.Request.Cookies["UserRoles"] ?? string.Join(",", UserRoles); if (userRoles != null && userRoles.Contains("Administrator")) { model.PageName = "PrdSupplierMapping"; } } return(PartialView("~/Areas/Product/Views/ProductSRP/_ProductInfo.cshtml", model)); #endregion }
public IActionResult ProductSearchResultPage(ProductSRPFilters filters) { ProductsSRPViewModel productsSRPViewModel = new ProductsSRPViewModel(); ProductProviders productProviders = new ProductProviders(_configuration); ProductSRPSearchReq objQRFAgentRequest = new ProductSRPSearchReq() { ProdType = filters.ProductType, ProdName = filters.ProdName, ProdCode = filters.ProdCode, CityName = filters.CityName, Location = filters.Location == "Select" ? null : filters.Location, BudgetCategory = filters.BudgetCategory == "Select" ? null : filters.BudgetCategory, Chain = filters.Chain, StarRating = filters.StarRating, Status = filters.Status }; ProductSRPSearchRes objProposalRes = productProviders.GetProductSRPDetails(objQRFAgentRequest, token).Result; productsSRPViewModel.ProductSRPDetails = objProposalRes.ProductSearchDetails.Select(a => new ProductSRPDetails { Address = a.Address, BdgPriceCategory = a.BdgPriceCategory, Chain = a.Chain, CityName = a.CityName, CountryName = a.CountryName, DefaultSupplier = a.DefaultSupplier, DefaultSupplierId = a.DefaultSupplierId, HotelImageURL = a.HotelImageURL != null ? a.HotelImageURL.Replace("resources/", "ImageResources/") : a.HotelImageURL, HotelType = a.HotelType, Location = a.Location, PostCode = a.PostCode, ProdDesc = a.ProdDesc, ProdName = a.ProdName, ProductCode = a.ProductCode, ProductType = a.ProductType, StarRating = a.StarRating, Street = a.Street, VoyagerProduct_Id = a.VoyagerProduct_Id, ProductType_Id = a.ProductType_Id }).ToList(); var userRoles = HttpContext.Request.Cookies["UserRoles"] ?? string.Join(",", UserRoles); if (userRoles != null && userRoles.Contains("Administrator")) { productsSRPViewModel.PageName = "PrdSupplierMapping"; } return(PartialView("_ProductInfo", productsSRPViewModel)); }
public async Task <List <mProducts_Lite> > GetProductDetailsBySearchCriteria(ProductSRPSearchReq request) { FilterDefinition <mProducts_Lite> filter; filter = Builders <mProducts_Lite> .Filter.Empty; List <mProducts_Lite> result = new List <mProducts_Lite>(); try { if (!string.IsNullOrWhiteSpace(request.ProdId)) { filter = filter & Builders <mProducts_Lite> .Filter.Where(f => f.VoyagerProduct_Id == request.ProdId); } if (!string.IsNullOrWhiteSpace(request.ProdType)) { filter = filter & Builders <mProducts_Lite> .Filter.Eq(f => f.ProductType, request.ProdType.Trim()); } if (!string.IsNullOrWhiteSpace(request.CityName)) { string[] CityCountry = request.CityName.Split(','); if (CityCountry.Length > 0) { filter = filter & Builders <mProducts_Lite> .Filter.Regex(x => x.CountryName, new BsonRegularExpression(new Regex(CityCountry[1].Trim(), RegexOptions.IgnoreCase))); if (CityCountry.Length > 1) { filter = filter & Builders <mProducts_Lite> .Filter.Regex(x => x.CityName, new BsonRegularExpression(new Regex(CityCountry[0].Trim(), RegexOptions.IgnoreCase))); filter = filter & Builders <mProducts_Lite> .Filter.Where(x => x.Placeholder == false || x.Placeholder == null); } } } if (!string.IsNullOrWhiteSpace(request.ProdName)) { request.ProdName = request.ProdName.Replace("###", ""); filter = filter & Builders <mProducts_Lite> .Filter.Regex(x => x.ProdName, new BsonRegularExpression(new Regex(request.ProdName.Trim(), RegexOptions.IgnoreCase))); } if (!string.IsNullOrWhiteSpace(request.ProdCode)) { filter = filter & Builders <mProducts_Lite> .Filter.Regex(x => x.ProductCode, new BsonRegularExpression(new Regex(request.ProdCode.Trim(), RegexOptions.IgnoreCase))); } if (!string.IsNullOrWhiteSpace(request.Status)) { if (request.Status == "Active") { filter = filter & Builders <mProducts_Lite> .Filter.Where(f => f.Status == null || f.Status == "" || f.Status == " "); } else if (request.Status == "Inactive") { filter = filter & Builders <mProducts_Lite> .Filter.Where(f => f.Status == "-" || f.Status == "X"); } } if (!string.IsNullOrWhiteSpace(request.BudgetCategory)) { filter = filter & Builders <mProducts_Lite> .Filter.Eq(x => x.BdgPriceCategory, request.BudgetCategory.Trim()); } if (!string.IsNullOrWhiteSpace(request.StarRating)) { filter = filter & Builders <mProducts_Lite> .Filter.Eq(x => x.StarRating, request.StarRating.Trim()); } if (!string.IsNullOrWhiteSpace(request.Location)) { filter = filter & Builders <mProducts_Lite> .Filter.Eq(f => f.Location, request.Location.Trim()); } if (!string.IsNullOrWhiteSpace(request.Chain)) { filter = filter & Builders <mProducts_Lite> .Filter.Eq(x => x.Chain, request.Chain.Trim()); } if (request.Facilities != null && request.Facilities.Count > 0) { foreach (var item in request.Facilities) { filter = filter & Builders <mProducts_Lite> .Filter.Where(f => f.ProductFacilities.Select(a => a.FacilityDescription).ToList().Contains(item)); } } result = await _MongoContext.mProducts_Lite.Find(filter).ToListAsync(); result = result.OrderBy(p => p.ProdName).ToList(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(result ?? new List <mProducts_Lite>()); }