Beispiel #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));
            }
        }
Beispiel #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));
            }
        }
Beispiel #3
0
        private void CadastrarBiografiaTipo(Livro livro, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (livro.CamposLivro.Biografias_Tipo.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  biografiasTipoInseridos = 0;

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

                livro.CamposLivro.Biografias_Tipo.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertBiografiaTipoLivro(), new { idLivro = livro.Id, idBiografiaTipo = x.Id_Bibliografia_Tipo });
                    biografiasTipoInseridos++;
                });

                if (biografiasTipoInseridos != livro.CamposLivro.Biografias_Tipo.Count())
                {
                    throw new Exception("Erro ao cadastrar tipo de biografia.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #4
0
        private void CadastrarEsquemaCodificacao(int idLivro, List <Esquema_Codificacao> esquemasCodificacao, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (esquemasCodificacao.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  esquemasCodificacaoInseridos = 0;

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

                esquemasCodificacao.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertEsquemaCodificacaoLivro(), new { idLivro, idCurso = x.Id_Esquema_Codificacao });
                    esquemasCodificacaoInseridos++;
                });

                if (esquemasCodificacaoInseridos != esquemasCodificacao.Count())
                {
                    throw new Exception("Erro ao cadastrar esquema de codificação.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #5
0
        private void CadastrarFormaCatalogacaoDescritiva(int idLivro, List <Forma_Catalogacao_Descritiva> formasCatalogacaoDescritiva, ISessao sessao, IRepositorio repositorio)
        {
            if (formasCatalogacaoDescritiva.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  formasCatalogacaoDescritivaInseridos = 0;

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

                formasCatalogacaoDescritiva.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertFormaCatalogacaoDescritivaLivro(), new { idLivro, idCurso = x.Id_Forma_Catalogacao_Descritiva });
                    formasCatalogacaoDescritivaInseridos++;
                });

                if (formasCatalogacaoDescritivaInseridos != formasCatalogacaoDescritiva.Count())
                {
                    throw new Exception("Erro ao cadastrar forma de catalogação descritiva.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #6
0
        private void CadastrarFormaItem(int idLivro, List <Forma_Item> formasItem, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (formasItem.Count() == 0)
            {
                return;
            }

            bool novaSessao          = false;
            int  formasItemInseridos = 0;

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

                formasItem.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertFormaItemLivro(), new { idLivro, idCurso = x.Id_Forma_Item });
                    formasItemInseridos++;
                });

                if (formasItemInseridos != formasItem.Count())
                {
                    throw new Exception("Erro ao cadastrar forma do item.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #7
0
        private void CadastrarNaturezaConteudo(int idLivro, List <Natureza_Conteudo> naturezasConteudo, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (naturezasConteudo.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  naturezasConteudoInseridos = 0;

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

                naturezasConteudo.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertNaturezaConteudoLivro(), new { idLivro, idCurso = x.Id_Natureza_Conteudo });
                    naturezasConteudoInseridos++;
                });

                if (naturezasConteudoInseridos != naturezasConteudo.Count())
                {
                    throw new Exception("Erro ao cadastrar natureza conteúdo.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #8
0
        private void CadastrarNivelBibliografico(int idLivro, List <Nivel_Bibliografico> niveisBibliograficos, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (niveisBibliograficos.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  niveisBibliograficosInseridos = 0;

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

                niveisBibliograficos.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertNivelBibliograficoLivro(), new { idLivro, idCurso = x.Id_Nivel_Bibliografico });
                    niveisBibliograficosInseridos++;
                });

                if (niveisBibliograficosInseridos != niveisBibliograficos.Count())
                {
                    throw new Exception("Erro ao cadastrar nivel bibliográfico.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #9
0
        private void CadastrarPublicacaoGovernamental(int idLivro, List <Publicacao_Governamental_Tipo> publicacaoGovernamentalTipos, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (publicacaoGovernamentalTipos.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  publicacaoGovernamentalTiposInseridos = 0;

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

                publicacaoGovernamentalTipos.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertPublicacaoGovernamentalTipoLivro(), new { idLivro, idCurso = x.Id_Publicacao_Governamental_Tipo });
                    publicacaoGovernamentalTiposInseridos++;
                });

                if (publicacaoGovernamentalTiposInseridos != publicacaoGovernamentalTipos.Count())
                {
                    throw new Exception("Erro ao cadastrar tipo de publicação governamental.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #10
0
        private void CadastrarPublicoAlvo(Livro livro, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (livro.CamposLivro.Publicos_Alvos.Count() == 0)
            {
                return;
            }

            bool novaSessao            = false;
            int  publicosAlvoInseridos = 0;

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

                livro.CamposLivro.Publicos_Alvos.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertPublicoAlvoLivro(), new { idLivro = livro.Id, idPublicoAlvo = x.Id_Publico_Alvo });
                    publicosAlvoInseridos++;
                });

                if (publicosAlvoInseridos != livro.CamposLivro.Publicos_Alvos.Count())
                {
                    throw new Exception("Erro ao cadastrar publico alvo.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #11
0
        private void CadastrarStatusRegistro(int idLivro, List <Status_Registro> statusRegistro, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (statusRegistro.Count() == 0)
            {
                return;
            }

            bool novaSessao = false;
            int  statusRegistroInseridos = 0;

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

                statusRegistro.ForEach(x =>
                {
                    _repositorio.Execute(gerarInsertStatusRegistroLivro(), new { idLivro, idCurso = x.Id_Status_Registro });
                    statusRegistroInseridos++;
                });

                if (statusRegistroInseridos != statusRegistro.Count())
                {
                    throw new Exception("Erro ao cadastrar status do registro.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #12
0
        private void CadastrarTipoControle(int idLivro, List <Tipo_Controle> tiposControle, ISessao sessao = null, IRepositorio repositorio = null)
        {
            if (tiposControle.Count() == 0)
            {
                return;
            }

            bool novaSessao             = false;
            int  tiposControleInseridos = 0;

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

                tiposControle.ForEach(tipoControle =>
                {
                    _repositorio.Execute(gerarInsertTipoControleLivro(), new { idLivro, idCurso = tipoControle.Id_Tipo_Controle });
                    tiposControleInseridos++;
                });

                if (tiposControleInseridos != tiposControle.Count())
                {
                    throw new Exception("Erro ao cadastrar tipo de controle.");
                }

                if (novaSessao)
                {
                    _sessao.Commit();
                }
            }
            catch (Exception ex)
            {
                _sessao.Rollback();
                throw new Exception(ex.Message);
            }
        }
Beispiel #13
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);
            }
        }
Beispiel #14
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));
            }
        }
Beispiel #15
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));
            }
        }