コード例 #1
0
        public void AddCompletedWorkout(string userId, CreateCompletedWorkoutViewModel vm)
        {
            var completedWorkout = new CompletedWorkout()
            {
                ApplicationUserId = userId,
                Comments          = vm.Comments,
                DateCreated       = DateTime.Now,
                WorkoutId         = vm.WorkoutId
            };

            completedWorkoutsRepo.Add(completedWorkout);

            completedExcercisesRepo.AddRange(vm.DetailedExercises.Select(de => new CompletedExercise()
            {
                ApplicationUserId = userId,
                DateCreated       = DateTime.Now,
                Comments          = de.Comments,
                ExerciseId        = de.ExerciseId,
                CompletedWorkout  = completedWorkout,
                Mins   = de.Mins,
                Weight = de.Weight,
                Sets   = de.Sets,
                Reps   = de.Reps
            }).ToList());

            completedWorkoutsRepo.SaveChanges();
            completedExcercisesRepo.SaveChanges();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            using (WorkoutContext db = new WorkoutContext())
            {
                var user = db.Users.First();

                var a = user.Workouts.First();

                var ex = a.Excercises.First();

                ExcerciseLaps el1 = new ExcerciseLaps {
                    Count = 10, Excercise = ex, Lap = 1, ExcerciseId = ex.Id
                };
                ExcerciseLaps el2 = new ExcerciseLaps {
                    Count = 8, Excercise = ex, Lap = 2, ExcerciseId = ex.Id
                };

                CompletedWorkout completedWorkout = new CompletedWorkout {
                    Date = DateTime.Now, Workout = a, WorkoutId = a.Id
                };
                completedWorkout.ExcerciseLaps.AddRange(new List <ExcerciseLaps> {
                    el1, el2
                });

                user.CompletedWorkouts.Add(completedWorkout);
                db.SaveChanges();

                Console.WriteLine($"User: {user.Name}\nCompletedWorkouts: {user.CompletedWorkouts.Count}\n\tExcercise: {user.CompletedWorkouts.First().ExcerciseLaps[0].Excercise.Name}\n\t\tLap 1: {user.CompletedWorkouts.First().ExcerciseLaps[0].Count}\n\t\tLap 2: {user.CompletedWorkouts.First().ExcerciseLaps[1].Count}");
            }
        }
コード例 #3
0
 public CompletedWorkoutVM(CompletedWorkout model, UserDefaults defaults, bool includeReps) : base(model)
 {
     PlannedWorkoutId     = model.PlannedWorkoutId;
     CompletedDateTime    = model.CompletedDateTime.ToString(Constants.DateTimeOffsetFormatString);
     CompletedRepetitions = includeReps ? model.CompletedRepetitions?
                            .Select(x => new CompletedRepetitionVM(x, defaults)).OrderBy(x => x.Order).ToList() : null;
     WorkoutSummary = new CompletedWorkoutSummaryVM(model.CompletedRepetitions, defaults);
 }
コード例 #4
0
        public async Task <bool> CompleteUnplannedWorkout(int userId, CompletedWorkoutVM viewModel)
        {
            await Extensions.FindUser(userId, _userRepository, _cache);

            viewModel.PlannedWorkoutId = null;
            var model        = new CompletedWorkout(viewModel, userId, 0);
            var entriesSaved = await _completedWorkoutRepository.Create(model);

            return(entriesSaved == (model.CompletedRepetitions.Count + 1));
        }
コード例 #5
0
        public SummaryPage(int ID)
        {
            InitializeComponent();
            CompletedWorkout completedWorkout = App.CompletedWorkoutDB.GetCompletedWorkout(ID);

            exerciseList = JsonConvert.DeserializeObject <List <CompletedExercise> >(completedWorkout.ExerciseListJSON);

            workoutName.Text     = completedWorkout.Name;
            workoutDay.Text      = completedWorkout.Date.ToString("MM/dd/yyyy");
            workoutTime.Text     = completedWorkout.Date.ToString("h:mm tt");
            listView.ItemsSource = exerciseList;
            TestJson.Text        = completedWorkout.ExerciseListJSON;
        }
コード例 #6
0
 public int SaveCompletedWorkout(CompletedWorkout completedWorkout)
 {
     lock (locker)
     {
         if (completedWorkout.ID != 0)
         {
             database.Update(completedWorkout);
             return(completedWorkout.ID);
         }
         else
         {
             return(database.Insert(completedWorkout));
         }
     }
 }
コード例 #7
0
        public async Task <CompletedWorkout> AddCompletedWorkoutAsync(CompletedWorkout completedWorkout)
        {
            await db.AddAsync(completedWorkout);

            return(completedWorkout);
        }