public static RefinementGroup ConvertToRefinementGroup(this IEnumerable <IProductAttribute> productAttributes, RefinementGroupings refinementGroupType) { RefinementGroup refinementGroup = new RefinementGroup() { Name = refinementGroupType.ToString(), GroupId = (int)refinementGroupType }; refinementGroup.Refinements = Mapper.Map <IEnumerable <IProductAttribute>, IEnumerable <Refinement> >(productAttributes); return(refinementGroup); }
private static IList <RefinementGroup> GenerateAvailableProductRefinementsFrom(IEnumerable <ProductDto> productsFound) { var brandsMatching = new RefinementGroup() { Refinements = productsFound.Select(p => new Refinement() { Id = p.BrandId, Name = p.BrandName }).Distinct(r => r.Id), GroupId = (int)RefinementGroupings.brand, Name = RefinementGroupings.brand.ToString() }; var coloursMatching = new RefinementGroup() { Refinements = productsFound.Select(p => new Refinement() { Id = p.ColourId, Name = p.ColourName }).Distinct(r => r.Id), GroupId = (int)RefinementGroupings.colour, Name = RefinementGroupings.colour.ToString() }; var sizesMatching = new RefinementGroup() { Refinements = productsFound.Select(p => new Refinement() { Id = p.SizeId, Name = p.SizeName }).Distinct(r => r.Id), GroupId = (int)RefinementGroupings.size, Name = RefinementGroupings.size.ToString() }; //var brandsRefinementGroup = productsFound.Select(p => p.Brand).Distinct().ToList() // .ConvertAll<IProductAttribute>(b => (IProductAttribute)b).ConvertToRefinementGroup(RefinementGroupings.brand); //var coloursRefinementGroup = productsFound.Select(p => p.Colour).Distinct().ToList() // .ConvertAll<IProductAttribute>(c => (IProductAttribute)c).ConvertToRefinementGroup(RefinementGroupings.colour); //var sizesRefinementGroup = (from p in productsFound // from si in p.Products // select si.Size).Distinct().ToList() // .ConvertAll<IProductAttribute>(s => (IProductAttribute)s).ConvertToRefinementGroup(RefinementGroupings.size); IList <RefinementGroup> refinementGroups = new List <RefinementGroup>(); refinementGroups.Add(brandsMatching); refinementGroups.Add(coloursMatching); refinementGroups.Add(sizesMatching); return(refinementGroups); }
public static RefinementGroup ConvertToRefinementGroup( this IEnumerable<IProductAttribute> productAttributes, RefinementGroupings refinementGroupType) { RefinementGroup refinementGroup = new RefinementGroup() { Name = refinementGroupType.ToString(), GroupId = (int)refinementGroupType }; refinementGroup.Refinements = from p in productAttributes select new Refinement { Id = p.Id, Name = p.Name }; return refinementGroup; }
public static RefinementGroup ConvertToRefinementGroup( this IEnumerable <IProductAttribute> productAttributes, RefinementGroupings refinementGroupType) { RefinementGroup refinementGroup = new RefinementGroup() { Name = refinementGroupType.ToString(), GroupId = (int)refinementGroupType }; refinementGroup.Refinements = from p in productAttributes select new Refinement { Id = p.Id, Name = p.Name }; return(refinementGroup); }
public static RefinementGroup ConvertToRefinementGroup( this IEnumerable <IPseudoSkuAttribute> pseudoSkuAttributes, RefinementGroupings refinementGroupType) { RefinementGroup refinementGroup = new RefinementGroup() { Name = refinementGroupType.ToString(), GroupId = (int)refinementGroupType }; foreach (var refinement in refinementGroup.Refinements) { foreach (var pseudoSkuAttribute in pseudoSkuAttributes) { pseudoSkuAttribute.Id = refinement.Id; pseudoSkuAttribute.Name = refinement.Name; } } return(refinementGroup); }