示例#1
0
        public ActionResult ResetPassword(ResetPasswordModel model)
        {
            var message = "";

            if (ModelState.IsValid)
            {
                using (FitAppContext db = new FitAppContext())
                {
                    var account = db.Users.Where(m => m.ResetPasswordCode == model.ResetCode).FirstOrDefault();
                    if (account != null)
                    {
                        account.Password          = Crypto.Hash(model.NewPassword);
                        account.ResetPasswordCode = "";
                        db.Configuration.ValidateOnSaveEnabled = false;
                        db.SaveChanges();
                        message = "Password updated successfully";
                    }
                }
            }
            else
            {
                message = "Something went wrong";
            }
            ViewBag.Message = message;
            return(View(model));
        }
示例#2
0
        public ActionResult Create(Challenge model, int GroupId)
        {
            var message = "";

            if (ModelState.IsValid)
            {
                using (FitAppContext db = new FitAppContext())
                {
                    var       group     = db.Groups.Where(m => m.Id == GroupId).FirstOrDefault();
                    Challenge challenge = new Challenge();
                    challenge.Subject = model.Subject;
                    challenge.EndDate = model.EndDate;
                    challenge.GroupId = GroupId;

                    group.Challenges.Add(challenge);
                    db.SaveChanges();
                }
                return(RedirectToAction("List", "Challenge", new { Id = GroupId }));
            }
            else
            {
                message = "Uzupełnij dane";
            }
            ViewBag.Message = message;
            return(View(model));
        }
示例#3
0
        public ActionResult Login(User model)
        {
            using (FitAppContext db = new FitAppContext())
            {
                var user = db.Users.Where(u => u.Login == model.Login).FirstOrDefault();

                if (user != null)
                {
                    if (string.Compare(Crypto.Hash(model.Password), user.Password) == 0)
                    {
                        int    timeout   = 20;
                        var    ticket    = new FormsAuthenticationTicket(user.Login, false, timeout);
                        string encrypted = FormsAuthentication.Encrypt(ticket);
                        var    cookie    = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
                        cookie.Expires  = DateTime.Now.AddMinutes(timeout);
                        cookie.HttpOnly = true;
                        Response.Cookies.Add(cookie);
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        return(View(model));
                    }
                }
            }
            return(View());
        }
示例#4
0
        public ActionResult Bmr()
        {
            using (FitAppContext db = new FitAppContext())
            {
                var user       = db.Users.Where(m => m.Login == User.Identity.Name).FirstOrDefault();
                int ageInYears = (Int32.Parse(DateTime.Today.ToString("yyyyMMdd")) -
                                  Int32.Parse(user.BirthDay.ToString("yyyyMMdd"))) / 10000;

                if (user != null)
                {
                    ViewBag.Sex = user.Sex;
                    ViewBag.Age = ageInYears;
                    try
                    {
                        var measurment = user.Measurments.Last();
                        ViewBag.Weight        = measurment.Weight.ToString();
                        ViewBag.Height        = measurment.Height.ToString();
                        ViewBag.ActivityLevel = measurment.ActivityLevel;
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Message = "Uzupełnij pomiar";
                    }
                }
                else
                {
                    return(RedirectToAction("Login", "User"));
                }
            }

            return(View());
        }
示例#5
0
        public ActionResult Edit(Measurment model)
        {
            var message = "";

            using (FitAppContext db = new FitAppContext())
            {
                var measurment = db.Measurments.Where(m => m.Id == model.Id).FirstOrDefault();
                if (measurment != null)
                {
                    measurment.MeasurmentDate   = model.MeasurmentDate;
                    measurment.Weight           = model.Weight;
                    measurment.Height           = model.Height;
                    measurment.BicepsCircuit    = model.BicepsCircuit;
                    measurment.ThighCircuit     = model.ThighCircuit;
                    measurment.WeistCircuit     = model.WeistCircuit;
                    measurment.ChestCircuit     = model.ChestCircuit;
                    measurment.HipsCircuit      = model.HipsCircuit;
                    measurment.ShouldersCircuit = model.ShouldersCircuit;
                    measurment.ActivityLevel    = model.ActivityLevel;
                    db.SaveChanges();
                    message = "Dane zostały zaktualizowane";
                }
                else
                {
                    message = "Nie udało się zaktualizować danych";
                    return(View(model));
                }
            }
            ViewBag.Message = message;
            return(RedirectToAction("History", "Measurment"));
        }
示例#6
0
 public ActionResult Edit(Exercise model)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var exercise    = db.Exercises.Where(m => m.Id == model.Id).FirstOrDefault();
         var caloriesNow = exercise.BurnedCalories;
         var trainingId  = exercise.TrainingId;
         if (exercise != null)
         {
             ViewBag.ExerciseName    = exercise.ExerciseName;
             ViewBag.VideoLink       = exercise.VideoLink;
             ViewBag.BurnedCalories  = exercise.BurnedCalories;
             ViewBag.Description     = exercise.Description;
             exercise.ExerciseName   = model.ExerciseName;
             exercise.VideoLink      = model.VideoLink;
             exercise.BurnedCalories = model.BurnedCalories;
             exercise.Description    = model.Description;
             var diff     = model.BurnedCalories - caloriesNow;;
             var training = db.Trainings.Where(m => m.Id == trainingId).FirstOrDefault();
             training.BurnedCalories += diff;
             db.SaveChanges();
         }
         else
         {
             return(View(model));
         }
         return(RedirectToAction("List", "Exercise", new { Id = trainingId }));
     }
 }
示例#7
0
 public ActionResult Add(Training model)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var user = db.Users.Where(u => u.Login.Equals(User.Identity.Name)).FirstOrDefault();
         if (user != null)
         {
             if (ModelState.IsValid)
             {
                 model.UserId         = user.Id;
                 model.BurnedCalories = 0;
                 model.ExerciseCount  = 0;
                 db.Trainings.Add(model);
                 db.SaveChanges();
             }
             else
             {
                 return(View(model));
             }
             return(RedirectToAction("List", "Training"));
         }
         else
         {
             return(RedirectToAction("Login", "User"));
         }
     }
 }
示例#8
0
        public ActionResult ForgotPassword(string Email)
        {
            bool   status  = false;
            string message = "";

            using (FitAppContext db = new FitAppContext())
            {
                var account = db.Users.Where(m => m.Email == Email).FirstOrDefault();
                if (account != null)
                {
                    string resetCode = Guid.NewGuid().ToString();
                    SendVerificationLinkEmail(account.Email, resetCode, "ResetPassword");
                    account.ResetPasswordCode = resetCode;
                    db.Configuration.ValidateOnSaveEnabled = false;
                    db.SaveChanges();
                    message = "Check your email for verification link";
                }
                else
                {
                    message = User.Identity.Name;
                }
            }
            ViewBag.Message = message;
            return(View());
        }
示例#9
0
        public ActionResult Bmi()
        {
            using (FitAppContext db = new FitAppContext())
            {
                var user = db.Users.Where(m => m.Login == User.Identity.Name).FirstOrDefault();
                try
                {
                    var measurment = user.Measurments.Last();

                    if (measurment != null)
                    {
                        ViewBag.Height = measurment.Height.ToString();
                        ViewBag.Weight = measurment.Weight.ToString();
                    }
                    else
                    {
                        ViewBag.Message = "Uzupełnij pomiar";
                    }
                }
                catch (Exception ex)
                {
                    ViewBag.Message = "Uzupełnij pomiar";
                }
            }
            return(View());
        }
示例#10
0
        public ActionResult Create(Group model)
        {
            var message = "";

            if (ModelState.IsValid)
            {
                using (FitAppContext db = new FitAppContext())
                {
                    var user = db.Users.Where(m => m.Login == User.Identity.Name).FirstOrDefault();
                    if (user != null)
                    {
                        Group group = new Group();
                        group.AdminId      = user.Id;
                        group.GroupName    = model.GroupName;
                        group.GroupType    = model.GroupType;
                        group.MembersCount = 1;

                        user.Groups.Add(group);
                        db.SaveChanges();
                    }
                    else
                    {
                        return(RedirectToAction("Login", "User"));
                    }
                }
                return(RedirectToAction("Mine", "Group"));
            }
            else
            {
                message = "Uzupełnij dane";
            }
            ViewBag.Message = message;
            return(View(model));
        }
示例#11
0
 public ActionResult Edit(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var measurment = db.Measurments.Where(m => m.Id == Id).FirstOrDefault();
         if (measurment != null)
         {
             ViewBag.MeasurmentDate   = measurment.MeasurmentDate.ToShortDateString();
             ViewBag.Weight           = measurment.Weight;
             ViewBag.Height           = measurment.Height;
             ViewBag.BicepsCircuit    = measurment.BicepsCircuit;
             ViewBag.ThighCircuit     = measurment.ThighCircuit;
             ViewBag.WeistCircuit     = measurment.WeistCircuit;
             ViewBag.ChestCircuit     = measurment.ChestCircuit;
             ViewBag.HipsCircuit      = measurment.HipsCircuit;
             ViewBag.ShouldersCircuit = measurment.ShouldersCircuit;
             ViewBag.ActivityLevel    = measurment.ActivityLevel;
         }
         else
         {
             return(RedirectToAction("Add", "Measurment"));
         }
     }
     return(View());
 }
示例#12
0
        public ActionResult Add(Food model)
        {
            using (FitAppContext db = new FitAppContext())
            {
                var user = db.Users.Where(u => u.Login.Equals(User.Identity.Name)).FirstOrDefault();

                if (user != null)
                {
                    if (user.UserType == "admin")
                    {
                        if (ModelState.IsValid)
                        {
                            model.MealId = 1;
                            db.Foods.Add(model);
                            db.SaveChanges();
                        }
                        else
                        {
                            return(View(model));
                        }
                        return(RedirectToAction("Composition", "Meal", new { Id = 1 }));
                    }
                    else
                    {
                        return(RedirectToAction("Permission", "Error"));
                    }
                }
                else
                {
                    return(RedirectToAction("Login", "User"));
                }
            }
        }
示例#13
0
        public ActionResult SetDate(Meal model)
        {
            using (FitAppContext db = new FitAppContext())
            {
                var user = db.Users.Where(u => u.Login.Equals(User.Identity.Name)).FirstOrDefault();
                var meal = db.Meals.Where(m => m.Id == model.Id).FirstOrDefault();
                if (meal != null)
                {
                    meal.MealDate = model.MealDate;
                    meal.MealTime = model.MealTime;
                    meal.UserId   = user.Id;
                    db.Meals.Add(meal);

                    var foods = db.Foods.Where(m => m.MealId == model.Id).ToList();
                    foreach (var item in foods)
                    {
                        item.MealId = meal.Id;
                        db.Foods.Add(item);
                    }

                    db.SaveChanges();

                    return(RedirectToAction("List", "Meal"));
                }
                else
                {
                    return(RedirectToAction("Add", "Meal"));
                }
            }
        }
示例#14
0
        public ActionResult Create(Task model, int Id)
        {
            var message = "";

            if (ModelState.IsValid)
            {
                using (FitAppContext db = new FitAppContext())
                {
                    Task task = new Task();
                    task.ChallengeId     = Id;
                    task.Description     = model.Description;
                    task.RealizationTime = model.RealizationTime;
                    db.Tasks.Add(task);
                    db.SaveChanges();
                }

                return(RedirectToAction("List", "Task", new { Id = Id }));
            }
            else
            {
                message = "Uzupełnij dane";
            }
            ViewBag.Message = message;
            return(View(model));
        }
示例#15
0
        public ActionResult Add(Meal model)
        {
            using (FitAppContext db = new FitAppContext())
            {
                var user = db.Users.Where(u => u.Login.Equals(User.Identity.Name)).FirstOrDefault();

                if (user != null)
                {
                    if (ModelState.IsValid)
                    {
                        model.UserId = user.Id;
                        db.Meals.Add(model);
                        db.SaveChanges();
                    }
                    else
                    {
                        return(View(model));
                    }
                    return(RedirectToAction("List", "Meal"));
                }
                else
                {
                    return(RedirectToAction("Login", "User"));
                }
            }
        }
 public ActionResult List()
 {
     using (FitAppContext db = new FitAppContext())
     {
         var exercise = db.ExerciseAdmins.ToList();
         return(View(exercise));
     }
 }
示例#17
0
 public bool IsEmailExists(string email)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var v = db.Users.Where(a => a.Email == email).FirstOrDefault();
         return(v == null ? false : true);
     }
 }
示例#18
0
 public ActionResult UserTrainings()
 {
     using (FitAppContext db = new FitAppContext())
     {
         var users = db.Users.ToList();
         return(View(users));
     }
 }
示例#19
0
 public bool DoLoginExists(string login)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var v = db.Users.Where(m => m.Login == login).FirstOrDefault();
         return(v == null ? false : true);
     }
 }
示例#20
0
 public ActionResult List(int Id)
 {
     ViewBag.TrainingId = Id;
     using (FitAppContext db = new FitAppContext())
     {
         var exercise = db.Exercises.Where(m => m.TrainingId == Id).ToList();
         return(View(exercise));
     }
 }
示例#21
0
 public ActionResult History()
 {
     using (FitAppContext db = new FitAppContext())
     {
         var user        = db.Users.Where(m => m.Login == User.Identity.Name).FirstOrDefault();
         var taskHistory = db.TaskHistories.Where(m => m.UserId == user.Id).ToList();
         return(View(taskHistory));
     }
 }
示例#22
0
        public JsonResult PublicGroups()
        {
            using (FitAppContext db = new FitAppContext())
            {
                var item = (from items in db.Groups where items.GroupType.StartsWith("Public") select new { Id = items.Id, Nazwa = items.GroupName, ilosc = items.MembersCount }).ToList();

                return(Json(item, JsonRequestBehavior.AllowGet));
            }
        }
示例#23
0
 public ActionResult PdfPartialView(int id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var foods  = db.Foods.Where(m => m.MealId == id).ToList();
         var report = new PartialViewAsPdf("~/Views/Meal/PdfPartialView.cshtml", foods);
         return(report);
     }
 }
示例#24
0
 public ActionResult Details(int id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var group = db.Groups.Where(m => m.Id == id).FirstOrDefault();
         ViewBag.AdminId = group.AdminId;
         return(View(group.Users));
     }
 }
 public ActionResult Delete(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var exercise = db.ExerciseAdmins.Where(m => m.Id == Id).FirstOrDefault();
         db.ExerciseAdmins.Remove(exercise);
         db.SaveChanges();
         return(RedirectToAction("List", "ExerciseAdmin"));
     }
 }
示例#26
0
 public ActionResult Edit(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var task = db.Tasks.Where(m => m.Id == Id).FirstOrDefault();
         ViewBag.Description     = task.Description;
         ViewBag.RealizationTime = task.RealizationTime.ToShortDateString();
     }
     return(View());
 }
示例#27
0
 public ActionResult List(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var tasks = db.Tasks.Where(m => m.ChallengeId == Id).ToList();
         //obsluzyc action link Create new dodajac mu challenge id z url
         ViewBag.ChallengeId = Id;
         return(View(tasks));
     }
 }
示例#28
0
 public ActionResult DeleteMeal(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var meal = db.Meals.Where(u => u.Id.Equals(Id)).FirstOrDefault();
         db.Meals.Remove(meal);
         db.SaveChanges();
         return(RedirectToAction("List", "Meal"));
     }
 }
示例#29
0
 public ActionResult UserTrainingList(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var user = db.Users.Where(m => m.Id == Id).FirstOrDefault();
         ViewBag.userLogin = user.Login;
         var trainings = db.Trainings.Where(m => m.UserId == Id).ToList();
         return(View(trainings));
     }
 }
示例#30
0
 public ActionResult Delete(int Id)
 {
     using (FitAppContext db = new FitAppContext())
     {
         var measurment = db.Measurments.Where(m => m.Id == Id).FirstOrDefault();
         db.Measurments.Remove(measurment);
         db.SaveChanges();
         return(RedirectToAction("History", "Measurment"));
     }
 }