public void Insert(Pedido pedido) { using(Context db = new Context()) { OpcionalPedido opcionalPedido; // Insere os opcionais selecionados if (pedido.SelectedOpcionais != null) { for (short i = 0; i < pedido.SelectedOpcionais.Length; i++) { opcionalPedido = new OpcionalPedido() { OpcionalId = pedido.SelectedOpcionais[i], PedidoId = pedido.Id }; db.OpcionalPedido.Add(opcionalPedido); } } db.Pedido.Add(pedido); db.SaveChanges(); } }
public void Update(Pedido pedido) { using(Context db = new Context()) { OpcionalPedido opcionalPedido; // Remove todos os opcionais var opcionais = from op in db.OpcionalPedido where op.PedidoId == pedido.Id select op; foreach (var opcional in opcionais) { db.OpcionalPedido.Remove(opcional); } // Inclui todos os opcionais if (pedido.SelectedOpcionais != null) { for (short i = 0; i < pedido.SelectedOpcionais.Length; i++) { opcionalPedido = new OpcionalPedido() { OpcionalId = pedido.SelectedOpcionais[i], PedidoId = pedido.Id }; db.OpcionalPedido.Add(opcionalPedido); } } db.Entry(pedido).State = EntityState.Modified; db.SaveChanges(); } }