public ActionResult Autenticar(AutenticacaoModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {

                    if (usuarioAplicacaoServico.AutenticarUsuario(Mapeador.Map<UsuarioDto>(model)))
                    {
                        UsuarioDto resultado = usuarioAplicacaoServico.BuscarUsuarioPorLogin(Mapeador.Map<UsuarioDto>(model));
                        resultado.senha = null;

                        if (resultado.Id.HasValue)
                        {
                            PainelDeTarefaModel painelDeTarefasModel = new PainelDeTarefaModel();
                            String idUsuarioSession;
                            Session["idUsuario"] = resultado.Id;
                            Session["LoginUsuario"] = resultado.Login;

                            idUsuarioSession = Session["idUsuario"].ToString();

                            painelDeTarefasModel = this.MontaPainelDeTarefas(int.Parse(idUsuarioSession));

                            if (painelDeTarefasModel != null)
                            {
                                return View("Painel", painelDeTarefasModel);
                            }
                            else
                            {
                                return View("Painel");
                            }

                        }
                        else
                        {
                            throw new ExcecaoAutenticacao("Houve um problema na Autenticação: Erro ao localizar o Login do Usuário");
                        }

                    }
                }
            }
            catch (ExcecaoAutenticacao ea)
            {
                ViewBag.Mensagem = ea.Message;
            }
            catch (Exception ex)
            {
                ViewBag.Mensagem = ex.Message;
            }
            return null;
        }
        public PainelDeTarefaModel MontaPainelDeTarefas(Nullable<long> id)
        {
            if (id > 0)
            {
                PainelDeTarefaModel model = new PainelDeTarefaModel();
                model.TarefasAVencer = this.TarefasAVencer(id);
                model.TarefasExecutadas = this.TarefasExecutadas(id);
                model.TarefasVencidas = this.TarefasVencidas(id);
                model.TodasAsTarefas = new List<TarefaListarModel>();

                model.TodasAsTarefas = this.TodasAsTarefas(id);

                return model;
            }
            else
            {
                if (Session["idUsuario"] != null)
                {
                    Session.Clear();
                    Session.Abandon();
                }
                return null;
            }
        }
        public ActionResult Executar(Nullable<long> idTarefa)
        {
            TarefaDto dto;
            PainelDeTarefaModel painel = new PainelDeTarefaModel();
            string idUsuarioSession;

            if (idTarefa.HasValue)
            {
                dto = new TarefaDto();
                idUsuarioSession = Session["idUsuario"].ToString();

                dto = tarefaAplicacaoServico.BuscarTarefa(new TarefaDto() { Id = idTarefa.Value});

                if(dto != null)
                {
                    if (dto.Id.HasValue)
                    {
                        this.tarefaAplicacaoServico.MarcarTarefaComoConcluida(dto);
                    }
                }

                painel = this.MontaPainelDeTarefas(int.Parse(idUsuarioSession));

                if (painel != null)
                {
                    return View("Painel",painel);
                }
                else
                {
                    return null;
                }
            }
            else
            {
                return null;
            }
        }