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); } } } }