Пример #1
0
            public bool InserirNovoLivro(Entity.Livro aoLivro, Entity.Usuario aoUsuario, out string lsMensagemOperacao)
            {
                lsMensagemOperacao = string.Empty;
                bool lbValidado = true;

                // Confere se o nome do livro é muito curto
                if (!(Util.VerificarNome(aoLivro.LVR_nome)))
                {
                    lsMensagemOperacao = "Nome do livro de tamanho invalido!";
                    lbValidado         = false;
                }

                // Confere se o nome do livro já existe
                if (VerificarLivroExistente(aoLivro))
                {
                    lsMensagemOperacao = "Livro com este nome já existe!";
                    lbValidado         = false;
                }

                if (lbValidado)
                {
                    if (new DAL.Livro().InserirNovoLivro(aoLivro, aoUsuario) != 1)
                    {
                        lsMensagemOperacao = "Ocorreu um erro no servidor. Tente novamente mais tarde!";
                        lbValidado         = false;
                    }
                }

                return(lbValidado);
            }
Пример #2
0
            public bool AlterarLivro(Entity.Livro aoLivro, out string lsMensagemOperacao)
            {
                lsMensagemOperacao = string.Empty;
                bool lbValidado = true;

                if (string.IsNullOrEmpty(aoLivro.LVR_nome))
                {
                    lsMensagemOperacao = "O campo Nome do Livro não pode ser vazio!";
                    lbValidado         = false;
                }

                if (!(Util.VerificarNome(aoLivro.LVR_nome)))
                {
                    lsMensagemOperacao = "Nome do Livro de tamanho inválido!";
                    lbValidado         = false;
                }

                if (VerificarLivroExistente(aoLivro))
                {
                    lsMensagemOperacao = "Livro com este nome já existe!";
                    lbValidado         = false;
                }

                if (lbValidado)
                {
                    if (new DAL.Livro().AtualizarDadosLivro(aoLivro) == -1)
                    {
                        lsMensagemOperacao = "Ocorreu algum erro no servidor!";
                        lbValidado         = false;
                    }
                }

                return(lbValidado);
            }
Пример #3
0
            /* O metodo ja faz a atualizacao do livro em questão, alterando suas quantidades disponiveis e emprestadas.
             * Insere um novo emprestimo no banco.
             * Retorna 1 se a operção foi executada com sucesso.
             * Retorna -1 se ocorreu algum erro na operação, seja erro no banco ou alguma violação de integridade. */
            internal int RealizarEmprestimo(Entity.Livro aoLivro, Entity.Emprestimo aoEmprestimo)
            {
                int             liResult = -1;
                MySqlConnection conn     = new
                                           MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();
                    StringBuilder lsSQLQuery = new StringBuilder();
                    lsSQLQuery.Append("update lvr_livro set lvr_emprestado = 1 where lvr_id = @id_livro;");
                    lsSQLQuery.Append("insert into emp_emprestimo(emp_nome_emprestante, emp_email_emprestante, emp_data_devolucao, emp_id_livro, emp_id_usuario, emp_nome_livro) ");
                    lsSQLQuery.Append("values(@nome_emprestante, @email_emprestante, @data_devolucao, @emp_id_livro, @emp_id_usuario, (select lvr_nome from lvr_livro where lvr_id = @emp_id_livro))");
                    MySqlCommand cmd = new MySqlCommand(lsSQLQuery.ToString(), conn);
                    cmd.Parameters.AddWithValue("@id_livro", aoLivro.LVR_id);
                    cmd.Parameters.AddWithValue("@nome_emprestante", aoEmprestimo.EMP_nome_emprestante);
                    cmd.Parameters.AddWithValue("@email_emprestante", aoEmprestimo.EMP_email_emprestante);
                    cmd.Parameters.AddWithValue("@data_devolucao", aoEmprestimo.EMP_devolucao);
                    cmd.Parameters.AddWithValue("@emp_id_livro", aoEmprestimo.EMP_id_livro);
                    cmd.Parameters.AddWithValue("@emp_id_usuario", aoEmprestimo.EMP_id_usuario);
                    liResult = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(liResult);
            }
Пример #4
0
            /* Exclui um livro no banco.
             * Retorna 1 se a operção foi executada com sucesso.
             * Retorna -1 se ocorreu algum erro na operação, seja erro no banco ou alguma violação de integridade. */
            internal int RemoverLivro(Entity.Livro aoLivro)
            {
                int             liResult = -1;
                MySqlConnection conn     = new
                                           MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();
                    string       lsSQLQuery = "delete from lvr_livro where lvr_id = @id_livro";
                    MySqlCommand cmd        = new MySqlCommand(lsSQLQuery, conn);
                    cmd.Parameters.AddWithValue("@id_livro", aoLivro.LVR_id);
                    liResult = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(liResult);
            }
Пример #5
0
            /* Insere novo livro no banco.
             * Retorna 1 se a operção foi executada com sucesso.
             * Retorna -1 se ocorreu algum erro na operação, seja erro no banco ou alguma violação de integridade. */
            internal int InserirNovoLivro(Entity.Livro aoLivro, Entity.Usuario aoUsuario)
            {
                int             liResult = -1;
                MySqlConnection conn     = new
                                           MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();
                    string       lsSQLQuery = "insert into lvr_livro(lvr_id_usuario, lvr_nome, lvr_emprestado) values(@id_usuario, @nome, 0)";
                    MySqlCommand cmd        = new MySqlCommand(lsSQLQuery, conn);
                    cmd.Parameters.AddWithValue("@id_usuario", aoUsuario.USR_id);
                    cmd.Parameters.AddWithValue("@nome", aoLivro.LVR_nome);
                    liResult = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(liResult);
            }
Пример #6
0
 public bool VerificarLivroExistente(Entity.Livro aoLivro)
 {
     if (new DAL.Livro().ExisteLivroNome(aoLivro) == 1)
     {
         return(true);
     }
     return(false);
 }
Пример #7
0
            public bool RemoverLivro(Entity.Livro aoLivro, out string lsMensagemOperacao)
            {
                lsMensagemOperacao = string.Empty;

                if (new DAL.Livro().RemoverLivro(aoLivro) == -1)
                {
                    lsMensagemOperacao = "Ocorreu algum erro! Tente novamente!";
                    return(false);
                }
                return(true);
            }
Пример #8
0
            /* Retorna uma lista de Livros do usuario.
             * Retorna null se o usuario nao possui livros ou ocorreu algum erro no banco. */
            internal List <Entity.Livro> CarregarLivrosUsuario(int aiIdUsuario)
            {
                List <Entity.Livro> loListaLivros = new List <Entity.Livro>();
                //loListaLivros = null;
                MySqlConnection conn = new
                                       MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();
                    string       lsSQLQuery = "select lvr_id, lvr_nome, lvr_emprestado from lvr_livro where lvr_id_usuario = @id_usuario";
                    MySqlCommand cmd        = new MySqlCommand(lsSQLQuery, conn);

                    cmd.Parameters.AddWithValue("@id_usuario", aiIdUsuario);

                    MySqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        Entity.Livro loLivro = new Entity.Livro((string)reader.GetValue(1), aiIdUsuario);
                        loLivro.LVR_id         = (int)reader.GetValue(0);
                        loLivro.LVR_emprestado = (bool)reader.GetValue(2);
                        loListaLivros.Add(loLivro);
                    }

                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(loListaLivros);
            }
Пример #9
0
            public bool InserirNovoEmprestimo(Entity.Livro aoLivro, Entity.Emprestimo aoEmprestimo, out string lsMensagemOperacao)
            {
                lsMensagemOperacao = string.Empty;
                bool lbValidado = true;

                //Confere se o nome da pessoa é muito curto
                if (!(Util.VerificarNome(aoEmprestimo.EMP_nome_emprestante)))
                {
                    lsMensagemOperacao = "Nome de tamanho invalido!";
                    lbValidado         = false;
                }

                // Confere se email é valido
                if (!(Util.VerificaValidadeEmail(aoEmprestimo.EMP_email_emprestante)))
                {
                    lsMensagemOperacao = "Formato de email incorreto!";
                    lbValidado         = false;
                }
                //Confere se a data é valida
                if (!Util.VerificaData(aoEmprestimo.EMP_devolucao))
                {
                    lsMensagemOperacao = "A data não pode ser anterior ao dia atual";
                    lbValidado         = false;
                }

                if (lbValidado)
                {
                    if (new DAL.Emprestimo().RealizarEmprestimo(aoLivro, aoEmprestimo) != 2)
                    {
                        lsMensagemOperacao = "Ocorreu um erro no servidor. Tente novamente mais tarde!";
                        lbValidado         = false;
                    }
                }

                return(lbValidado);
            }
Пример #10
0
            /* Se já existe um livro no banco com o nome em questão, ele retorna 1.
             * Se não existe um livro com esse nome, retorna 0.
             * Retorna -1 se ocorreu algum erro na operação. */
            internal int ExisteLivroNome(Entity.Livro aoLivro)
            {
                int             liResult = -1;
                MySqlConnection conn     = new
                                           MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();

                    string lsSQLQuery = "select count(*) from lvr_livro where lvr_nome = @nome and lvr_id != @id_livro and lvr_id_usuario = @id_usuario";

                    MySqlCommand cmd = new MySqlCommand(lsSQLQuery, conn);

                    cmd.Parameters.AddWithValue("@nome", aoLivro.LVR_nome);
                    cmd.Parameters.AddWithValue("@id_livro", aoLivro.LVR_id);
                    cmd.Parameters.AddWithValue("@id_usuario", aoLivro.LVR_id_usuario);
                    MySqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        liResult = Convert.ToInt32(reader.GetValue(0).ToString());
                    }

                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(liResult);
            }