public ImportacaoViewModel ImportarAssociados(Guid cicloId, Guid votacaoId, byte[] conteudoArquivo, string arquivo, string cpfUsuario) { var ciclo = BuscarEntidade(cicloId); var votacao = ciclo.Votacoes.SingleOrDefault(v => v.Id == votacaoId); IsNotNull(votacao, "Votação", 'a'); string relativePath = $@"{PATH_IMPORTACOES}{votacaoId.ToString()}/Associados"; string absolutePath = @FileSystemHelpers.GetAbsolutePath(relativePath); if (!Directory.Exists(absolutePath)) { Directory.CreateDirectory(absolutePath); } string fullFileName = @FileSystemHelpers.GetAbsolutePath(FileSystemHelpers.GetRelativeFileName(absolutePath, arquivo)); File.WriteAllBytes(fullFileName, conteudoArquivo); var importacao = new Importacao(votacao, Path.Combine(relativePath, arquivo), cpfUsuario); votacao.AdicionarImportacao(importacao); base.Atualizar(ciclo); return(_mapper.Map <ImportacaoViewModel>(importacao)); }
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)); }