public void realizarUpload(String file)
        {
            string[] lines = System.IO.File.ReadAllLines(file);

            if (Util.validarArquivoTarefa(lines[0]) == true)
            {
                List <Funcionario> listaCacheFuncionario = new List <Funcionario>();

                TarefaDAO     tDAO             = new TarefaDAO();
                List <Tarefa> listaCacheTarefa = tDAO.recuperar();

                List <Tarefa> listaTarefaIncluir = new List <Tarefa>();

                List <Tarefa> listaTarefaAtualizar = new List <Tarefa>();

                List <Tarefa> listaTarefaHistorico = new List <Tarefa>();

                for (int i = 1; i < lines.Length; i++)
                {
                    string[] linha = lines[i].Replace("\"", "").Split('\t');

                    Tarefa t = new Tarefa();
                    // t.Codigo = reader.GetInt32(0);
                    t.Tipo                = linha[0];
                    t.Id                  = Convert.ToInt32(linha[1]);
                    t.Titulo              = linha[2];
                    t.Status              = linha[4];
                    t.PlanejadoPara       = linha[5];
                    t.Estimativa          = DataHoraUtil.formatarHora(linha[6]);
                    t.EstimativaCorrigida = DataHoraUtil.formatarHora(linha[7]);
                    t.TempoGasto          = DataHoraUtil.formatarHora(linha[8]);
                    t.Pai                 = linha[9].Replace("#", "");
                    t.DataColeta          = Convert.ToDateTime(txtData.Text);

                    String responsavel = linha[3];
                    t.Responsavel = recuperarFuncionario(listaCacheFuncionario, responsavel);

                    if (!existeTarefa(listaCacheTarefa, t))
                    {
                        listaTarefaIncluir.Add(t);
                    }
                    else
                    {
                        listaTarefaAtualizar.Add(t);
                    }
                    listaTarefaHistorico.Add(t);
                }

                if (listaTarefaIncluir.Count > 0)
                {
                    tDAO.incluir(listaTarefaIncluir);
                }
                if (listaTarefaAtualizar.Count > 0)
                {
                    tDAO.atualizar(listaTarefaAtualizar);
                }
                if (listaTarefaHistorico.Count > 0)
                {
                    TarefaHistoricoDAO thDAO = new TarefaHistoricoDAO();
                    thDAO.incluir(listaTarefaHistorico);
                }

                Alerta alerta = new Alerta("Arquivo incluido com sucesso!");
                alerta.Show();

                preencherLista(new Dictionary <string, string>());
            }
            else
            {
                Alerta alerta = new Alerta("Arquivo invalido");
                alerta.Show();
            }
        }