public async Task <ActionResult> Create([Bind(Include = "Nome,Genero,Data_nascimento,Peso,Altura,Actividade_fisica,Nr_horas_sono,Nr_refeicoes,Habitos_alcoolicos,MMuscular,MGorda")] RegisterViewModel model, string roleName)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    userManager.AddToRole(user.Id, roleName);
                    Utilizador utilizador = new Utilizador()
                    {
                        UserID = user.Id,
                    };
                    db.Utilizadors.Add(utilizador);

                    db.SaveChanges();
                    return(RedirectToAction("Index", "Home"));
                }
            }

            ViewBag.Roles = new SelectList(db.AspNetRoles, "Name", "Name");
            return(View(model));
        }
示例#2
0
        public ActionResult Create([Bind(Include = "RefeicaoID,PratoID,Dose")] RefeicaoPrato refeicaoPrato)
        {
            if (ModelState.IsValid)
            {
                int counter = 0;
                var userId  = Convert.ToInt32(User.Identity.GetUserId());
                var prato   = db.RefeicaoPratos.FirstOrDefault(c => c.Refeico.RegistoDiario.Objectivo.UserID == userId);
                if (prato == null)
                {
                    counter++;
                }
                db.RefeicaoPratos.Add(refeicaoPrato);
                db.SaveChanges();
                counter++;
                if (counter == 2)
                {
                    TempData["Userguide2"] = "Final";
                }
                return(RedirectToAction("Index", "Refeicoes"));
            }

            ViewBag.PratoID    = new SelectList(db.Pratos, "PratosID", "Nome", refeicaoPrato.PratoID);
            ViewBag.RefeicaoID = new SelectList(db.Refeicoes, "RefeicaoID", "Tipo", refeicaoPrato.RefeicaoID);
            return(View(refeicaoPrato));
        }
示例#3
0
        public bool Insert(User user)
        {
            var newUser = _healthyEntities.User.Add(user);

            _healthyEntities.SaveChanges();

            return(newUser != null ? true : false);
        }
 public ActionResult CreateCategoria([Bind(Include = "Nome")] Categoria newCategoria)
 {
     if (newCategoria.Nome == null)
     {
         ModelState.AddModelError("Nome", "Por favor insira o nome");
         return(View());
     }
     db.Categorias.Add(newCategoria);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
 public ActionResult CreateSubcategoria([Bind(Include = "CategoriaID,Nome")] Subcategoria newSubcategoria)
 {
     ViewBag.Categorias = new SelectList(db.Categorias, "CategoriaID", "Nome");
     if (newSubcategoria.Nome == null)
     {
         ModelState.AddModelError("Nome", "Por favor insira o nome");
         return(View());
     }
     db.Subcategorias.Add(newSubcategoria);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
示例#6
0
        public ActionResult Create([Bind(Include = "BebidaID,RefeicaoID,Quantidade")] RefeicaoBebida refeicaoBebida)
        {
            if (ModelState.IsValid)
            {
                db.RefeicaoBebidas.Add(refeicaoBebida);
                db.SaveChanges();
                return(RedirectToAction("Index", "Refeicoes"));
            }

            ViewBag.BebidaID   = new SelectList(db.Bebidas, "BebidasID", "Categoria", refeicaoBebida.BebidaID);
            ViewBag.RefeicaoID = new SelectList(db.Refeicoes, "RefeicaoID", "Tipo", refeicaoBebida.RefeicaoID);
            return(View(refeicaoBebida));
        }
示例#7
0
        public void Update(UserRelationship userRelationship)
        {
            var currentUserRelationShip = GetForID(userRelationship.ID);

            if (currentUserRelationShip != null)
            {
                _healthyEntities.Entry(currentUserRelationShip).CurrentValues.SetValues(userRelationship);
                _healthyEntities.SaveChanges();
            }
        }
        public ActionResult CreatePost([Bind(Include = "Titulo,Texto,Link")] Post newPost, int?subcategoria)
        {
            if (subcategoria == null)
            {
                return(HttpNotFound());
            }
            newPost.UserID         = Convert.ToInt32(User.Identity.GetUserId());
            newPost.Data           = DateTime.Now;
            newPost.SubcategoriaID = (int)subcategoria;
            var error = false;

            if (newPost.Texto == null)
            {
                ModelState.AddModelError("Texto", "Por favor insira o texto");
                error = true;
            }
            if (newPost.Titulo == null)
            {
                ModelState.AddModelError("Titulo", "Por favor insira o título");
                error = true;
            }
            if (subcategoria == 1)
            {
                if (newPost.Link == null)
                {
                    ModelState.AddModelError("Link", "Por favor insira o link");
                    error = true;
                }
            }
            else
            {
                newPost.Link = "";
            }
            if (error == true)
            {
                return(View());
            }
            db.Posts.Add(newPost);
            db.SaveChanges();
            return(RedirectToAction("Post", new { id = newPost.PostID }));
        }
示例#9
0
        public bool Insert(HealthyInformation healthyInformation)
        {
            if (healthyInformation != null)
            {
                healthyInformation.CreateDate = DateTime.Now;
            }

            var newInformation = _healthyEntities.HealthyInformation.Add(healthyInformation);

            _healthyEntities.SaveChanges();

            return(newInformation != null ? true : false);
        }
示例#10
0
        // In this method we will create default User roles and Admin user for login
        private void createRolesandUsers()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            var roleManager = new RoleManager <CustomRole, int>(new CustomRoleStore(context));
            var UserManager = new UserManager <ApplicationUser, int>(new CustomUserStore(context));


            // In Startup iam creating first Admin Role and creating a default Admin User
            if (!roleManager.RoleExists("Admin"))
            {
                // first we create Admin role
                var role = new CustomRole();
                role.Name = "Admin";
                roleManager.Create(role);


                ApplicationUser newUser = new ApplicationUser();
                newUser.UserName = "******";
                newUser.Email    = "*****@*****.**";
                var password = "******";
                var result   = UserManager.Create(newUser, password);

                var newUtilizador = new Utilizador();
                newUtilizador.UserID = newUser.Id;
                db.Utilizadors.Add(newUtilizador);
                db.SaveChanges();


                if (result.Succeeded)
                {
                    UserManager.AddToRole(newUser.Id, "Admin"); // adicionar ao role Admin
                }
            }

            //primeiro, criar o role User
            if (!roleManager.RoleExists("User"))
            {
                var role = new CustomRole();
                role.Name = "User";
                roleManager.Create(role);
            }
        }
        public ActionResult Create([Bind(Include = "RefeicaoID,RegistoID,Data,Tipo")] Refeico refeico)
        {
            if (ModelState.IsValid)
            {
                var userId   = Convert.ToInt32(User.Identity.GetUserId());
                var refeicao = db.Refeicoes.FirstOrDefault(c => c.RegistoDiario.Objectivo.UserID == userId);
                int counter  = 0;
                if (refeicao == null)
                {
                    counter++;
                }
                double        counterkcal = 0, counterproteinas = 0, countergordura = 0, counterhc = 0;
                RegistoDiario registo = db.RegistoDiarios.FirstOrDefault(o => o.Objectivo.UserID == userId && o.Data == refeico.Data);
                if (registo == null)
                {
                    RegistoDiario registo1  = new RegistoDiario();
                    var           refeicoes = db.RefeicaoPratos.Include(i => i.Refeico).Where(q => q.Refeico.RegistoID == registo1.RegistoID);
                    var           user      = Convert.ToInt32(User.Identity.GetUserId());
                    Objectivo     objectivo = db.Objectivoes.FirstOrDefault(o => o.UserID == user && o.Data_fim == null);
                    if (objectivo != null)
                    {
                        registo1.ObjectivoID = objectivo.ObjectivoID;
                        registo1.Data        = refeico.Data;
                        db.RegistoDiarios.Add(registo1);
                        foreach (RefeicaoPrato i in refeicoes)
                        {
                            counterkcal      += (i.Dose / 100) * i.Prato.Kcal;
                            counterproteinas += (i.Dose / 100) * i.Prato.Proteinas;
                            countergordura   += (i.Dose / 100) * i.Prato.Gordura;
                            counterhc        += (i.Dose / 100) * i.Prato.HidCarbono;
                        }
                        refeico.RegistoID = registo1.RegistoID;
                        db.Refeicoes.Add(refeico);
                        db.SaveChanges();
                        counter++;
                        if (counter == 2)
                        {
                            TempData["UserGuide"] = "UserGuide";
                        }
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        TempData["Alert2"] = "Ainda não existe nenhum objectivo. Por favor, crie um objectivo primeiro.";

                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    var       user      = Convert.ToInt32(User.Identity.GetUserId());
                    var       refeicoes = db.RefeicaoPratos.Include(i => i.Refeico).Where(q => q.Refeico.RegistoID == registo.RegistoID);
                    Objectivo objectivo = db.Objectivoes.FirstOrDefault(o => o.UserID == user && o.Data_fim == null);
                    if (objectivo != null)
                    {
                        foreach (RefeicaoPrato i in refeicoes)
                        {
                            counterkcal      += (i.Dose / 100) * i.Prato.Kcal;
                            counterproteinas += (i.Dose / 100) * i.Prato.Proteinas;
                            countergordura   += (i.Dose / 100) * i.Prato.Gordura;
                            counterhc        += (i.Dose / 100) * i.Prato.HidCarbono;
                        }
                        refeico.RegistoID = registo.RegistoID;
                        db.Refeicoes.Add(refeico);
                        db.SaveChanges();
                        counter++;
                        if (counter == 2)
                        {
                            TempData["UserGuide"] = "UserGuide";
                        }
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        TempData["Alert2"] = "Ainda não existe nenhum objectivo. Por favor, crie um objectivo primeiro.";

                        return(RedirectToAction("Index"));
                    }
                }
            }

            ViewBag.RegistoID = new SelectList(db.RegistoDiarios, "RegistoID", "RegistoID", refeico.RegistoID);
            return(View(refeico));
        }
示例#12
0
        public ActionResult GetPeso([Bind(Include = "UserID,Nome,Genero,Data_nascimento,Peso,Altura,Actividade_fisica,Nr_horas_sono,Nr_refeicoes,Habitos_alcoolicos,MMuscular,MGorda")] Utilizador utilizador)
        {
            if (ModelState.IsValid)
            {
                var        userId = Convert.ToInt32(User.Identity.GetUserId());
                Utilizador mudar  = db.Utilizadors.FirstOrDefault(o => o.UserID == userId);
                mudar.Peso            = utilizador.Peso;
                db.Entry(mudar).State = EntityState.Modified;
                var actual = db.Objectivoes.FirstOrDefault(p => p.UserID == userId && p.Data_fim == null);
                UtilizadorsController x    = new UtilizadorsController();
                RegistoPeso           peso = new RegistoPeso();
                var    age        = x.GetAge((DateTime)mudar.Data_nascimento);
                double Actividade = 0;
                if (utilizador.Genero == "F")
                {
                    switch (utilizador.Actividade_fisica)
                    {
                    case 1:
                        Actividade = 1;
                        break;

                    case 2:
                        Actividade = 1.12;
                        break;

                    case 3:
                        Actividade = 1.27;
                        break;

                    case 4:
                        Actividade = 1.45;
                        break;
                    }
                    actual.Intake_diarioA = Convert.ToInt32(354 - (6.91 * age) + (Actividade * (9.36 * mudar.Peso + (726 * (mudar.Altura / 100)))));
                    int Intake_diarioR = Convert.ToInt32(354 - (6.91 * age) + (Actividade * (9.36 * actual.Peso_objectivo + (726 * (mudar.Altura / 100)))));
                    if (Intake_diarioR > 1800 & actual.Intake_diarioA - Intake_diarioR > 500)
                    {
                        actual.Intake_diarioR = actual.Intake_diarioA - 500;
                    }
                    else if (Intake_diarioR < 1800 & actual.Intake_diarioA - Intake_diarioR < 500)
                    {
                        actual.Intake_diarioR = 1800;
                    }
                    else
                    {
                        actual.Intake_diarioR = Intake_diarioR;
                    }
                }
                else
                {
                    switch (utilizador.Actividade_fisica)
                    {
                    case 1:
                        Actividade = 1;
                        break;

                    case 2:
                        Actividade = 1.11;
                        break;

                    case 3:
                        Actividade = 1.25;
                        break;

                    case 4:
                        Actividade = 1.48;
                        break;
                    }
                    actual.Intake_diarioA = Convert.ToInt32(662 - (9.53 * age) + (Actividade * (15.91 * mudar.Peso + (539.6 * (mudar.Altura / 100)))));
                    int Intake_diarioR = Convert.ToInt32(662 - (9.53 * age) + (Actividade * (15.91 * actual.Peso_objectivo + (539.6 * (mudar.Altura / 100)))));
                    if (Intake_diarioR > 1800 & actual.Intake_diarioA - Intake_diarioR > 500)
                    {
                        actual.Intake_diarioR = actual.Intake_diarioA - 500;
                    }
                    else if (Intake_diarioR < 1800 & actual.Intake_diarioA - Intake_diarioR < 500)
                    {
                        actual.Intake_diarioR = 1800;
                    }
                    else
                    {
                        actual.Intake_diarioR = Intake_diarioR;
                    }
                }
                db.Entry(actual).State = EntityState.Modified;
                peso.Peso    = utilizador.Peso;
                peso.Data    = DateTime.Today;
                peso.User_ID = userId;
                db.RegistoPesoes.Add(peso);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.UserID = new SelectList(db.AspNetUsers, "Id", "Email", utilizador.UserID);
            return(View(utilizador));
        }
示例#13
0
        // para editar os campos

        public ActionResult Index([Bind(Include = "UserID,Nome,Genero,Data_nascimento,Peso,Altura,Actividade_fisica,Nr_horas_sono,Nr_refeicoes,Habitos_alcoolicos,MMuscular,MGorda")] Eutilizador perfilEdit)
        {
            int        userId = Convert.ToInt32(User.Identity.GetUserId());
            Utilizador perfil = db.Utilizadors.FirstOrDefault(o => o.UserID == userId);

            perfil.Nome              = perfilEdit.Nome;
            perfil.Genero            = perfilEdit.Genero;
            perfil.Data_nascimento   = perfilEdit.Data_nascimento;
            perfil.Peso              = perfilEdit.Peso;
            perfil.Altura            = perfilEdit.Altura;
            perfil.Actividade_fisica = perfilEdit.Actividade_fisica;
            perfil.Nr_horas_sono     = perfilEdit.Nr_horas_sono;
            perfil.Nr_refeicoes      = perfilEdit.Nr_refeicoes;
            perfil.MGorda            = perfilEdit.MGorda;
            perfil.MMuscular         = perfilEdit.MMuscular;

            ViewBag.Genders = new SelectList(new List <SelectListItem>
            {
                new SelectListItem {
                    Selected = true, Text = "M", Value = "M"
                },
                new SelectListItem {
                    Selected = false, Text = "F", Value = "F"
                },
            }, "Value", "Text");

            ViewBag.Atividade = new SelectList(new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "1", Value = "1"
                },
                new SelectListItem {
                    Text = "2", Value = "2"
                },
                new SelectListItem {
                    Text = "3", Value = "3"
                },
                new SelectListItem {
                    Text = "4", Value = "4"
                },
            }, "Value", "Text", perfilEdit.Actividade_fisica);

            if (ModelState.IsValid)
            {
                var error = false;

                if (perfilEdit.Nome == null)
                {
                    ModelState.AddModelError("Nome", "Introduza o Nome");
                    error = true;
                }
                if (error == true)
                {
                    return(View());
                }

                if (perfilEdit.Genero == null)
                {
                    ModelState.AddModelError("Genero", "Introduza o Genero");
                    error = true;
                }
                if (error == true)
                {
                    return(View());
                }
                if (perfilEdit.Data_nascimento == null)
                {
                    ModelState.AddModelError("Data_Nascimento", "Introduza a Data de Nascimento");
                    error = true;
                }
                if (error == true)
                {
                    return(View());
                }
                if (perfilEdit.Peso == null)
                {
                    ModelState.AddModelError("Peso", "Introduza o Peso");
                    error = true;
                }
                if (error == true)
                {
                    return(View());
                }
                if (perfilEdit.Altura == null)
                {
                    ModelState.AddModelError("Altura", "Introduza a sua Altura");
                    error = true;
                }
                if (error == true)
                {
                    return(View());
                }
                if (perfilEdit.Actividade_fisica == null)
                {
                    ModelState.AddModelError("Actividade_fisica", "Introduza o Indice de Atividade Fisica");
                    error = true;
                }
                RegistoPeso peso = new RegistoPeso()
                {
                    Data    = DateTime.Today,
                    Peso    = perfilEdit.Peso,
                    User_ID = userId
                };
                db.RegistoPesoes.Add(peso);
                db.Entry(perfil).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "Manage"));
            }


            return(View(perfilEdit));
        }