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); }
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); }
/* 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); }
/* 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); }
/* 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); }
public bool VerificarLivroExistente(Entity.Livro aoLivro) { if (new DAL.Livro().ExisteLivroNome(aoLivro) == 1) { return(true); } return(false); }
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); }
/* 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); }
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); }
/* 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); }