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();
                }
            }
        }
Ejemplo n.º 2
0
        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);
        }