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