/// <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); }); }
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)); } } }