Esempio n. 1
0
        public PartStore(IEnumerable <ConcretePartModel> concreteParts)
        {
            IEnumerable <IGrouping <PartModel, ConcretePartModel> > partGroups = concreteParts.GroupBy(
                part => part.Part, new PartModel.PartComparer()
                );

            foreach (IGrouping <PartModel, ConcretePartModel> partGroup in partGroups)
            {
                Positions.Add(PartStorePosition.CreateByConcrete(partGroup.Key, partGroup.ToList()));
            }
        }
Esempio n. 2
0
        public static PartStorePosition CreateByConcrete(PartModel part, IEnumerable <ConcretePartModel> concreteParts)
        {
            PartStorePosition position = new PartStorePosition()
            {
                Part = part
            };

            IEnumerable <IGrouping <MaterialModel, ConcretePartModel> > materialGroups = concreteParts.GroupBy(
                cpart => cpart.SelectedMaterial, new MaterialModel.MaterialComparer()
                );

            foreach (IGrouping <MaterialModel, ConcretePartModel> materialGroup in materialGroups)
            {
                position.MaterialPositions.Add(PartStoreMaterialPosition.CreateByConcrete(materialGroup.Key, materialGroup.ToList()));
            }

            return(position);
        }
Esempio n. 3
0
 public PartStore(IEnumerable <PartModel> parts, IEnumerable <ConcretePartModel> concreteParts)
 {
     Positions = parts.Select(part =>
                              PartStorePosition.CreateByPossible(part, concreteParts.Where(cpart => cpart.Part.Id == part.Id))
                              ).ToList();
 }