示例#1
0
        public ICollection <EleitorDTO> RelatorioEleitores(int codEleicao, string pesquisa = null)
        {
            EleicoesService eleicoesService = new EleicoesService();

            if (!eleicoesService.EleicaoExiste(codEleicao))
            {
                throw new EleicaoNaoEncontradaException();
            }

            ICollection <EleitorDTO> votos = db.Votos.ToList()
                                             .Where(x => x.CodigoEleicao == codEleicao)
                                             .OrderByDescending(x => x.DataHorario)
                                             .Select(x => new EleitorDTO(x)).ToList();

            ICollection <EleitorDTO> emBranco = db.VotosBrancos.ToList()
                                                .Where(x => x.CodigoEleicao == codEleicao)
                                                .Select(x => new EleitorDTO(x)).ToList();

            ICollection <EleitorDTO> union = votos.Union(emBranco).ToList();

            if (string.IsNullOrWhiteSpace(pesquisa))
            {
                return(union);
            }
            else
            {
                pesquisa = pesquisa.ToLower().Trim();
                return(union.Where(e => e.Nome.ToLower().Contains(pesquisa)).ToList());
            }
        }
        public List <InconsistenciaFuncionarioDTO> ExecutarImportacaoFuncionarios(int codEleicao)
        {
            DataSet ds;

            Conectar();
            db = new Modelo();
            string          tab            = "";
            EleicoesService eleicoeService = new EleicoesService();

            if (!eleicoeService.EleicaoExiste(codEleicao))
            {
                throw new Exception("Código de Eleição não encontrado!");
            }
            List <InconsistenciaFuncionarioDTO> retorno = new List <InconsistenciaFuncionarioDTO>();

            try
            {
                conexao.Open();

                tab     = "Funcionários";
                adapter = new OleDbDataAdapter("select * from[" + tab + "$]", conexao);
                ds      = new DataSet()
                {
                    DataSetName = tab
                };
                try
                {
                    adapter.Fill(ds);
                    retorno = ImportacaoFuncionarios(ds, codEleicao);
                }
                catch (OleDbException e)
                {
                    if (e.Message.Split(new char[] { '.' })[0] != "'" + tab + "' is not a valid name")
                    {
                        throw;
                    }
                }
            }
            catch (ResourceNotFoundException e)
            {
                throw new Exception("'" + e.Resource + "' não informado! '" + e.Resource + "' é um campo obrigatório. (Linha " + e.Linha + ")");
            }
            catch (FormatoDataInvalidoException e)
            {
                throw new Exception("Data em formato inválido: " + e.DataValor + ". (Linha " + e.Linha + ")");
            }
            catch (ExcelException e)
            {
                throw new Exception("Erro ao importar linha " + e.Linha + ". Mensagem: " + e.Message);
            }
            catch (OleDbException e)
            {
                throw new Exception("Erro ao salvar os dados: " + e.Message);
            }
            catch
            {
                throw new Exception("Ocorreu um erro inesperado!");
            }
            finally
            {
                Desconectar();
            }


            db.Dispose();

            return(retorno);
        }