コード例 #1
0
        /// <summary>
        /// Inicia uma nova instância da classe <see cref="ConverterCadastroAtualizacaoParaContaRecebida"/>.
        /// </summary>
        /// <param name="cadastro">O DTO de cadastro, enviado para o endpoint.</param>
        /// <param name="atual">A conta recebida atual (opcional), para que sejam aproveitados os valores, se necessário.</param>
        public ConverterCadastroAtualizacaoParaContaRecebida(
            CadastroAtualizacaoRecebidaDto cadastro,
            Data.Model.ContasReceber atual = null)
        {
            this.cadastro      = cadastro;
            this.contaRecebida = new Lazy <Data.Model.ContasReceber>(() =>
            {
                var destino = atual ?? new Data.Model.ContasReceber();
                this.ConverterDtoParaModelo(destino);

                return(destino);
            });
        }
コード例 #2
0
        public IHttpActionResult AlterarContaRecebida(int id, [FromBody] CadastroAtualizacaoRecebidaDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdContaReceber(sessao, id);

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

                    var contaRecebida = ContasReceberDAO.Instance.GetElementByPrimaryKey(sessao, id);

                    if (contaRecebida == null)
                    {
                        return(this.NaoEncontrado($"Conta recebida {id} não encontrada."));
                    }

                    contaRecebida = new ConverterCadastroAtualizacaoParaContaRecebida(dadosParaAlteracao, contaRecebida)
                                    .ConverterParaContaRecebida();

                    sessao.BeginTransaction();

                    ContasReceberDAO.Instance.Update(sessao, contaRecebida);
                    sessao.Commit();

                    return(this.Aceito($"Conta recebida {id} atualizado com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar conta recebida.", ex));
                }
            }
        }