示例#1
0
        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);
        }
示例#2
0
        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);
                    }
                }
            }
        }