示例#1
0
        private void ValidarFormDto(EmprestimoFormDto formDto)
        {
            var results = _validatorFormDto.Validate(formDto);

            formDto.ValidationSucceeded = results.IsValid;
            formDto.ErrorMessages       = results.Errors.Select(o => o.ErrorMessage).ToList();
        }
示例#2
0
        private Emprestimo CriarEmprestimo(EmprestimoFormDto formDto)
        {
            var cliente = _clienteServices.GetById(formDto.ClienteId);

            formDto.DataDoEmprestimo = DateTime.Now;

            return(_emprestimoBuilder
                   .WithCliente(cliente)
                   .WithDataDoEmprestimo(formDto.DataDoEmprestimo)
                   .WithId(Guid.NewGuid())
                   .WithValor(formDto.ValorDoEmprestimo)
                   .Build());
        }
示例#3
0
        public EmprestimoFormDto Save(EmprestimoFormDto formDto)
        {
            ValidarFormDto(formDto);
            if (!formDto.ValidationSucceeded)
            {
                return(formDto);
            }

            var emprestimo = CriarEmprestimo(formDto);

            if (!emprestimo.IsValid)
            {
                formDto.AddErro(string.Join(',', emprestimo.Erros));
                return(formDto);
            }

            _clienteServices.AlterarOLimiteDeEmprestimoDoCliente(emprestimo.Cliente, formDto.ValorDoEmprestimo);

            _emprestimoRepository.Add(emprestimo);
            _emprestimoRepository.Commit();
            return(formDto);
        }
示例#4
0
 public JsonResult Post([FromBody] EmprestimoFormDto formDto)
 {
     formDto.ClienteId = GetClienteId();
     return(Json(_emprestimoServices.Save(formDto)));
 }