public JsonResult AddEditAprovacao(AprovacaoOnlineViewModel model) { var requisicao = new AdicionarAprovacaoRequisicao { Arquivo = model.Arquivo.InputStream, Descricao = model.Descricao, Tipo = model.Tipo, CodigoDoPrograma = Session.ProgramaAtivo().Codigo, Titulo = model.Titulo, CodigoDoGrupoResponsavel = User.ToPessoa().Usuario.Perfil.Grupo.Codigo, NomeDoAnexo = model.Arquivo.FileName }; var resposta = _aprovacaoServicoDeAplicacao.AdicionarAprovacao(requisicao); return(Json(new { resposta.Erros, resposta.Sucesso, Aprovacao = resposta.Aprovacao.ToViewModel() })); }
public AdicionarAprovacaoResposta AdicionarAprovacao(AdicionarAprovacaoRequisicao requisicao) { var resposta = new AdicionarAprovacaoResposta(); var repositorioDeArquivos = new RepositorioDeArquivos(); var dataDeUpload = SystemTime.Now; try { var grupo = _grupoRepositorio.ObterPor(requisicao.CodigoDoGrupoResponsavel); var programa = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma); var anexo = new Arquivo(requisicao.Descricao, requisicao.NomeDoAnexo, dataDeUpload); var aprovacao = new Aprovacao { Anexo = anexo, Status = StatusDaAprovacao.Pendente, Tipo = requisicao.Tipo, GrupoResponsavel = grupo, Titulo = requisicao.Titulo, Programa = programa }; _aprovacaoRepositorio.Adicionar(aprovacao); repositorioDeArquivos.ArmazenarArquivo(requisicao.Arquivo, requisicao.NomeDoAnexo, dataDeUpload); _unitOfWork.Commit(); resposta.Aprovacao = aprovacao; resposta.Sucesso = true; } catch (RegraException regraException) { repositorioDeArquivos.RemoverArquivo(requisicao.NomeDoAnexo, dataDeUpload); resposta.Erros = regraException.Erros; } return(resposta); }