public override Empresa Delete(params object[] key) { if (_db.Negociacoes.Any(x => x.EmpresaId == (int)key[0])) { throw new Exception("Existem negociações cadastradas para essa empresa!"); } if (_db.Litigios.Any(x => x.EmpresaId == (int)key[0])) { throw new Exception("Existem litígios cadastrados para essa empresa!"); } _arquivosService.DeleteFiles(DependencyFileType.Empresa, (int)key[0]); _contatosEmpresaService.Query(x => x.EmpresaId == (int)key[0]) .ToList().ForEach(x => _contatosService.Delete(x.ContatoId)); return(base.Delete(key)); }
public override RodadaNegociacao Delete(params object[] key) { _arquivosService.DeleteFiles(DependencyFileType.RodadaNegociacao, (int)key[0]); RodadaNegociacao rodada = Find(key); _db.Entry(rodada).Reference(r => r.Negociacao).Load(); rodada.Negociacao.QtdaRodadas--; _db.RodadasNegociacoes.Where(x => x.Numero > rodada.Numero) .ToList().ForEach(r => { r.Numero--; Update(r, r.Id); }); _db.SaveChanges(); return(base.Delete(key)); }
public override ItemLitigio Delete(params object[] key) { ItemLitigio item = Find(key); if (item == null) { throw new NotFoundException("Item de Litígio não encontrado!"); } _db.Entry(item).Reference(i => i.PlanoAcao).Load(); if (item.PlanoAcao != null) { _planosService.Delete(item.PlanoAcao.Id); } _arquivosService.DeleteFiles(DependencyFileType.ItemLitigio, item.Id); _db.ItensLitigios.Remove(item); _db.SaveChanges(); return(item); }
public override SindicatoPatronal Delete(params object[] key) { if (_db.Empresas.Any(x => x.SindicatoPatronalId == (int)key[0])) { throw new Exception("Existem empresas relacionadas à esse sindicato!"); } if (_db.Negociacoes.Any(x => x.SindicatoPatronalId == (int)key[0])) { throw new Exception("Existem negociações relacionadas à esse sindicato!"); } if (_db.Litigios.Any(x => x.PatronalId == (int)key[0])) { throw new Exception("Existem litígios relacionados à esse sindicato!"); } /*if (_db.PlanosAcao.Any(x => x.PatronalId == (int)key[0])) * throw new Exception("Existem planos de ações relacionados à esse sindicato!");*/ _arquivosService.DeleteFiles(DependencyFileType.SindicatoPatronal, (int)key[0]); _contatosSindService.Query(x => x.SindicatoPatronalId == (int)key[0]) .ToList().ForEach(x => _contatosService.Delete(x.ContatoId)); return(base.Delete(key)); }
public override Negociacao Delete(params object[] key) { Negociacao negociacao = Find(key); if (negociacao == null) { throw new NotFoundException(); } using (var transaction = _db.Database.BeginTransaction()) { try { // Remove os concorrentes e seus reajustes _db.Concorrentes.Where(c => c.NegociacaoId == (int)key[0]) .ToList().ForEach(c => { _db.Reajustes.Remove(_db.Reajustes.Find(c.ReajusteId)); _db.Concorrentes.Remove(c); }); // Remove as rodadas _rodadasService.Delete(r => r.NegociacaoId == (int)key[0]); // Remove os reajustes if (negociacao.OrcadoId.HasValue) { _reajustesService.Delete(negociacao.OrcadoId.Value); } if (negociacao.NegociadoId.HasValue) { _reajustesService.Delete(negociacao.NegociadoId.Value); } _arquivosService.DeleteFiles(DependencyFileType.Negociacao, (int)key[0]); // Remove o relatório Relatorio relatorio = _db.Relatorios .Where(x => x.NegociacaoId == (int)key[0]) .Include(r => r.GruposPerguntas) .ThenInclude(g => g.Respostas) .FirstOrDefault(); if (relatorio != null) { foreach (GrupoPergunta grupo in relatorio.GruposPerguntas) { foreach (RespostaRelatorio resposta in grupo.Respostas) { _db.RespostasRelatorio.Remove(resposta); } _db.GruposPerguntas.Remove(grupo); } _db.Relatorios.Remove(relatorio); } negociacao = base.Delete((int)key[0]); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } return(negociacao); }
public override PlanoAcao Delete(params object[] key) { _arquivosService.DeleteFiles(DependencyFileType.PlanoAcao, (int)key[0]); return(base.Delete(key)); }
public override Litigio Delete(params object[] key) { _arquivosService.DeleteFiles(DependencyFileType.Litigio, (int)key[0]); _itensLitigiosService.Delete(i => i.Litigio.Id == (int)key[0]); return(base.Delete(key)); }