public async Task <List <FilterDescriptor> > GetFilterDescriptorsForOffer(string id) { var offerDetails = offerDetailService.GetOfferDetails(id).Result; var categoryID = offerDetails.Categories.First(x => x.Parent == "0").Id; var newID = "-1"; while (newID != categoryID) { newID = categoryID; var category = offerDetails.Categories.FirstOrDefault(x => x.Parent == categoryID); if (category != null) { categoryID = category.Id; } } var filterDescriptors = searchService.GetFiltersDataForCategory(categoryID).Result; List <FilterDescriptor> result = new List <FilterDescriptor>(); foreach (var category in offerDetails.Attributes) { if (category != null) { var descriptor = filterDescriptors.FirstOrDefault(x => x.Name == category.Name); if (descriptor != null) { result.Add(new FilterDescriptor() { ID = descriptor.ID, Name = descriptor.Name, Values = descriptor.Values.Where(x => category.Attributes.Contains(x.Name)).ToList() }); } } } return(result); }
public async Task <OfferDetails> Get(string id) { return(await _offerDetailsService.GetOfferDetails(id)); }
public void OfferDetailsServiceTest() { OfferDetailsService service = new OfferDetailsService(); OfferDetails details = service.GetOfferDetails("6754645454").Result; }