Exemple #1
0
        private async Task SynchronizeDataAsync()
        {
            try
            {
                if (_bodyExerciseList == null)
                {
                    var bodyExerciseService = new BodyExerciseService(_dbContext);
                    _bodyExerciseList = bodyExerciseService.FindBodyExercises();
                }

                //Create BindingCollection
                GroupedTrainingExercises.Clear();

                if (_trainingDays != null)
                {
                    foreach (var trainingDay in _trainingDays)
                    {
                        CreateOrReplaceBindingTrainingDay(trainingDay);
                    }
                }
            }
            catch (Exception except)
            {
                await _userDialog.AlertAsync(except.Message, Translation.Get(TRS.ERROR), Translation.Get(TRS.OK));
            }
        }
Exemple #2
0
        private async Task SynchronizeDataAsync(bool byPassCurrentAction = false)
        {
            try
            {
                if (_muscularGroups == null)
                {
                    var muscularGroupService = new MuscularGroupService(_dbContext);
                    _muscularGroups = muscularGroupService.FindMuscularGroups();
                }

                if (_muscles == null)
                {
                    var muscleService = new MuscleService(_dbContext);
                    _muscles = muscleService.FindMuscles();
                }

                if (_bodyExercises == null)
                {
                    var bodyExerciseService = new BodyExerciseService(_dbContext);
                    _bodyExercises = bodyExerciseService.FindBodyExercises();
                }

                /*
                 * if(onShow && _muscularGroups != null && _muscularGroups.Count > 0 && _muscles != null)
                 * {
                 *  MuscularGroup = _muscularGroups[0];
                 *  Muscle = _muscles.Where(m => m.MuscularGroupId == MuscularGroup.Id).FirstOrDefault();
                 * }*/

                //Refresh BodyExercise
                BindingBodyExercises.Clear();
                if (MuscularGroup != null && Muscle != null && _bodyExercises != null && _bodyExercises.Count > 0)
                {
                    BindingBodyExercise bindingBodyExercise;
                    var bodyexerciseList = _bodyExercises.Where(be => be.MuscleId == Muscle.Id);
                    foreach (var bodyexercise in bodyexerciseList)
                    {
                        bindingBodyExercise = new BindingBodyExercise()
                        {
                            BodyExercise = bodyexercise,
                            Name         = bodyexercise.Name
                        };
                        BindingBodyExercises.Add(bindingBodyExercise);
                    }

                    if (BindingBodyExercises.Count > 0)
                    {
                        List <BindingBodyExercise> bindingList = new List <BindingBodyExercise>();
                        bindingList.AddRange(BindingBodyExercises);
                        Task t = CachingImagesAsync(bindingList);
                    }
                }
                OnPropertyChanged("BindingBodyExercises");
            }
            catch (Exception except)
            {
                await _userDialog.AlertAsync(except.Message, Translation.Get(TRS.ERROR), Translation.Get(TRS.OK));
            }
        }
Exemple #3
0
        public static async Task SynchronizeBodyExercisesAsync(SQLiteConnection dbContext)
        {
            try
            {
                //Synchronize body exercises
                var bodyExerciseList = await BodyExerciseWebService.FindAsync();

                if (bodyExerciseList != null)
                {
                    var bodyExerciseService = new BodyExerciseService(dbContext);
                    bodyExerciseService.UpdateBodyExerciseList(bodyExerciseList);

                    //Synchronize body exercises images
                    List <Task> imagesSyncTaskList = new List <Task>();
                    string      urlImage, localImagePath;
                    string      urlImages = HttpConnector.Instance.BaseUrl + "images/bodyexercises/{0}";
                    foreach (var bodyExercise in bodyExerciseList)
                    {
                        if (string.IsNullOrWhiteSpace(bodyExercise.ImageName))
                        {
                            bodyExercise.ImageName = bodyExercise.Id.ToString() + ".png";
                        }
                        urlImage       = string.Format(urlImages, bodyExercise.ImageName);
                        localImagePath = Path.Combine(AppTools.BodyExercisesImagesDirectory, bodyExercise.ImageName);
                        var t = AppTools.Instance.CachingImageAsync(bodyExercise, urlImage, localImagePath, null);
                        if (t != null)
                        {
                            imagesSyncTaskList.Add(t);
                        }
                    }
                    foreach (var imageTask in imagesSyncTaskList)
                    {
                        await imageTask;
                    }
                }
            }
            catch (Exception except)
            {
                ILogger.Instance.Error("Unable to synchronize body exercises", except);
            }
        }