Esempio n. 1
0
        public void Deserialize_seed_data()
        {
            //var file = File.Open("seedData.json", FileMode.Open);

            using (var db = new LiftBroContext())
            {
                SeedData data = JsonConvert.DeserializeObject<SeedData>(File.ReadAllText("seedData.json"));
                db.UserPrograms.AddOrUpdate(data.UserPrograms.First());
                db.SaveChanges();

                var exercise = new UserExercise()
                {
                    Exercise = db.Exercises.First(),
                    Id = new Guid(),
                    OneRepetitionMax = 44,
                    User = db.Users.First()
                };

                db.UserExercises.AddOrUpdate(exercise);
                db.SaveChanges();
            }
        }
Esempio n. 2
0
        public void UpdateUserExercise(UserExercise userExercise)
        {
            if (userExercise.User == null)
                userExercise.User = User.GetApplicationUser();

            if (userExercise.Exercise == null)
                throw new Exception("Exercise but be set");

            using (var db = new LiftBroContext())
            {
                db.Exercises.Attach(userExercise.Exercise);

                var foundExercise = db.UserExercises
                    //.Include(exc => exc.)
                    .FirstOrDefault(exercise =>
                        exercise.User.Username == userExercise.User.Username
                        && exercise.Exercise.Name == userExercise.Exercise.Name);

                if (foundExercise != null)
                {
                    foundExercise.OneRepetitionMax = userExercise.OneRepetitionMax;
                }
                else
                {
                    db.UserExercises.Add(new UserExercise()
                    {
                        User = db.Users.Find(userExercise.User.Username),
                        Exercise = userExercise.Exercise,
                        Id = Guid.NewGuid(),
                        OneRepetitionMax =  userExercise.OneRepetitionMax
                    });
                }

                db.SaveChanges();
            }
        }