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)); } }
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)); } }
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); } }