Ejemplo n.º 1
0
        private void UpdateWeavedFabrics(string[] selectedFabrics, Weaver weaverToUpdate)
        {
            if (selectedFabrics == null)
            {
                weaverToUpdate.FabricWeaved = new List <FabricWeaved>();
                return;
            }
            var selectedFabricsHS = new HashSet <string>(selectedFabrics);
            var weavedFabrics     = new HashSet <int>
                                        (weaverToUpdate.FabricWeaved.Select(c => c.Fabric.ID));

            foreach (var fabric in _context.Fabrics)
            {
                if (selectedFabricsHS.Contains(fabric.ID.ToString()))
                {
                    if (!weavedFabrics.Contains(fabric.ID))
                    {
                        weaverToUpdate.FabricWeaved.Add(new FabricWeaved
                        {
                            WeaverID =
                                weaverToUpdate.ID,
                            FabricID = fabric.ID
                        });
                    }
                }
                else
                {
                    if (weavedFabrics.Contains(fabric.ID))
                    {
                        FabricWeaved fabricToRemove = weaverToUpdate.FabricWeaved.FirstOrDefault(i
                                                                                                 => i.FabricID == fabric.ID);
                        _context.Remove(fabricToRemove);
                    }
                }
            }
        }
Ejemplo n.º 2
0
    public static void Initialize(HaberdasheryContext context)
    {
        context.Database.EnsureCreated();
        if (context.Fabrics.Any())
        {
            return; // BD a fost creata anterior
        }
        var fabrics = new Fabric[]
        {
            new Fabric {
                Type = "Wool", Color = "white", Price = Decimal.Parse("21")
            },
            new Fabric {
                Type = "Wool", Color = "red", Price = Decimal.Parse("25")
            },
            new Fabric {
                Type = "Silk", Color = "purple", Price = Decimal.Parse("40")
            },
            new Fabric {
                Type = "Silk", Color = "gold", Price = Decimal.Parse("45")
            },
            new Fabric {
                Type = "Cotton", Color = "green", Price = Decimal.Parse("15")
            },
            new Fabric {
                Type = "Cotton", Color = "yeloow", Price = Decimal.Parse("13")
            },
        };

        foreach (Fabric f in fabrics)
        {
            context.Fabrics.Add(f);
        }
        context.SaveChanges();
        var customers = new Customer[]
        {
            new Customer {
                CustomerID = 1050, Name = "Ionescu Mirela", BirthDate = DateTime.Parse("1979-09-01")
            },
            new Customer {
                CustomerID = 1045, Name = "Pricope Stefan", BirthDate = DateTime.Parse("1998-01-02")
            },
        };

        foreach (Customer c in customers)
        {
            context.Customers.Add(c);
        }
        context.SaveChanges();
        var orders = new Order[]
        {
            new Order {
                FabricID = 1, CustomerID = 1050, OrderDate = DateTime.Parse("02-10-2020")
            },
            new Order {
                FabricID = 3, CustomerID = 1045, OrderDate = DateTime.Parse("09-05-2020")
            },
            new Order {
                FabricID = 1, CustomerID = 1045, OrderDate = DateTime.Parse("10-03-2020")
            },
            new Order {
                FabricID = 2, CustomerID = 1050, OrderDate = DateTime.Parse("09-12-2020")
            },
            new Order {
                FabricID = 4, CustomerID = 1050, OrderDate = DateTime.Parse("09-06-2020")
            },
            new Order {
                FabricID = 6, CustomerID = 1050, OrderDate = DateTime.Parse("10-09-2020")
            },
        };

        foreach (Order o in orders)
        {
            context.Orders.Add(o);
        }
        context.SaveChanges();
        var weavers = new Weaver[]
        {
            new Weaver {
                WeaverName = "Anghelescu Raluca", Specialty = "Wool"
            },
            new Weaver {
                WeaverName = "Ionescu Voileta", Specialty = "Silk"
            },
            new Weaver {
                WeaverName = "Marin Rica", Specialty = "Cotton"
            },
        };

        foreach (Weaver w in weavers)
        {
            context.Weavers.Add(w);
        }
        context.SaveChanges();
        var fabricsweaved = new FabricWeaved[]
        {
            new FabricWeaved {
                FabricID = fabrics.Single(c => c.Type == "Wool").ID, WeaverID = weavers.Single(i => i.WeaverName == "Anghelescu Raluca").ID
            },
            new FabricWeaved {
                FabricID = fabrics.Single(c => c.Type == "Silk").ID, WeaverID = weavers.Single(i => i.WeaverName == "Ionescu Voileta").ID
            },
            new FabricWeaved {
                FabricID = fabrics.Single(c => c.Type == "Cotton").ID, WeaverID = weavers.Single(i => i.WeaverName == "Marin Rica").ID
            },
        };

        foreach (FabricWeaved fw in fabricsweaved)
        {
            context.FabricWeaved.Add(fw);
        }
        context.SaveChanges();
    }