/* 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); }
/* 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); }
/* 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); }
//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); }
//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); }
/* 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); }
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); }