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)); }
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)); }
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)); }
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)); }
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)); }