Example #1
0
        internal IResultado InserirDevolucaoBanco(DadosEmprestimo dadosDevolucao)
        {
            _sessao      = new Sessao(_database);
            _repositorio = new Repositorio(_sessao);
            try
            {
                _sessao.Begin();

                _repositorio.Execute(gerarInsertEmprestimo(), new
                {
                    dadosDevolucao.Id,
                    dadosDevolucao.Id_Livro,
                    dadosDevolucao.Id_Pessoa,
                    dadosDevolucao.Data_Emprestimo,
                    dadosDevolucao.Data_Devolucao_Sugerida,
                    Data_Devolucao_Realizada = DateTime.Now,
                    dadosDevolucao.Id_Usuario_Logado,
                });

                _sessao.Commit();

                return(new Resultado($"Devolução de livro realizada com sucesso.", statusRetorno.OK));
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                return(new Resultado($"Ocorreram erros ao realizar devolução de livro. Detalhes: {ex.Message}", statusRetorno.Erro));
            }
        }
Example #2
0
        internal IResultado InserirEmprestimoBanco(DadosEmprestimo dadosEmprestimo)
        {
            _sessao      = new Sessao(_database);
            _repositorio = new Repositorio(_sessao);
            try
            {
                _sessao.Begin();
                var Data_Emprestimo      = DateTime.Now;
                var idExemplarEmprestado = _repositorio.Query <int>(gerarInsertEmprestimo(), new
                {
                    dadosEmprestimo.Id_Livro,
                    dadosEmprestimo.Id_Pessoa,
                    dadosEmprestimo.Data_Devolucao_Sugerida,
                    dadosEmprestimo.Id_Usuario_Logado,
                    dadosEmprestimo.Se_Renovacao,
                    Data_Emprestimo
                }).FirstOrDefault();

                atualizarControleExemplar(idExemplarEmprestado, Data_Emprestimo, true, _sessao, _repositorio);

                _sessao.Commit();

                return(new Resultado($"Empréstimo de livro realizado com sucesso.", statusRetorno.OK));
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                return(new Resultado($"Ocorreram erros ao realizar empréstimo de livro. Detalhes: {ex.Message}", statusRetorno.Erro));
            }
        }
Example #3
0
        public IResultado CadastrarUsuario(Models.Usuario usuario)
        {
            _sessao      = new Sessao(_database);
            _repositorio = new Repositorio(_sessao);

            try
            {
                _sessao.Begin();

                InserirUsuarioBd(usuario, _sessao, _repositorio);

                _sessao.Commit();

                return(new Resultado($"O usuário {usuario.Nome}, foi cadastrado com sucesso.", statusRetorno.OK));
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                return(new Resultado($"Ocorreram erros ao cadastrar o usuário. Detalhes: {ex.Message}", statusRetorno.Erro));
            }
        }
Example #4
0
        public IResultado EditarLivro(Livro livro)
        {
            _sessao      = new Sessao(_database);
            _repositorio = new Repositorio(_sessao);

            try
            {
                _sessao.Begin();

                EditarLivroBd(livro, _sessao, _repositorio);

                _sessao.Commit();

                return(new Resultado($"O livro {livro.Titulo}, foi editado com sucesso.", statusRetorno.OK));
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                return(new Resultado($"Ocorreram erros ao editar o livro. Detalhes: {ex.Message}", statusRetorno.Erro));
            }
        }
Example #5
0
        public void CadastrarCursosRelacionados(Livro livro, ISessao _sessao = null, IRepositorio _repositorio = null)
        {
            if (livro.CamposLivro.Cursos.Count() == 0)
            {
                return;
            }

            bool novaSessao      = false;
            int  cursosInseridos = 0;

            try
            {
                if (_sessao == null)
                {
                    novaSessao   = true;
                    _sessao      = new Sessao(_database);
                    _repositorio = new Repositorio(_sessao);
                    _sessao.Begin();
                }

                livro.CamposLivro.Cursos.ForEach(curso =>
                {
                    _repositorio.Execute(gerarInsertCursosRelacionados(), new { idLivro = livro.Id, idCurso = curso.Id });
                    cursosInseridos++;
                });

                if (cursosInseridos != livro.CamposLivro.Cursos.Count())
                {
                    throw new Exception("Erro ao cadastrar cursos relacionados.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }