private void UpdatePedidoProdutos(string[] selectedProdutos, Pedido pedidoToUpdate) { if (selectedProdutos == null) { pedidoToUpdate.ProdutoPedidos = new List <ProdutoPedido>(); return; } var selectedProdutosHS = new HashSet <string>(selectedProdutos); var pedidoProdutos = new HashSet <int> (pedidoToUpdate.ProdutoPedidos.Select(c => c.Produto.ID)); foreach (var produto in _context.Produtos) { if (selectedProdutosHS.Contains(produto.ID.ToString())) { if (!pedidoProdutos.Contains(produto.ID)) { pedidoToUpdate.ProdutoPedidos.Add(new ProdutoPedido { PedidoID = pedidoToUpdate.ID, ProdutoID = produto.ID }); } } else { if (pedidoProdutos.Contains(produto.ID)) { ProdutoPedido produtoToRemove = pedidoToUpdate.ProdutoPedidos.SingleOrDefault(i => i.ProdutoID == produto.ID); _context.Remove(produtoToRemove); } } } }
public virtual async Task Delete(int id) { try { var _obj = _context.Find <T>(id); _context.Remove(_obj); await _context.SaveChangesAsync(); } catch (System.Exception) { throw; } }