예제 #1
0
            /* Altera a data de devolucao de um emprestimo
             * 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 AlterarPrazoEmprestimo(Entity.Emprestimo aoEmprestimo)
            {
                int             liResult = -1;
                MySqlConnection conn     = new
                                           MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();
                    StringBuilder lsSQLQuery = new StringBuilder();
                    lsSQLQuery.Append("update emp_emprestimo set emp_data_devolucao = @nova_data where emp_id = @emp_id");
                    MySqlCommand cmd = new MySqlCommand(lsSQLQuery.ToString(), conn);
                    cmd.Parameters.AddWithValue("@nova_data", aoEmprestimo.EMP_devolucao);
                    cmd.Parameters.AddWithValue("@emp_id", aoEmprestimo.EMP_id);
                    liResult = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(liResult);
            }
예제 #2
0
            /* O metodo ja faz a atualizacao do livro em questão, alterando suas quantidades disponiveis e emprestadas.
             * Remove um 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 DevolverEmprestimo(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 = 0 where lvr_id = (select emp_id_livro from emp_emprestimo where emp_id = @emp_id);");
                    lsSQLQuery.Append("delete from emp_emprestimo where emp_id = @emp_id");
                    MySqlCommand cmd = new MySqlCommand(lsSQLQuery.ToString(), conn);
                    cmd.Parameters.AddWithValue("@emp_id", aoEmprestimo.EMP_id);
                    liResult = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(liResult);
            }
예제 #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
 //Finaliza um emprestimo usando ID do livro e ID do emprestimo
 public bool RealizaDevolucao(Entity.Emprestimo aoEmprestimo, out string lsMensagemOperacao)
 {
     lsMensagemOperacao = string.Empty;
     if (new DAL.Emprestimo().DevolverEmprestimo(aoEmprestimo) == -1)
     {
         lsMensagemOperacao = "Ocorreu algum erro! Tente novamente!";
         return(false);
     }
     return(true);
 }
예제 #5
0
            //Altera o prazo de entrega do livro emprestado
            public bool AlterarPrazo(Entity.Emprestimo aoEmprestimo, out string lsMensagemOperacao)
            {
                lsMensagemOperacao = string.Empty;
                bool lbValidado = true;

                //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().AlterarPrazoEmprestimo(aoEmprestimo) == -1)
                    {
                        lsMensagemOperacao = "Ocorreu algum erro no servidor!";
                        lbValidado         = false;
                    }
                }

                return(lbValidado);
            }
예제 #6
0
            /* Retorna uma lista de Emprestimos do usuario.
             * Retorna null se o usuario nao possui emprestimos ou ocorreu algum erro no banco. */
            internal List <Entity.Emprestimo> CarregarEmprestimosUsuario(int aiIdUsuario)
            {
                List <Entity.Emprestimo> loListaEmprestimos = new List <Entity.Emprestimo>();
                //loListaEmprestimos = null;
                MySqlConnection conn = new
                                       MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                try
                {
                    conn.Open();
                    string       lsSQLQuery = "select emp_id_livro, emp_email_emprestante, emp_nome_emprestante, emp_data_devolucao, emp_nome_livro, emp_id from emp_emprestimo where emp_id_usuario = @id_usuario";
                    MySqlCommand cmd        = new MySqlCommand(lsSQLQuery, conn);

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

                    MySqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        Entity.Emprestimo loEmprestimo = new Entity.Emprestimo((int)reader.GetValue(0), aiIdUsuario, (string)reader.GetValue(1), (string)reader.GetValue(2), (DateTime)reader.GetValue(3));
                        loEmprestimo.EMP_nome_livro = (string)reader.GetValue(4);
                        loEmprestimo.EMP_id         = (int)reader.GetValue(5);
                        loListaEmprestimos.Add(loEmprestimo);
                    }

                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    conn.Close();
                }
                return(loListaEmprestimos);
            }
예제 #7
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);
            }