public int DeletarContribuicao(int id) { var contribuicao = new ContribuicaoDTO(); using (MiniProfiler.Current.Step("[SELECT] - Obtendo CA")) { contribuicao = GetContribuicao(id); } if (contribuicao != null && contribuicao.ContribuicaoId > 0) { if (contribuicao.CodigoMarcacao != null) { using (MiniProfiler.Current.Step("[INSERT] - Manipulando e gerando nova versão de apostila")) { var _materialApostila = new MaterialApostilaEntity(); var materialApostilaAlunoManager = new MaterialApostilaAlunoManager(); var materialApostilaAluno = _materialApostila.GetMaterialApostilaAluno(contribuicao.ClientId, contribuicao.ApostilaId.Value); var apostilaVersao = Utilidades.GetDetalhesApostila(materialApostilaAluno); string chave = Utilidades.CriarNomeApostila(contribuicao.ClientId, contribuicao.ApostilaId.Value, apostilaVersao.Versao); var conteudo = materialApostilaAlunoManager.ObterArquivo(chave); conteudo = Utilidades.RemoveMarcacaoApostila(Constants.COMP_CONTRIBUICAO_APOSTILA, conteudo, contribuicao.CodigoMarcacao); _materialApostila.PostModificacaoApostila(contribuicao.ClientId, contribuicao.ApostilaId.Value, conteudo); } } using (MiniProfiler.Current.Step("[SELECT] - Listando arquivos da CA")) { contribuicao.Arquivos = _repArquivo.ListarArquivosContribuicao(contribuicao.ContribuicaoId); } using (MiniProfiler.Current.Step("[DELETE] - Deletando arquivos da CA")) { if (contribuicao.Arquivos.Count > 0) { var result = _repArquivo.DeletarContribuicaoArquivo(contribuicao.Arquivos.Select(s => s.Id).ToList()); if (result == 0) { return(result); } } } using (MiniProfiler.Current.Step("[DELETE] - Deletando CA")) { return(_rep.DeletarContribuicao(id)); } } return(0); }
public ContribuicaoDTO GetContribuicao(int id) { using (var ctx = new DesenvContext()) { var contribuicao = ctx.tblContribuicao.FirstOrDefault(x => x.intContribuicaoID == id); var entity = new ContribuicaoDTO() { ContribuicaoId = contribuicao.intContribuicaoID, ClientId = contribuicao.intClientID.Value, ApostilaId = contribuicao.intApostilaID, BitAprovacaoMedgrupo = contribuicao.bitAprovacaoMedgrupo, CodigoMarcacao = contribuicao.txtCodigoMarcacao, Estado = contribuicao.txtEstado, DataCriacao = contribuicao.dteDataCriacao.Value, TrechoSelecionado = contribuicao.txtTrechoSelecionado, Descricao = contribuicao.txtDescricao, Origem = contribuicao.txtOrigem, OrigemSubnivel = contribuicao.txtOrigemSubnivel, NumeroCapitulo = contribuicao.intNumCapitulo, Editada = contribuicao.bitEditado }; return(entity); } }