Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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;
                }
            }
        }