private DataTableObject CreateDatatableObject(IEnumerable <Procedimento> procedimentos = null)
        {
            var dt = new DataTableObject();

            dt.AddHeaders(new List <string>
            {
                string.Empty,
                "Número de Cadastro",
                "Boletim Unificado",
                "Boletim de Ocorrência",
                "Número Processual",
                "Tipo de Procedimento",
                "Data de Inserção",
                "Comarca",
                "Andamento Processual"
            });

            if (procedimentos != null)
            {
                dt.AddDataSet(procedimentos.Select(p => new List <object>
                {
                    string.Empty,
                    p.Id,
                    p.BoletimUnificado,
                    p.BoletimOcorrencia,
                    p.NumeroProcessual,
                    p.TipoProcedimento.Sigla,
                    p.CriadoEm,
                    p.Comarca.Nome,
                    p.AndamentoProcessual
                }).ToList());
            }

            return(dt);
        }
        public DataTableViewModel GetRelacaoProcedimentos(int?situacaoId, DateTime?de, DateTime?ate)
        {
            var result = _relatorioRepository.GetRelacaoProcedimentos(situacaoId, de, ate);

            var dt = new DataTableObject();

            dt.AddHeaders("Proced n°",
                          "Boletim de Ocorrência",
                          "Artigo",
                          "Indiciados",
                          "Unidade Policial",
                          "Data do Fato",
                          "Instauração",
                          "Situação",
                          "Observação");

            dt.AddDataSet(result.Select(x => new Collection <object>
            {
                x.NumeroProcedimento,
                x.BoletimOcorrencia,
                x.Artigo,
                x.Indiciados,
                x.UnidadePolicial,
                x.DataFato?.ToString("dd/MM/yyyy"),
                x.Instauracao?.ToString("dd/MM/yyyy"),
                x.Situacao,
                x.Observacao
            }));

            return(Mapper.Map <DataTableViewModel>(dt));
        }
        public DataTableViewModel GetEstatisticaAssunto(DateTime?de, DateTime?ate)
        {
            var result = _relatorioRepository.GetEstatisticaAssunto(de, ate);

            var dt = new DataTableObject();

            dt.AddHeaders("Delitos", "Em Andamento", "Na Justiça", "Relatado", "Outra UniPol", "Total");

            dt.AddDataSet(result.Select(x => new Collection <object>
            {
                x.Assunto,
                x.EmAndamento,
                x.NaJustica,
                x.Relatado,
                x.OutraUniPol,
                x.Total
            }));

            return(Mapper.Map <DataTableViewModel>(dt));
        }
        public DataTableViewModel GetRelacaoVitimas()
        {
            var result = _relatorioRepository.GetRelacaoVitimas();

            var dt = new DataTableObject();

            dt.AddHeaders("Vítima",
                          "Proced. n°",
                          "Artigo",
                          "Tipo de Procedimento",
                          "Situação");

            dt.AddDataSet(result.Select(x => new Collection <object>
            {
                x.Vitima,
                x.NumeroProcedimento,
                x.Artigo,
                x.TipoProcedimento,
                x.SituacaoAtual
            }));

            return(Mapper.Map <DataTableViewModel>(dt));
        }