public ActionResult Login(LoginModel model)
        {
            using (var db = new ReqcyclerEntities())
            {
                var tmpUser = (db.Usuario
                    .Where(u => u.email == model.LoginMail)
                    .FirstOrDefault()) as Usuario;

                if (tmpUser != null)
                {
                    var numProjetos = (from pu in db.ProjetoUsuario
                                       join p in db.Projeto on pu.projetoId equals p.id
                                       where pu.usuarioId == tmpUser.id
                                       select pu).ToList().Count();

                    Session["UsuarioLogadoID"] = tmpUser.id;
                    Session["UsuarioLogado"] = ((Usuario)tmpUser).nome;
                    Session["NumProjetos"] = (Int32)numProjetos;
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    return RedirectToAction("Index", "Login");
                }
            }
        }
        public RequisitoViewModel CarregarRequisitos(Int32 ProjetoId)
        {
            RequisitoViewModel requisitoModel = new RequisitoViewModel();

            //Inicializar listas Requisito Model
            requisitoModel.DicionarioPacoteRequisito = new Dictionary<Pacote, List<RequisitoTelaViewModel>>();
            requisitoModel.ListaPacote = new List<Pacote>();
            requisitoModel.ListaRequisito = new List<RequisitoTelaViewModel>();

            using (ReqcyclerEntities db = new ReqcyclerEntities())
            {
                //Carregar Pacotes
                var listaPacotes = (from pct in db.Pacote
                                    where pct.projetoId == ProjetoId
                                    select pct).ToList();

                Session["ListaPacotes"] = listaPacotes;

                requisitoModel.ListaPacote = listaPacotes;

                //Carregar Requisitos Pacote
                foreach (Pacote tmpPacote in listaPacotes)
                {

                    var teste = (from pr in db.PacoteRequisito
                                where pr.pacoteId == tmpPacote.id
                                select pr.requisitoId).ToList();

                    List<RequisitoTelaViewModel> RequisitoTelaViewModel = new List<RequisitoTelaViewModel>();

                    foreach (Int32 index in teste)
                    {
                        var single = (from r in db.Requisito
                                      where r.id == index
                                      select new RequisitoTelaViewModel
                                      {
                                          id = r.id,
                                          Nome = r.nome,
                                          TipoRequisito = r.tipoRequisito,
                                          Complexidade = r.complexidade
                                      }).FirstOrDefault();

                        RequisitoTelaViewModel.Add(single);
                    }

                    requisitoModel.DicionarioPacoteRequisito.Add(tmpPacote, RequisitoTelaViewModel);
                }

                return requisitoModel;
            }
        }
        public ActionResult CriarRequisito(Requisito requisitoModelo)
        {
            //Salvar Requisito

            requisitoModelo.projetoId = (int)Session["ProjetoID"];

            using (ReqcyclerEntities db = new ReqcyclerEntities())
            {
                db.Requisito.Add(requisitoModelo);
                db.SaveChanges();

                //Associar Pacote e Requisito
                db.PacoteRequisito.Add(new PacoteRequisito { pacoteId = requisitoModelo.pacoteId, requisitoId = requisitoModelo.id });
                db.SaveChanges();
            }

            int ProjetoId = (int)Session["ProjetoID"];

            return Redirect("~/Requisito/Index?ProjetoId=" + ProjetoId);
        }
        public FluxoViewModel()
        {
            using (ReqcyclerEntities dbLocal = new ReqcyclerEntities())
            {
                var tmpUsuarios = (from u in dbLocal.Usuario.ToList()
                                   select new UsuarioFluxo
                                   {
                                       Id = u.id,
                                       Nome = u.nome
                                   }).ToList();

                var tmpPapeis = (from p in dbLocal.PapelUsuario.ToList()
                                 select new PapelFluxo
                                  {
                                      Id = p.id,
                                      Valor = p.valor
                                  }).ToList();

                this.ListaUsuarios = tmpUsuarios;
                this.ListaPapeis = tmpPapeis;
             }
        }