private void Save(object arg) { if (Template.IsChanged) { IsBusy = true; try { var service = serviceLocator.GetInstance <ITrainingSetTemplateService>(); service.TrainingSetTemplateSaved += (sender, e) => { switch (e.Value.Status) { case SaveTemplateStatus.Success: if (ApplicationUser.CurrentUser.Templates.Contains(e.Value.SavedTemplate)) { SmartDispatcher.BeginInvoke(() => { var list = ApplicationUser.CurrentUser.Templates as ObservableCollection <TrainingSetTemplate>; var index = list.IndexOf(e.Value.SavedTemplate); list.RemoveAt(index); list.Insert(index, e.Value.SavedTemplate); shell.RemoveFromLayoutRoot(View as UIElement); }); } else { SmartDispatcher.BeginInvoke(() => { ApplicationUser.CurrentUser.Templates.Add(e.Value.SavedTemplate); shell.RemoveFromLayoutRoot(View as UIElement); }); } break; case SaveTemplateStatus.Error: dialogFacade.Alert(MyLibraryResources.ErrorSavingTemplate); break; default: break; } IsBusy = false; }; service.TrainingSetTemplateSaveError += (sender, e) => { IsBusy = false; }; service.SaveTemplate(Template); } catch (Exception ex) { dialogFacade.Alert(MyLibraryResources.ErrorSavingTemplate); IsBusy = false; } } else { shell.RemoveFromLayoutRoot(View as UIElement); } }
private void RemoveTemplate(object arg) { dialogFacade.Confirm(MyLibraryResources.RemoveTemplateConfirmation, result => { if (result) { var service = serviceLocator.GetInstance <ITrainingSetTemplateService>(); service.TrainingSetTemplateRemoved += (sender, e) => { switch (e.Value.Status) { case RemoveTemplateStatus.Success: SmartDispatcher.BeginInvoke(() => { ApplicationUser.CurrentUser.Templates.Remove(Template); this.Template = null; this.IsBusy = false; OnTemplateRemoved(); }); break; case RemoveTemplateStatus.Error: this.IsBusy = false; dialogFacade.Alert(MyLibraryResources.ErrorRemovingTemplate); break; default: break; } }; service.TrainingSetTemplateRemoveError += (sender, e) => { throw e.Value; }; this.IsBusy = true; try { service.RemoveTemplate(Template); } catch { IsBusy = false; throw; } } }); }
private void VideoEnded(Video video) { DialogFacade.Alert(PlayerResources.ThankYouForUsingIndoorWorx); //tell the user service that the video ended and played the complete lifecycle }
private void Save(object arg) { IsBusy = true; try { var service = serviceLocator.GetInstance <ITrainingSetService>(); var trainingSet = new TrainingSet(); trainingSet.TrainingSetTemplateId = SelectedTemplate.Id; trainingSet.Title = Title; if (UseSingleVideo) { var part = new VideoPart(); part.VideoId = Video.Id; part.From = VideoFrom; part.To = VideoTo; trainingSet.VideoParts.Add(part); } if (UseMultipleVideos) { foreach (var set in SelectedTemplate.Sets) { if (set.UseSingleVideo) { var part = new VideoPart(); part.VideoId = set.Video.Id; part.From = set.VideoFrom; part.To = set.VideoTo; trainingSet.VideoParts.Add(part); } if (set.UseMultipleVideos) { foreach (var interval in set.Intervals) { var part = new VideoPart(); part.VideoId = interval.Video.Id; part.From = interval.VideoFrom; part.To = interval.VideoTo; trainingSet.VideoParts.Add(part); } } } } service.CreateTrainingSetError += (sender, e) => { IsBusy = false; throw e.Value; }; service.TrainingSetCreated += (sender, e) => { if (e.Value.Status == CreateTrainingSetStatus.Success) { ApplicationUser.CurrentUser.Videos.Add(e.Value.TrainingSet); foreach (var set in SelectedTemplate.Sets) { set.ClearDesignData(); } foreach (var interval in SelectedTemplate.Intervals) { interval.ClearDesignData(); } IsBusy = false; Hide(); eventAggregator.GetEvent <VideoCreatedEvent>().Publish(e.Value.TrainingSet); } else { dialogFacade.Alert(DesignerResources.ErrorCreatingWorkout); IsBusy = false; } }; service.CreateTrainingSet(trainingSet); } catch { IsBusy = false; throw; } }