private void UpdateDistribuitorProduse(string[] selectedProducts, Distribuitor distribuitorToUpdate)
        {
            if (selectedProducts == null)
            {
                distribuitorToUpdate.DistribuitorProduse = new List <DistribuitorProdus>();
                return;
            }
            var selectedProductsHS  = new HashSet <string>(selectedProducts);
            var distribuitorProduse = new HashSet <int>
                                          (distribuitorToUpdate.DistribuitorProduse.Select(c => c.Produs.ID));

            foreach (var produs in _context.Produse)
            {
                if (selectedProductsHS.Contains(produs.ID.ToString()))
                {
                    if (!distribuitorProduse.Contains(produs.ID))
                    {
                        distribuitorToUpdate.DistribuitorProduse.Add(new DistribuitorProdus
                        {
                            DistribuitorID =
                                distribuitorToUpdate.ID,
                            ProdusID = produs.ID
                        });
                    }
                }
                else
                {
                    if (distribuitorProduse.Contains(produs.ID))
                    {
                        DistribuitorProdus produsToRemove = distribuitorToUpdate.DistribuitorProduse.FirstOrDefault(i
                                                                                                                    => i.ProdusID == produs.ID);
                        _context.Remove(produsToRemove);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public static void Initialize(MagazinContext context)
        {
            context.Database.EnsureCreated();

            if (context.Produse.Any())
            {
                return; // BD a fost creata anterior
            }

            var produse = new Produs[]
            {
                new Produs {
                    Denumire = "Lapte de cocos Bio", Furnizor = "SanoVita", Pret = Decimal.Parse("25")
                },
                new Produs {
                    Denumire = "Unt de arahide Ecologic", Furnizor = "NIAVIS", Pret = Decimal.Parse("22")
                },
                new Produs {
                    Denumire = "Migdale BIO", Furnizor = "BioVegan", Pret = Decimal.Parse("18")
                },
                new Produs {
                    Denumire = "Miere de salcam ecologica", Furnizor = "Republica BIO", Pret = Decimal.Parse("46")
                },
                new Produs {
                    Denumire = "Seminte Chia", Furnizor = "BioVegan", Pret = Decimal.Parse("16")
                },
                new Produs {
                    Denumire = "Fulgi ovaz", Furnizor = "Melora", Pret = Decimal.Parse("19")
                },
                new Produs {
                    Denumire = "Scortisoara ecologica", Furnizor = "SanoVita", Pret = Decimal.Parse("21")
                },
            };

            foreach (Produs s in produse)
            {
                context.Produse.Add(s);
            }
            context.SaveChanges();

            var clienti = new Client[]
            {
                new Client {
                    ClientID = 1050, Nume = "Pop Adrian", DataNasterii = DateTime.Parse("1988-10-22")
                },
                new Client {
                    ClientID = 1045, Nume = "Nicoara Mihaela", DataNasterii = DateTime.Parse("1970-09-18")
                }
            };

            foreach (Client c in clienti)
            {
                context.Clienti.Add(c);
            }
            context.SaveChanges();

            var comenzi = new Comanda[]
            {
                new Comanda {
                    ProdusID = 1, ClientID = 1050, DataComenzii = DateTime.Parse("12-18-2020")
                },
                new Comanda {
                    ProdusID = 3, ClientID = 1045, DataComenzii = DateTime.Parse("11-23-2020")
                },
                new Comanda {
                    ProdusID = 1, ClientID = 1045, DataComenzii = DateTime.Parse("09-28-2020")
                },
                new Comanda {
                    ProdusID = 2, ClientID = 1050, DataComenzii = DateTime.Parse("10-28-2020")
                },
                new Comanda {
                    ProdusID = 4, ClientID = 1050, DataComenzii = DateTime.Parse("12-09-2020")
                },
                new Comanda {
                    ProdusID = 5, ClientID = 1045, DataComenzii = DateTime.Parse("07-29-2020")
                },
            };

            foreach (Comanda e in comenzi)
            {
                context.Comenzi.Add(e);
            }
            context.SaveChanges();

            var distribuitori = new Distribuitor[]
            {
                new Distribuitor {
                    NumeDistribuitor = "SAMMILLS DISTRIBUTION SRL", Adresa = "Str. Mioritei, nr. 151,Agris"
                },
                new Distribuitor {
                    NumeDistribuitor = "SAFF TRADING SRL", Adresa = "Str. Libertatii, nr. 36,Bucuresti"
                },
                new Distribuitor {
                    NumeDistribuitor = "Dorsan Impex", Adresa = "Str. Cernavoda, nr.5, Cluj-Napoca"
                },
            };

            foreach (Distribuitor p in distribuitori)
            {
                context.Distribuitori.Add(p);
            }
            context.SaveChanges();

            var distribuitorproduse = new DistribuitorProdus[]
            {
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Lapte de cocos Bio").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "SAFF TRADING SRL").ID
                },
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Unt de arahide Ecologic").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "Dorsan Impex").ID
                },
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Migdale BIO").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "SAMMILLS DISTRIBUTION SRL").ID
                },
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Miere de salcam ecologica").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "SAFF TRADING SRL").ID
                },
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Seminte Chia").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "Dorsan Impex").ID
                },
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Fulgi ovaz").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "SAMMILLS DISTRIBUTION SRL").ID
                },
                new DistribuitorProdus {
                    ProdusID = produse.Single(c => c.Denumire == "Scortisoara ecologica").ID, DistribuitorID = distribuitori.Single(i => i.NumeDistribuitor == "Dorsan Impex").ID
                },
            };

            foreach (DistribuitorProdus pb in distribuitorproduse)
            {
                context.DistribuitorProduse.Add(pb);
            }
            context.SaveChanges();
        }