Beispiel #1
0
        public async Task <EmprestimoViewModel> Editar(EmprestimoViewModel emprestimo)
        {
            var validacao = await _emprestimoValidacaoEdicao.Validar(emprestimo);

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

                obj.DataPrevDevolucao = emprestimo.DataPrevDevolucao;
                obj.Observacao        = emprestimo.Observacao;

                _ = await _emprestimoRepositorio.Editar(obj);

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

            Erros.AddRange(validacao.Errors.Select(erro => erro.ErrorMessage).ToList());
            return(emprestimo);
        }
Beispiel #2
0
        public async Task <EmprestimoViewModel> CancelaEmprestimo(EmprestimoViewModel emprestimo)
        {
            var validacao = await _emprestimoValidacaoCancelamento.Validar(emprestimo);

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

                obj.Status = EStatusEmprestimo.CANCELADO;

                await _emprestimoRepositorio.Editar(obj);

                _ = _livroServico.Devolver(emprestimo.LivroId);

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

            Erros.AddRange(validacao.Errors.Select(erro => erro.ErrorMessage).ToList());
            return(emprestimo);
        }
Beispiel #3
0
        public async Task <EmprestimoViewModel> Criar(EmprestimoViewModel emprestimo)
        {
            var validacao = await _emprestimoValidacaoInclusao.Validar(emprestimo);

            if (validacao.IsValid)
            {
                emprestimo.DataEmprestimo    = DateTime.Now;
                emprestimo.DataPrevDevolucao = DateTime.Now.AddMonths(1);
                emprestimo.Status            = (int)EStatusEmprestimo.PENDENTE;


                var obj = await _emprestimoRepositorio.Criar(_mapper.Map <Emprestimo>(emprestimo));

                _ = await _livroServico.Emprestar(emprestimo.LivroId);

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

            Erros.AddRange(validacao.Errors.Select(erro => erro.ErrorMessage).ToList());
            return(emprestimo);
        }
Beispiel #4
0
        public async Task <EmprestimoViewModel> RealizaDevolucao(EmprestimoViewModel emprestimo)
        {
            var validacao = await _emprestimoValidacaoDevolucao.Validar(emprestimo);

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

                obj.DataDevolucao = DateTime.Now;
                obj.Status        = EStatusEmprestimo.DEVOLVIDO;


                obj = await _emprestimoRepositorio.Editar(obj);

                _ = await _livroServico.Devolver(obj.LivroId);

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

            Erros.AddRange(validacao.Errors.Select(erro => erro.ErrorMessage).ToList());
            return(emprestimo);
        }
Beispiel #5
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);
        }