private void MoverItens(DataGrid origem, DataGrid destino) { Peca peca = null; if (origem.SelectedItem != null) { peca = (origem.SelectedItem as Peca); } PecasManutencao PecaParaAdicionar = new PecasManutencao(); PecaParaAdicionar.PecaId = peca.PecaId; PecaParaAdicionar.Peca = peca; PecasManutencao PecaSelecionada = PecasSelecionadasDataGrid.Items.OfType <PecasManutencao>().Where(pm => pm.PecaId == PecaParaAdicionar.PecaId).FirstOrDefault(); if (PecaSelecionada != null) { PecaSelecionada.QuantidadePecasUtilizadas++; PecasSelecionadasDataGrid.Items.Refresh(); } else { PecaParaAdicionar.QuantidadePecasUtilizadas++; PecasSelecionadasDataGrid.Items.Add(PecaParaAdicionar); } }
private void RemoverPeca_Click(object sender, RoutedEventArgs e) { if (PecasSelecionadasDataGrid.SelectedItem != null) { PecasManutencao pecasManutencao = PecasSelecionadasDataGrid.SelectedItem as PecasManutencao; PecasSelecionadasDataGrid.Items.Remove(pecasManutencao); } }
public void AlterarManutencao(Modelo.Classes.Manutencao.Manutencao manutencao, IList <PecasManutencao> pecas) { try { using EFContext Context = new EFContext(); AttachItem(manutencao, Context); var item = Context.Entry(manutencao); item.State = EntityState.Modified; Context.PecasManutencao.RemoveRange(manutencao.PecasUtilizadas.Where(p => !pecas.Contains(p))); foreach (PecasManutencao p in pecas) { PecasManutencao PecaPRemover = Context.PecasManutencao.Where(pm => pm.PecaManutencaoId == p.PecaManutencaoId).FirstOrDefault(); PecasManutencao PecaPAdicionar = new PecasManutencao(); if (PecaPRemover != null) { PecaPAdicionar.ManutencaoId = PecaPRemover.ManutencaoId; PecaPAdicionar.PecaId = PecaPRemover.PecaId; PecaPAdicionar.QuantidadePecasUtilizadas = PecaPRemover.QuantidadePecasUtilizadas; Context.PecasManutencao.Remove(PecaPRemover); Context.PecasManutencao.Add(PecaPAdicionar); } else { p.Peca = null; p.Manutencao = null; p.ManutencaoId = manutencao.ManutencaoId; Context.PecasManutencao.Add(p); } } Context.SaveChanges(); RemoverValoresNulos(); } catch (Exception ex) { throw ex; } }