public List <RelatorioItem> RelatorioItem(Usuario usuario) { Abrirconexao(); using (Cmd = new SqlCommand("RelatorioPedidos", Con)) { try { Cmd.CommandType = CommandType.StoredProcedure; Cmd.Parameters.AddWithValue("@IdVendedor", usuario.Id); Dr = Cmd.ExecuteReader(); List <RelatorioItem> relatorio = new List <RelatorioItem>(); if (Dr.HasRows) { while (Dr.Read()) { RelatorioItem rel = new RelatorioItem( Convert.ToInt32(Dr["IdItem"]), Convert.ToInt32(Dr["QuantidadeItens"]), Convert.ToString(Dr["Nome"]) ); relatorio.Add(rel); } } Dr.Close(); return(relatorio); } catch (Exception ex) { throw new Exception("Erro executar relatorio: " + ex.Message); } finally { FecharConexao(); } } }
public List <RelatorioItem> GerarDadosRelatorio(Relatorio relatorio) { List <RelatorioItem> relatorioItens = new List <RelatorioItem>(); DateTime data = relatorio.Semana.DataInicial; for (int i = 0; i < 7; i++) { data = relatorio.Semana.DataInicial.AddDays(i); RelatorioItem relatorioItem = new RelatorioItem(); if (relatorio.Registros.Count == 0) { return(null); } List <Registro> registros = relatorio.Registros.Where(x => x.DataDeEntrada.Date == data.Date).ToList(); if (registros.Count > 0) { relatorioItens.Add(new RelatorioItem { Data = data, TotalVeiculos = registros.Count, ClientesUnicos = registros.GroupBy(r => r.Veiculo.Placa).ToList().Count, Receita = Convert.ToDecimal(registros.Sum(x => x.Valor)) }); } else { List <Veiculo> listVeiculos = new List <Veiculo>(); relatorioItens.Add(new RelatorioItem { Data = data, ClientesUnicos = 0, TotalVeiculos = 0, Receita = 0 }); } relatorioItem = null; registros = null; } return(relatorioItens); }