Пример #1
0
        public Stream BuscarFotoElegivel(Guid cicloId, Guid votacaoId, Guid elegivelId)
        {
            var ciclo   = BuscarEntidade(cicloId);
            var votacao = ciclo.Votacoes.SingleOrDefault(v => v.Id == votacaoId);

            IsNotNull(votacao, "Votação", 'a');
            var elegivel = votacao.BuscarElegivelPeloId(elegivelId);

            IsNotNull(elegivel, "Associado", 'o');

            string file;

            if (string.IsNullOrEmpty(elegivel.Foto))
            {
                file = FileSystemHelpers.GetAbsolutePath($@"{PATH_FOTOS}usuario.jpg");
            }
            else
            {
                file = FileSystemHelpers.GetAbsolutePath(elegivel.Foto);
            }

            if (!File.Exists(file))
            {
                throw new NotFoundException("Foto não encontrada.");
            }

            return(new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read));
        }
Пример #2
0
        public Stream BuscarFotoInscricao(int eleicaoId, int inscricaoId)
        {
            var eleicao = _unitOfWork.EleicaoRepository.BuscarPeloId(eleicaoId);

            if (eleicao == null)
            {
                throw new NotFoundException("Eleição não encontrada.");
            }

            var inscricao = eleicao.BuscarInscricaoPeloId(inscricaoId);

            if (inscricao == null)
            {
                throw new NotFoundException("Inscrição não encontrada.");
            }

            var file = FileSystemHelpers.GetAbsolutePath(inscricao.Foto);

            if (string.IsNullOrWhiteSpace(inscricao.Foto) || !File.Exists(file))
            {
                throw new NotFoundException("Foto não encontrada.");
            }

            return(new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read));
        }
Пример #3
0
        public ElegivelViewModel AtualizarFotoElegivel(Guid cicloId, Guid votacaoId, Guid elegivelId, byte[] foto, string fotoFileName)
        {
            var ciclo   = BuscarEntidade(cicloId);
            var votacao = ciclo.Votacoes.SingleOrDefault(v => v.Id == votacaoId);

            IsNotNull(votacao, "Votação", 'a');
            var elegivel = votacao.BuscarElegivelPeloId(elegivelId);

            IsNotNull(elegivel, "Associado", 'o');

            string relativePath = $@"{PATH_FOTOS}{votacaoId.ToString()}";
            string absolutePath = @FileSystemHelpers.GetAbsolutePath(relativePath);
            string tempPath     = FileSystemHelpers.GetAbsolutePath($@"{relativePath}/temp");

            if (!Directory.Exists(absolutePath))
            {
                Directory.CreateDirectory(absolutePath);
            }

            if (!Directory.Exists(tempPath))
            {
                Directory.CreateDirectory(tempPath);
            }

            // Salva a imagem original
            string originalFileName = @FileSystemHelpers.GetAbsolutePath(FileSystemHelpers.GetRelativeFileName(tempPath, fotoFileName));

            File.WriteAllBytes(originalFileName, foto);

            // Converte para JPEG, com 80% da qualidade
            string destinationFileName = FileSystemHelpers.GetRelativeFileName(relativePath, Path.ChangeExtension(fotoFileName, ".jpeg"));

            ImageHelpers.SalvarImagemJPEG(originalFileName, @FileSystemHelpers.GetAbsolutePath(destinationFileName), 80);

            // Exclui o arquivo orginal
            File.Delete(originalFileName);

            if (!string.IsNullOrWhiteSpace(elegivel.Foto))
            {
                var fotoAnterior = FileSystemHelpers.GetAbsolutePath(elegivel.Foto);
                if (File.Exists(fotoAnterior))
                {
                    File.Delete(FileSystemHelpers.GetAbsolutePath(elegivel.Foto));
                }
            }
            elegivel.Foto = destinationFileName;
            base.Atualizar(ciclo);
            return(_mapper.Map <ElegivelViewModel>(elegivel));
        }
Пример #4
0
        public Stream GerarRelatorioVotos(int eleicaoId)
        {
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("Nome");
            dataTable.Columns.Add("Email");
            dataTable.Columns.Add("Matrícula");
            dataTable.Columns.Add("Cargo");
            dataTable.Columns.Add("Área");
            dataTable.Columns.Add("Data de Nascimento");
            dataTable.Columns.Add("Data de Admissão");
            dataTable.Columns.Add("Horário do Voto");
            dataTable.Columns.Add("IP");

            var votos = BuscarVotos(eleicaoId).AsQueryable().Select(voto => new
            {
                voto.Eleitor.Nome,
                voto.Eleitor.Email,
                voto.Eleitor.Matricula,
                voto.Eleitor.Cargo,
                voto.Eleitor.Area,
                voto.Eleitor.DataNascimento,
                voto.Eleitor.DataAdmissao,
                voto.DataCadastro,
                voto.IP
            }).OrderBy(voto => voto.Nome).ToList();

            foreach (var voto in votos)
            {
                dataTable.Rows.Add(voto.Nome, voto.Email,
                                   voto.Matricula, voto.Cargo, voto.Area,
                                   voto.DataNascimento, voto.DataAdmissao,
                                   voto.DataCadastro, voto.IP);
            }

            var nomeArquivo = $"Votos - Eleicao {eleicaoId}.xlsx";
            var arquivo     = FileSystemHelpers.GetRelativeFileName(FileSystemHelpers.GetAbsolutePath(PATH_RELATORIOS), nomeArquivo);

            _excelService.GravaInformacoesArquivo(arquivo, dataTable, "Votos", 1, 1);
            return(new FileStream(arquivo, FileMode.Open, FileAccess.Read, FileShare.Read));
        }
Пример #5
0
        public Stream GerarRelatorioInscricoes(int eleicaoId)
        {
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("Nome");
            dataTable.Columns.Add("Email");
            dataTable.Columns.Add("Matrícula");
            dataTable.Columns.Add("Cargo");
            dataTable.Columns.Add("Área");
            dataTable.Columns.Add("Data de Nascimento");
            dataTable.Columns.Add("Data de Admissão");
            dataTable.Columns.Add("Data de Inscrição");
            dataTable.Columns.Add("Votos");

            var apuracao = ApurarVotos(eleicaoId).AsQueryable().Select(inscricao => new
            {
                inscricao.Eleitor.Nome,
                inscricao.Eleitor.Email,
                inscricao.Eleitor.Matricula,
                inscricao.Eleitor.Cargo,
                inscricao.Eleitor.Area,
                inscricao.Eleitor.DataNascimento,
                inscricao.Eleitor.DataAdmissao,
                inscricao.DataCadastro,
                inscricao.Votos
            }).ToList();

            foreach (var inscricao in apuracao)
            {
                dataTable.Rows.Add(inscricao.Nome, inscricao.Email,
                                   inscricao.Matricula, inscricao.Cargo, inscricao.Area,
                                   inscricao.DataNascimento, inscricao.DataAdmissao, inscricao.DataCadastro,
                                   inscricao.Votos);
            }

            var nomeArquivo = $"Inscricoes - Eleicao {eleicaoId}.xlsx";
            var arquivo     = FileSystemHelpers.GetRelativeFileName(FileSystemHelpers.GetAbsolutePath(PATH_RELATORIOS), nomeArquivo);

            _excelService.GravaInformacoesArquivo(arquivo, dataTable, "Inscrições", 1, 1);
            return(new FileStream(arquivo, FileMode.Open, FileAccess.Read, FileShare.Read));
        }