Beispiel #1
0
        private void CreateOrReplaceBindingTrainingDay(TrainingDay trainingDay)
        {
            var newGroupedTrainingExercises = PopulateBindingTrainingDay(trainingDay);

            var collection = GroupedTrainingExercises.Where(lgte => TrainingDayKey.IsEqualByKey((TrainingDay)lgte.ReferenceObject, trainingDay)).FirstOrDefault();

            if (collection == null)
            {
                collection = new GenericGroupModelCollection <BindingTrainingExercise>();
                GroupedTrainingExercises.Add(newGroupedTrainingExercises);
            }
            else
            {
                int indexOf = GroupedTrainingExercises.IndexOf(collection);
                if (indexOf == -1)
                {
                    return;
                }
                GroupedTrainingExercises[indexOf] = newGroupedTrainingExercises;
            }

            if (newGroupedTrainingExercises != null && newGroupedTrainingExercises.Count > 0)
            {
                List <BindingTrainingExercise> bindingList = new List <BindingTrainingExercise>();
                bindingList.AddRange(newGroupedTrainingExercises);
                Task t = CachingImagesAsync(bindingList);
            }
        }
Beispiel #2
0
        public void SynchronizeData()
        {
            try
            {
                //Create BindingCollection
                int currentYear = 0;
                GroupedTrainingWeeks.Clear();

                if (_trainingWeekList != null)
                {
                    _trainingWeekList = _trainingWeekList.OrderByDescending(m => m.Year).ThenByDescending(m => m.WeekOfYear).ToList();

                    DateTime dateTime;
                    var      localGroupedTrainingWeeks = new ObservableCollection <GenericGroupModelCollection <BindingTrainingWeek> >();
                    GenericGroupModelCollection <BindingTrainingWeek> collection = null;
                    foreach (var trainingWeek in _trainingWeekList)
                    {
                        if (collection == null || currentYear != trainingWeek.Year)
                        {
                            currentYear          = trainingWeek.Year;
                            collection           = new GenericGroupModelCollection <BindingTrainingWeek>();
                            collection.LongName  = currentYear.ToString();
                            collection.ShortName = currentYear.ToString();
                            localGroupedTrainingWeeks.Add(collection);
                        }

                        dateTime = Utils.YearWeekToPlanningDateTime(trainingWeek.Year, trainingWeek.WeekOfYear);
                        collection.Add(new BindingTrainingWeek()
                        {
                            Date         = string.Format(Translation.Get(TRS.FROM_THE_P0TH_TO_THE_P1TH_OF_P2_P3), dateTime.Day, dateTime.AddDays(6.0d).Day, Translation.Get(((TMonthType)dateTime.Month).ToString().ToUpper()), dateTime.Year),
                            Week         = Translation.Get(TRS.WEEK_NUMBER) + ' ' + trainingWeek.WeekOfYear.ToString(),
                            TrainingWeek = trainingWeek
                        });
                    }

                    foreach (var trainingWeek in localGroupedTrainingWeeks)
                    {
                        GroupedTrainingWeeks.Add(trainingWeek);
                    }
                }
            }
            catch
            {
            }
        }
Beispiel #3
0
        private GenericGroupModelCollection <BindingTrainingExercise> PopulateBindingTrainingDay(TrainingDay trainingDay)
        {
            if (trainingDay == null)
            {
                return(null);
            }

            string weightUnit = "kg";

            if (UserData.Instance.UserInfo.Unit == (int)TUnitType.Imperial)
            {
                weightUnit = Translation.Get(TRS.POUND);
            }

            StringBuilder           setRepSb = new StringBuilder();
            StringBuilder           setRepWeightSb = new StringBuilder();
            string                  formatSetRep = "{0} x {1}";
            string                  beginHourStr, endHourStr;
            BindingTrainingExercise bindingTrainingExercise;

            var collection = new GenericGroupModelCollection <BindingTrainingExercise>();;

            beginHourStr               = trainingDay.BeginHour.ToLocalTime().ToString("HH:mm");
            endHourStr                 = trainingDay.EndHour.ToLocalTime().ToString("HH:mm");
            collection.LongName        = string.Format("{0} {1} {2} {3}", Translation.Get(TRS.FROM), beginHourStr, Translation.Get(TRS.TO), endHourStr);
            collection.ShortName       = collection.LongName;
            collection.ReferenceObject = trainingDay;
            collection.Clear();

            if (trainingDay.TrainingExercises != null)
            {
                BodyExercise     bodyExercise;
                TrainingExercise trainingExercise;
                for (int i = 0; i < trainingDay.TrainingExercises.Count; i++)
                {
                    trainingExercise        = trainingDay.TrainingExercises[i];
                    bodyExercise            = _bodyExerciseList.Where(m => m.Id == trainingExercise.BodyExerciseId).FirstOrDefault();
                    bindingTrainingExercise = new BindingTrainingExercise()
                    {
                        TrainingExercise = trainingExercise,
                        BodyExerciseId   = trainingExercise.BodyExerciseId,
                        RestTime         = trainingExercise.RestTime,
                        Tempo            = string.Format("{0} : {1}-{2}-{3}-{4}", Translation.Get(TRS.TEMPO),
                                                         trainingExercise.EccentricContractionTempo,
                                                         trainingExercise.StretchPositionTempo,
                                                         trainingExercise.ConcentricContractionTempo,
                                                         trainingExercise.ContractedPositionTempo),
                        UpOrderVisible   = i != 0,
                        DownOrderVisible = i != (trainingDay.TrainingExercises.Count - 1)
                    };
                    bindingTrainingExercise.BodyExerciseName = bodyExercise != null ? bodyExercise.Name : Translation.Get(TRS.UNKNOWN);
                    if (trainingExercise.TrainingExerciseSets != null)
                    {
                        bindingTrainingExercise.SetRepsTitle       = string.Format(formatSetRep, Translation.Get(TRS.SETS), Translation.Get(TRS.REPS));
                        bindingTrainingExercise.SetRepWeightsTitle = Translation.Get(TRS.WEIGHT) + " (" + weightUnit + ")";
                        setRepSb.Clear();
                        setRepWeightSb.Clear();
                        foreach (var trainingExerciseSet in trainingExercise.TrainingExerciseSets)
                        {
                            setRepSb.AppendLine(string.Format(formatSetRep, trainingExerciseSet.NumberOfSets, trainingExerciseSet.NumberOfReps));
                            setRepWeightSb.AppendLine(trainingExerciseSet.Weight.ToString());
                        }
                        bindingTrainingExercise.SetReps       = setRepSb.ToString();
                        bindingTrainingExercise.SetRepWeights = setRepWeightSb.ToString();
                    }
                    collection.Add(bindingTrainingExercise);
                }
            }

            return(collection);
        }
        private GenericGroupModelCollection <BindingTrainingExercise> PopulateBindingTrainingDay(TrainingDay trainingDay)
        {
            if (trainingDay == null)
            {
                return(null);
            }

            TUnitType viewerUnit = UserData.Instance.UserInfo.Unit;
            string    weightUnit = viewerUnit == TUnitType.Imperial ? Translation.Get(TRS.POUND) : "kg";

            StringBuilder           setRepSb = new StringBuilder();
            StringBuilder           setRepWeightSb = new StringBuilder();
            string                  beginHourStr, endHourStr;
            BindingTrainingExercise bindingTrainingExercise;

            var collection = new GenericGroupModelCollection <BindingTrainingExercise>();;

            beginHourStr               = trainingDay.BeginHour.ToLocalTime().ToString("HH:mm");
            endHourStr                 = trainingDay.EndHour.ToLocalTime().ToString("HH:mm");
            collection.LongName        = $"{Translation.Get(TRS.FROM)} {beginHourStr} {Translation.Get(TRS.TO)} {endHourStr}";
            collection.ShortName       = collection.LongName;
            collection.ReferenceObject = trainingDay;
            collection.Clear();

            if (trainingDay.TrainingExercises != null)
            {
                BodyExercise     bodyExercise;
                TrainingExercise trainingExercise;
                for (int i = 0; i < trainingDay.TrainingExercises.Count; i++)
                {
                    trainingExercise        = trainingDay.TrainingExercises[i];
                    bodyExercise            = _bodyExerciseList.Where(m => m.Id == trainingExercise.BodyExerciseId).FirstOrDefault();
                    bindingTrainingExercise = new BindingTrainingExercise()
                    {
                        TrainingExercise = trainingExercise,
                        BodyExerciseId   = trainingExercise.BodyExerciseId,
                        RestTime         = trainingExercise.RestTime,
                        Tempo            = string.Format("{0} : {1}-{2}-{3}-{4}", Translation.Get(TRS.TEMPO),
                                                         trainingExercise.EccentricContractionTempo,
                                                         trainingExercise.StretchPositionTempo,
                                                         trainingExercise.ConcentricContractionTempo,
                                                         trainingExercise.ContractedPositionTempo),
                        UpOrderVisible   = i != 0,
                        DownOrderVisible = i != (trainingDay.TrainingExercises.Count - 1)
                    };
                    bindingTrainingExercise.BodyExerciseName = bodyExercise != null ? bodyExercise.Name : Translation.Get(TRS.UNKNOWN);
                    if (trainingExercise.TrainingExerciseSets != null)
                    {
                        bindingTrainingExercise.SetRepsTitle       = $"{Translation.Get(TRS.SETS)} x {(trainingExercise.ExerciseUnitType == TExerciseUnitType.RepetitionNumber ? Translation.Get(TRS.REPS) : Translation.Get(TRS.EXECUTION_TIME))}";
                        bindingTrainingExercise.SetRepWeightsTitle = Translation.Get(TRS.WEIGHT) + " (" + weightUnit + ")";
                        setRepSb.Clear();
                        setRepWeightSb.Clear();
                        foreach (var set in trainingExercise.TrainingExerciseSets)
                        {
                            setRepSb.AppendLine($"{set.NumberOfSets} x {(trainingExercise.ExerciseUnitType == TExerciseUnitType.RepetitionNumber ? set.NumberOfReps.ToString() : FormatExecutionTime(set.ExecutionTime))}");
                            setRepWeightSb.AppendLine(Math.Round(Utils.TransformWeightToUnitSytem(trainingDay.Unit, viewerUnit, set.Weight), 3).ToString());
                        }
                        bindingTrainingExercise.SetReps       = setRepSb.ToString();
                        bindingTrainingExercise.SetRepWeights = setRepWeightSb.ToString();
                    }
                    collection.Add(bindingTrainingExercise);
                }
            }

            return(collection);
        }