Exemplo n.º 1
0
        public Relatorio GetRelatorio(DateTime? dataInicial, DateTime? dataFinal, int? idDoutor)
        {
            var relatorio = new Relatorio();

            var relatorioPaginas = this.Produtos.SelectMany(p => p.ProdutoVas).SelectMany(va => va.ProdutoVaSlides).SelectMany(s => s.RelatorioPaginas).Where(rp => rp.DoutorCadastro != null);

            if (dataInicial != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.DataInicio >= dataInicial);
            }

            if (dataFinal != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.DataInicio < dataFinal.Value.AddDays(1));
            }

            if (idDoutor != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.IdDoutorCadastro == idDoutor);
            }

            relatorio.QtdeVisualizacoes = relatorioPaginas.Count();
            relatorio.Segundos = relatorioPaginas.Sum(r => r.Segundos);

            //tira a mediana
            var metade1 = relatorioPaginas.OrderBy(rp => rp.Segundos).Take(relatorioPaginas.Count() / 2).Max(rp => rp.Segundos);
            var metade2 = relatorioPaginas.OrderByDescending(rp => rp.Segundos).Take(relatorioPaginas.Count() / 2).Min(rp => rp.Segundos);
            relatorio.Mediana = (metade1 + metade2) / 2;

            return relatorio;
        }
Exemplo n.º 2
0
        public Relatorio GetRelatorio(DateTime? dataInicial, DateTime? dataFinal)
        {
            var relatorio = new Relatorio();

            IEnumerable<RelatorioPagina> relatorioPaginas = this.RelatorioPaginas;

            if (dataInicial != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.DataInicio >= dataInicial);
            }

            if (dataFinal != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.DataInicio < dataFinal.Value.AddDays(1));
            }

            relatorio.QtdeVisualizacoes = relatorioPaginas.Count();
            relatorio.Segundos = relatorioPaginas.Sum(r => r.Segundos);

            return relatorio;
        }
Exemplo n.º 3
0
        public Relatorio GetRelatorio(DateTime? dataInicial, DateTime? dataFinal, int? idDoutor)
        {
            var relatorio = new Relatorio();

            var relatorioPaginas = this.ProdutoVaSlides.SelectMany(s => s.RelatorioPaginas).Where(rp => rp.DoutorCadastro != null);

            if (dataInicial != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.DataInicio >= dataInicial);
            }

            if (dataFinal != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.DataInicio < dataFinal.Value.AddDays(1));
            }

            if (idDoutor != null)
            {
                relatorioPaginas = relatorioPaginas.Where(rp => rp.IdDoutorCadastro == idDoutor);
            }

            relatorio.QtdeVisualizacoes = relatorioPaginas.Count();
            relatorio.Segundos = relatorioPaginas.Sum(r => r.Segundos);

            return relatorio;
        }