예제 #1
0
        public IHttpActionResult CadastrarProcesso([FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarCadastroProcesso(sessao, dadosParaCadastro);

                    if (validacao != null)
                    {
                        return(validacao);
                    }

                    var processo = new ConverterCadastroAtualizacaoParaProcesso(dadosParaCadastro)
                                   .ConverterParaProcesso();

                    sessao.BeginTransaction();

                    var idProcesso = EtiquetaProcessoDAO.Instance.Insert(sessao, processo);
                    sessao.Commit();

                    return(this.Criado($"Processo de etiqueta {idProcesso} inserido com sucesso!", idProcesso));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao inserir processo.", ex));
                }
            }
        }
예제 #2
0
        public IHttpActionResult AlterarProcesso(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarAtualizacaoProcesso(sessao, id, dadosParaAlteracao);

                    if (validacao != null)
                    {
                        return(validacao);
                    }

                    var processo = EtiquetaProcessoDAO.Instance.GetElementByPrimaryKey(sessao, id);

                    if (processo == null)
                    {
                        return(this.NaoEncontrado($"Processo de etiqueta {id} não encontrado."));
                    }

                    processo = new ConverterCadastroAtualizacaoParaProcesso(dadosParaAlteracao, processo)
                               .ConverterParaProcesso();

                    sessao.BeginTransaction();

                    EtiquetaProcessoDAO.Instance.Update(sessao, processo);
                    sessao.Commit();

                    return(this.Aceito($"Processo de etiqueta {id} atualizado com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar processo.", ex));
                }
            }
        }