Exemplo n.º 1
0
        public IList <Pedido> Pesquisar(string nomeRazao, SituacaoPedido situacao, DateTime previsaoPagamento, DateTime pagamento, DateTime cancelamento, string ano, string mes)
        {
            using (ISession session = SessionFactory.AbrirSession())
            {
                string sQuery = @"
                    SELECT
                        new Pedido(
                        pedido.Id,
                        pedido.Status
                        )
                    from Pedido pedido
                ";

                string sQuery2 = @"
                    SELECT
                        pedido.Id,
                        pedido.Status
                    from Pedido pedido
                ";

                string h_stmt = "FROM Pedido";

                string sQuery3 = @"
                                    Select 
                                        pedido
                                    from Pedido pedido,
                                        Cliente cliente,
                                        FormaPagamento formaPagamento,
                                        Usuario usuario,
                                        PedidoItem pedidoItem
                                    Where pedido.Cliente = cliente
                                    AND pedido.FormaPagamento = formaPagamento
                                    AND pedido.Usuario = usuario
                                    AND pedidoItem.Pedido = pedido";
                //AND pedido.Id = " + idPedido;

                IQuery query = session.CreateQuery(sQuery3);

                IList <Pedido> objetoRetorno = new List <Pedido>();

                if (Convert.ToInt32(situacao) == 1)
                {
                    if (Convert.ToInt32(situacao) == 1 && ano != string.Empty && mes != string.Empty) // Pendente
                    {
                        var objetoPendenteAnoMes = (from pedido in session.Query <Pedido>()
                                                    join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                                                    join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                                                    join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                                                    //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                                                    //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                                                    where pedido.Cliente.NomeRazao.Contains(nomeRazao)
                                                    //&& ((pedido.Status & SituacaoPedido.PAGO) == SituacaoPedido.PAGO)
                                                    && Convert.ToInt32(pedido.Status) == Convert.ToInt32(situacao) &&
                                                    pedido.Data_Previsao_Pagamento.Year == Convert.ToInt32(ano) &&
                                                    pedido.Data_Previsao_Pagamento.Month == Convert.ToInt32(mes)
                                                    select pedido).ToList();
                        objetoRetorno = objetoPendenteAnoMes;
                    }
                    else
                    {
                        var objetoPendenteDia = (from pedido in session.Query <Pedido>()
                                                 join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                                                 join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                                                 join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                                                 //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                                                 //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                                                 where pedido.Cliente.NomeRazao.Contains(nomeRazao)
                                                 //&& ((pedido.Status & SituacaoPedido.PAGO) == SituacaoPedido.PAGO)
                                                 && Convert.ToInt32(pedido.Status) == Convert.ToInt32(situacao)
                                                 //&& pedido.Data_Previsao_Pagamento.Year == 2018
                                                 //&& pedido.Data_Previsao_Pagamento.Month == 03
                                                 //&& pedido.Data_Previsao_Pagamento.Year + pedido.Data_Previsao_Pagamento.Month == 201803
                                                 && pedido.Data_Previsao_Pagamento.Date == previsaoPagamento.Date
                                                 select pedido).ToList();
                        objetoRetorno = objetoPendenteDia;
                    }
                }
                else if (Convert.ToInt32(situacao) == 2)
                {
                    if (Convert.ToInt32(situacao) == 2 && ano != string.Empty && mes != string.Empty) // Pago
                    {
                        var objetoPagoAnoMes = (from pedido in session.Query <Pedido>()
                                                join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                                                join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                                                join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                                                //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                                                //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                                                where pedido.Cliente.NomeRazao.Contains(nomeRazao) &&
                                                Convert.ToInt32(pedido.Status) == Convert.ToInt32(situacao) &&
                                                pedido.Data_Pagamento.Value.Year == Convert.ToInt32(ano) &&
                                                pedido.Data_Pagamento.Value.Month == Convert.ToInt32(mes)
                                                select pedido).ToList();
                        objetoRetorno = objetoPagoAnoMes;
                    }
                    else
                    {
                        var objetoPago = (from pedido in session.Query <Pedido>()
                                          join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                                          join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                                          join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                                          //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                                          //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                                          where pedido.Cliente.NomeRazao.Contains(nomeRazao) &&
                                          Convert.ToInt32(pedido.Status) == Convert.ToInt32(situacao) &&
                                          pedido.Data_Pagamento.Value.Date == pagamento.Date
                                          select pedido).ToList();
                        objetoRetorno = objetoPago;
                    }
                }
                else if (Convert.ToInt32(situacao) == 3)
                {
                    // Cancelados
                    if (Convert.ToInt32(situacao) == 3 && ano != string.Empty && mes != string.Empty)
                    {
                        var objetoPendenteAnoMes = (from pedido in session.Query <Pedido>()
                                                    join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                                                    join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                                                    join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                                                    //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                                                    //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                                                    where pedido.Cliente.NomeRazao.Contains(nomeRazao)
                                                    //&& ((pedido.Status & SituacaoPedido.PAGO) == SituacaoPedido.PAGO)
                                                    && Convert.ToInt32(pedido.Status) == Convert.ToInt32(situacao) &&
                                                    pedido.Data_Cancelamento.Value.Year == Convert.ToInt32(ano) &&
                                                    pedido.Data_Cancelamento.Value.Month == Convert.ToInt32(mes)
                                                    //&& pedido.Data_Previsao_Pagamento.Year + pedido.Data_Previsao_Pagamento.Month == 201803
                                                    //&& pedido.Data_Previsao_Pagamento.Date == previsaoPagamento.Date
                                                    select pedido).ToList();
                        objetoRetorno = objetoPendenteAnoMes;
                    }
                    else
                    {
                        var objetoPendenteDia = (from pedido in session.Query <Pedido>()
                                                 join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                                                 join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                                                 join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                                                 //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                                                 //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                                                 where pedido.Cliente.NomeRazao.Contains(nomeRazao)
                                                 //&& ((pedido.Status & SituacaoPedido.PAGO) == SituacaoPedido.PAGO)
                                                 && Convert.ToInt32(pedido.Status) == Convert.ToInt32(situacao)
                                                 //&& pedido.Data_Previsao_Pagamento.Year == 2018
                                                 //&& pedido.Data_Previsao_Pagamento.Month == 03
                                                 //&& pedido.Data_Previsao_Pagamento.Year + pedido.Data_Previsao_Pagamento.Month == 201803
                                                 && pedido.Data_Cancelamento.Value.Date == cancelamento.Date
                                                 select pedido).ToList();
                        objetoRetorno = objetoPendenteDia;
                    }
                }

                /*
                 * IList<Pedido> pedidos = new List<Pedido>();
                 * pedidos = query.List<Pedido>();
                 */

                string[] grid = new string[2];

                grid[0] = "Param1";
                grid[1] = "Param2";

                //return pedidos;
                return(objetoRetorno);
            }
        }
Exemplo n.º 2
0
        public IList <Pedido> Consultar()
        {
            using (ISession session = SessionFactory.AbrirSession())
            {
                string sQuery = @"
                    SELECT
                        new Pedido(
                        pedido.Id,
                        pedido.Status
                        )
                    from Pedido pedido
                ";

                string sQuery2 = @"
                    SELECT
                        pedido.Id,
                        pedido.Status
                    from Pedido pedido
                ";

                string h_stmt = "FROM Pedido";

                string sQuery3 = @"
Select 
pedido
from Pedido pedido,
Cliente cliente,
FormaPagamento formaPagamento,
Usuario usuario,
PedidoItem pedidoItem
Where pedido.Cliente = cliente
AND pedido.FormaPagamento = formaPagamento
AND pedido.Usuario = usuario
AND pedidoItem.Pedido = pedido
";

                IQuery query = session.CreateQuery(sQuery3);

                var objeto = (from pedido in session.Query <Pedido>()
                              join cliente in session.Query <Cliente>() on pedido.Cliente.Id equals cliente.Id
                              join formaPagamento in session.Query <FormaPagamento>() on pedido.FormaPagamento.Id equals formaPagamento.Id
                              join usuario in session.Query <Usuario>() on pedido.Usuario.Id equals usuario.Id
                              //join pedidoItem in session.Query<PedidoItem>() on pedido.PedidoItem.
                              //where pedido.Cliente.NomeRazao == "Init" && pedido.FormaPagamento.Descricao.Contains("Purpose Sample")
                              select pedido).ToList();

                IList <Pedido> pedidos = new List <Pedido>();



                pedidos = query.List <Pedido>();

                string[] grid = new string[2];

                grid[0] = "Param1";
                grid[1] = "Param2";

                //return pedidos;
                return(objeto);
            }
        }