public static VendasClienteProduto getResultsByID(SearchObjects obj) { string query = "SELECT * FROM VW_VendasClienteProduto WHERE 1 = 1 AND "; List <VendasClienteProduto> lista = new List <VendasClienteProduto>(); if (DBConnection.isConnected == false) { DBConnection.connect(); } try { if (obj.Cpf != null) { query += " AND CLIENTE_ID = " + obj.Cpf; } if (obj.Cliente != null && !obj.Cliente.Equals("''")) { query += " AND CLIENTE_NAME = '" + obj.Cliente + "'"; } SqlDataReader reader = DBConnection.getResults(query); // SqlDataReader reader = DBConnection.getResults("SELECT * FROM VW_VendasClienteProduto WHERE CLIENTE_ID = " + obj.Cpf); while (reader.Read() != false) { lista.Add(new VendasClienteProduto(reader.GetValue(1).ToString(), Convert.ToInt32(reader.GetValue(0)), reader.GetValue(4).ToString(), Convert.ToInt32(reader.GetValue(5)))); } } catch (Exception e) { Console.WriteLine(e.Message); } DBConnection.closeConnections(); /* * for (int i = 0; i < 200; i++) * { * lista.Add(new VendasClienteProduto("cliente " + i, i, "produto " + i, i + 3)); * }*/ // return lista; if (lista.Count > 0) { /* var data = (from item in lista * where item.id_cliente == Convert.ToInt32(obj.Cpf) && item.cliente == obj.Cliente * select item).First();*/ return(lista.FirstOrDefault(e => e.id_cliente == Convert.ToInt32(lista[0].id_cliente))); } else { return(null); } // return data; }
public static List <List <VendasClienteProduto> > getClientsInsights(SearchObjects obj) { //requestsResponses = new List<VendasClienteProduto>[2]; /* string query = @"SELECT TOP(10) B.CLIENTE_ID, (SELECT SUM(A.VENDA_VLR) FROM VENDAS T WHERE T.CLIENTE_ID = B.CLIENTE_ID) AS FATURAMENTO * FROM VENDAS A, CLIENTE_PARENT B * WHERE A.CLIENTE_ID = B.CLIENTE_ID";*/ string query = @" SELECT TOP(10) A.CLIENTE_ID, SUM(A.VENDA_VLR) OVER (PARTITION BY A.CLIENTE_ID ORDER BY A.VENDA_VLR) AS FATURAMENTO FROM VW_VendasClienteProduto A WHERE 1=1 "; List <VendasClienteProduto> lista = new List <VendasClienteProduto>(); if (DBConnection.isConnected == false || !DBConnection.conn.State.Equals("Open")) { DBConnection.connect(); } try { if (obj.Cpf != null && !obj.Cpf.Equals("''")) { query += " AND A.CLIENTE_ID = " + obj.Cpf; } if (obj.Cliente != null && !obj.Cliente.Equals("''")) { query += " AND A.CLIENTE_NAME = '" + obj.Cliente + "'"; } if (obj.Produto != null && !obj.Produto.Equals("''")) { query += " AND A.PRODUCT_ID = " + obj.Produto; } if (obj.Segmento != null && !obj.Segmento.Equals("''")) { StringBuilder builder = new StringBuilder(obj.Segmento); if (obj.Segmento.Contains(",")) { builder.Replace(",", ""); builder.Replace(" ", ""); char[] segs = builder.ToString().ToCharArray(); char[] segmentosSelecionados = new char[segs.Length]; for (int i = 0; i < segs.Length; i++) { segmentosSelecionados[i] = segs[i]; if (i == 0) { query += " AND (A.PRODUTO_SEGMENTO = " + segmentosSelecionados[i]; } else if (i == segs.Length - 1) { query += " OR A.PRODUTO_SEGMENTO = " + segmentosSelecionados[i] + ") "; } else { query += " OR A.PRODUTO_SEGMENTO = " + segmentosSelecionados[i]; } } } else { query += " AND A.PRODUTO_SEGMENTO = " + obj.Segmento; } } if (obj.DataIni != null && !obj.DataIni.Equals("''")) { query += " AND A.DATA_VENDA >= '" + obj.DataIni + "'"; } if (obj.DataFim != null && !obj.DataFim.Equals("''")) { query += " AND A.DATA_VENDA <= '" + obj.DataFim + "'"; } if (obj.Cidade != null && !obj.Cidade.Equals("''")) { query += " AND A.CIDADE = '" + obj.Cidade + "'"; } // query += " GROUP BY B.CLIENTE_ID"; SqlDataReader reader = DBConnection.getResults(query); // SqlDataReader reader = DBConnection.getResults("SELECT * FROM VW_VendasClienteProduto WHERE CLIENTE_ID = " + obj.Cpf); while (reader.Read() != false) { var val1 = reader.GetValue(1).ToString(); var val2 = reader.GetValue(0); // var val3 = reader.GetValue(4).ToString(); // var val4 = reader.GetValue(5); lista.Add(new VendasClienteProduto(val1, Convert.ToInt32(val2), "", 1)); } requestsResponses[2] = lista; } catch (Exception e) { Console.WriteLine(e.Message); } DBConnection.closeConnections(); /* * for (int i = 0; i < 200; i++) * { * lista.Add(new VendasClienteProduto("cliente " + i, i, "produto " + i, i + 3)); * }*/ // return lista; if (lista.Count > 0) { /* var data = (from item in lista * where item.id_cliente == Convert.ToInt32(obj.Cpf) && item.cliente == obj.Cliente * select item).First();*/ return(requestsResponses.ToList()); //return lista; } else { return(null); } // return data; }