コード例 #1
0
        public async Task <IActionResult> Emprestar([FromQuery] int id)
        {
            var livro = await _livroServico.Emprestar(id);

            if (_livroServico.Sucesso())
            {
                return(Ok(livro));
            }

            return(BadRequest(_livroServico.Erros));
        }
コード例 #2
0
        public async Task <EmprestimoViewModel> ConfirmaEmprestimo(EmprestimoViewModel emprestimo)
        {
            var validacao = await _emprestimoValidacaoConfirmacao.Validar(emprestimo);

            if (validacao.IsValid)
            {
                var obj = await _emprestimoRepositorio.SelecionarPorId(emprestimo.Id);

                obj.DataEmprestimo    = DateTime.Now;
                obj.Status            = EStatusEmprestimo.EMPRESTADO;
                obj.DataPrevDevolucao = emprestimo.DataPrevDevolucao != null ? emprestimo.DataPrevDevolucao : DateTime.Now.AddDays(30);
                obj.Observacao        = emprestimo.Observacao != null ? emprestimo.Observacao : obj.Observacao;

                await _emprestimoRepositorio.Editar(obj);

                _ = _livroServico.Emprestar(emprestimo.LivroId);

                return(_mapper.Map <EmprestimoViewModel>(obj));
            }

            Erros.AddRange(validacao.Errors.Select(erro => erro.ErrorMessage).ToList());
            return(emprestimo);
        }