/// <summary> /// Set workout day item index /// </summary> /// <param name="workoutDayItem"><WorkoutDayItem/param> /// <returns></returns> public WorkoutDayItem SetTargetIndex(WorkoutDayItem workoutDayItem) { if (workoutDayItem.WorkoutTargetItems.Count > 0) { for (int i = 0; i < workoutDayItem.WorkoutTargetItems.Count; i++) { workoutDayItem.WorkoutTargetItems[i].Index = (i + 1).ToString(); } } return(workoutDayItem); }
/// <summary> /// Current constructor /// </summary> /// <param name="window">Parent window</param> /// <param name="workoutDay">Workout Day Item</param> public WorkoutLogInputViewModel(Window window, WorkoutDayItem workoutDayItem) : base(window) { mWindow = window; WindowMinimumHeight = 350; WindowMinimumWidth = 600; Title = $"Workout Log - Day: {workoutDayItem.WorkoutDay.Date.ToShortDateString()}"; WorkoutDayItem = SetTargetIndex(workoutDayItem); SetIsWorkoutDoneCommand = new RelayParameterizedCommand(SetIsWorkoutDone); SetAllWorkoutsDoneCommand = new RelayCommand(p => SetAllWorkoutsDone()); }
public void LoadGraph(WorkoutDayItem workoutDayItem) { if (workoutDayItem != null) { SeriesCollection = new SeriesCollection(); SeriesCollection = new SeriesCollection { new LineSeries { Title = "Target Sets", Values = new ChartValues <int> { }, PointGeometry = DefaultGeometries.Square }, new LineSeries { Title = "Done Sets", Values = new ChartValues <int> { }, PointGeometry = DefaultGeometries.Square }, new LineSeries { Title = "Target Repeats", Values = new ChartValues <int> { }, PointGeometry = DefaultGeometries.Diamond }, new LineSeries { Title = "Done Repeats", Values = new ChartValues <int> { }, PointGeometry = DefaultGeometries.Diamond } }; foreach (var workoutTargetItems in workoutDayItem.WorkoutTargetItems) { // sets SeriesCollection[0].Values.Add(workoutTargetItems.WorkoutTarget.RequiredSets); SeriesCollection[1].Values.Add(workoutTargetItems.WorkoutLog.Sets); // repeats SeriesCollection[2].Values.Add(workoutTargetItems.WorkoutTarget.RequiredRepeats); SeriesCollection[3].Values.Add(workoutTargetItems.WorkoutLog.Repeats); } } }
public WorkoutDayGraphViewModel(Window window, WorkoutDayItem workoutDayItem) : base(window) { mWindow = window; WindowMinimumHeight = 650; WindowMinimumWidth = 900; Title = $"Workout Graph - Day: {workoutDayItem.WorkoutDay.Date.ToShortDateString()}"; CloseCommand = new RelayCommand(p => { mWindow.Close(); }); WorkoutDayItem = workoutDayItem; LoadGraph(WorkoutDayItem); }
/// <summary> /// Set all workouts done /// </summary> public void SetAllWorkoutsDone(object sender) { WorkoutDayItem = (WorkoutDayItem)(sender as Grid).DataContext; foreach (var workoutTargetItem in WorkoutDayItem.WorkoutTargetItems) { workoutTargetItem.WorkoutLog.Sets = workoutTargetItem.WorkoutTarget.RequiredSets; workoutTargetItem.WorkoutLog.Repeats = workoutTargetItem.WorkoutTarget.RequiredRepeats; workoutTargetItem.WorkoutLog.IsCompleted = true; using var db = new AppDbContext(); _ = workoutTargetItem.WorkoutLog.Id > 0 ? db.WorkoutLogs.Update(workoutTargetItem.WorkoutLog) : db.WorkoutLogs.Add(workoutTargetItem.WorkoutLog); WorkoutDayItem.WorkoutDayCompleteCount = WorkoutDayItem.WorkoutTargetItems.Count; if (WorkoutDayItem.WorkoutTargetItems.Count > 0 && WorkoutDayItem.WorkoutTargetItems.Count == WorkoutDayItem.WorkoutDayCompleteCount) { WorkoutDayItem.WorkoutDay.IsCompleted = true; db.WorkoutDays.Update(WorkoutDayItem.WorkoutDay); } else if (WorkoutDayItem.WorkoutDay.IsCompleted) { WorkoutDayItem.WorkoutDay.IsCompleted = false; db.WorkoutDays.Update(WorkoutDayItem.WorkoutDay); } db.SaveChanges(); } for (int i = 0; i < WorkoutPlanItems.Count; i++) { if (WorkoutPlanItems[i].WorkoutDayItems.Contains(WorkoutDayItem)) { WorkoutPlanItems[i].WorkoutPlanCompleteCount += 1; WorkoutPlanItems[i].PlanNote += WorkoutDayItem.WorkoutDayCompleteCount; return; } } }