public List <Livros> FindBook(string mensagem, int origem) { var lstLivro = new List <Livros>(); var lstposicao = new List <PosicaoLivro>(); Classes.Livros livros = new Classes.Livros(); Classes.PosicaoLivro posicaoLivro = new Classes.PosicaoLivro(); Classes.Posicao posicao = new Classes.Posicao(); TipoConsulta tipoConsulta = new TipoConsulta(); var qtd = ""; switch (origem) { //Telegram case 1: { tipoConsulta = TipoConsultaTelegram(mensagem); qtd = "TOP 15"; break; } // APP case 2: { tipoConsulta = TipoConsultaTelegram(mensagem); qtd = "TOP 1"; break; } // Window Form case 3: { tipoConsulta = TipoConsultaTelegram(mensagem); qtd = ""; break; } } //Busca Livro Pelo ID if (tipoConsulta.idconsulta == 1) { Classes.Db_Utils db = new Classes.Db_Utils(); livros = db.FindBook(Convert.ToInt32(tipoConsulta.consulta)); lstLivro.Add(livros); } //Consulta Titulo ou Autor ou Geral else if (tipoConsulta.idconsulta == 2 || tipoConsulta.idconsulta == 3 || tipoConsulta.idconsulta == 4) { var conn = ConnectionLite('o'); var sql = Sqlstatement("B_Livros.IdLivro, Titulo, Autores, Cutter, Imagem, Descricao", "B_Livros", $"{tipoConsulta.tabela}{tipoConsulta.operador}{tipoConsulta.consulta}", qtd); SQLiteCommand command = new SQLiteCommand(sql, conn); using (SQLiteDataReader reader = command.ExecuteReader()) { while (reader.Read()) { using (var tempLivros = new Classes.Livros()) { tempLivros.IdLivro = Convert.ToInt32(reader["IdLivro"]); tempLivros.Titulo = reader["Titulo"].ToString(); tempLivros.Autores = reader["Autores"].ToString(); tempLivros.Cutter = reader["Cutter"].ToString(); tempLivros.Imagem = reader["Imagem"].ToString(); tempLivros.Descricao = reader["Descricao"].ToString(); lstLivro.Add(tempLivros); } } } //BUSCA POSICAO EM CASO DE SOMENTE UM LIVRO if (lstLivro.Count == 1) { Classes.Db_Utils db = new Classes.Db_Utils(); int idlivro = lstLivro.First().IdLivro; lstLivro.Clear(); lstLivro.Add(db.FindBook(idlivro)); } ConnectionLite('c'); } //Erro no Tipo else if (tipoConsulta.idconsulta == -1) { using (var tempLivros = new Classes.Livros()) { tempLivros.IdLivro = -1; lstLivro.Add(tempLivros); } } return(lstLivro); }
public Livros FindBook(int idlivro) { var conn = ConnectionLite('o'); var sql = Sqlstatement("B_Livros.IdLivro, Titulo, Autores, Cutter, Imagem, Descricao", "B_Livros", $"B_Livros.IdLivro = {idlivro}", ""); var sql2 = Sqlstatement("IdPosicaoLivro, B_Posicao.IdPosicao, Coluna, Estante, Lado, Bandeja", "B_Livros", $"B_Livros.IdLivro = {idlivro}", ""); using (Classes.Livros livros = new Classes.Livros()) { using (Classes.PosicaoLivro posicaoLivro = new Classes.PosicaoLivro()) { using (Classes.Posicao posicao = new Classes.Posicao()) { SQLiteCommand command = new SQLiteCommand(sql, conn); SQLiteCommand command2 = new SQLiteCommand(sql2, conn); using (SQLiteDataReader reader = command.ExecuteReader()) { if (reader.Read()) { livros.IdLivro = Convert.ToInt32(reader["IdLivro"]); livros.Titulo = reader["Titulo"].ToString(); livros.Autores = reader["Autores"].ToString(); livros.Cutter = reader["Cutter"].ToString(); livros.Imagem = reader["Imagem"].ToString(); livros.Descricao = reader["Descricao"].ToString(); } } if (livros != null) { using (SQLiteDataReader reader = command2.ExecuteReader()) { livros.PosicoesLivro = new List <Classes.PosicaoLivro>(); while (reader.Read()) { using (var tempPosicaoLivro = new Classes.PosicaoLivro()) { using (var tempPosicao = new Classes.Posicao()) { tempPosicaoLivro.IdPosicaoLivro = Convert.ToInt32(reader["IdPosicaoLivro"]); tempPosicao.IdPosicao = Convert.ToInt32(reader["IdPosicao"]); tempPosicao.Bandeja = reader["Bandeja"].ToString(); tempPosicao.Coluna = reader["Coluna"].ToString(); tempPosicao.Lado = reader["Lado"].ToString(); tempPosicao.Estante = reader["Estante"].ToString(); tempPosicaoLivro.Posicao = tempPosicao; livros.PosicoesLivro.Add(tempPosicaoLivro); } } } } } ConnectionLite('c'); return(livros); } } } }