Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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;
                    }
                }
            });
        }
Exemplo n.º 3
0
 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;
     }
 }