Exemplo n.º 1
0
 public static FavoriteMessageSettings CreateFavoriteMessageSettings(MessageSettings settings)
 {
     return new FavoriteMessageSettings()
     {
         ID = settings.ID,
         Added = settings.Added,
         AnimateMessage = settings.AnimateMessage,
         Duration = settings.Duration,
         FontSize = settings.FontSize,
         Message = settings.Message,
         ShowCountdown = settings.ShowCountdown
     };
 }
 public MessageSettingsHubPageViewModel(INavigationService navService, IEventAggregator eventAggregator, IPurchaseManager purchaseMgr, IMessageSettingsRepository repository)
     : base(navService, eventAggregator, purchaseMgr, repository)
 {
     this.AddToFavorites = new DelegateCommand(async () =>
     {
         var settingsID = this.Settings.ID;
         await this.MessageRepository.AddMessageSettingsToFavorites(FavoriteMessageSettings.CreateFavoriteMessageSettings(this.Settings));
         var fav = this.MessageRepository.GetFavoriteMessageSettingsFromID(settingsID);
         this.Settings = fav;
         this.FavoriteSettings = fav;
     });
     this.RemoveFromFavorites = new DelegateCommand(async () =>
     {
         var tmpSettings = MessageSettings.Clone(this.Settings);
         await this.MessageRepository.RemoveMessageSettingsFromFavorites(FavoriteMessageSettings.CreateFavoriteMessageSettings(this.Settings));
         this.Settings = tmpSettings;
         SetProperty(ref this._favoriteSettings, null);
     });
     this.ClearAllFavoriteMessages = new DelegateCommand(async () =>
     {
         var tmpSettings = MessageSettings.Clone(this.Settings);
         await this.MessageRepository.ClearFavoriteMessages();
         this.Settings = tmpSettings;
     });
     this.ClearAllOldMessages = new DelegateCommand(async () =>
     {
         var tmpSettings = MessageSettings.Clone(this.Settings);
         await this.MessageRepository.ClearOldMessages();
         this.Settings = tmpSettings;
     });
     this.NewMessage = new DelegateCommand(() => 
         {
             this.Settings = new MessageSettings();
             this.FavoriteSettings = null;
             this.OldSettings = null;
         });
 }
 public override void OnNavigatedTo(object navigationParameter, Windows.UI.Xaml.Navigation.NavigationMode navigationMode, Dictionary<string, object> viewModelState)
 {
     var messageSettingsID = navigationParameter as string;
     if (!string.IsNullOrEmpty(messageSettingsID))
     {
         var fav = MessageRepository.GetFavoriteMessageSettingsFromID(messageSettingsID);
         if (fav == null)
         {
             var tmpSettings = MessageRepository.GetOldMessageSettingsFromID(messageSettingsID);
             if (tmpSettings != null)
             {
                 this.Settings = MessageSettings.Clone(tmpSettings, true);
             }
         }
         else
         {
             this.Settings = fav;
             this.FavoriteSettings= fav;
         }
     }
     if(this.Settings == null)
     {
         this.Settings = new MessageSettings();
     }
     if (navigationMode != NavigationMode.New)
     {
         base.OnNavigatedTo(navigationParameter, navigationMode, viewModelState);
     }
 }
 public MessageConfigurationPageViewModel(INavigationService navService, MessageSettings settings, IEventAggregator eventAggregator, IPurchaseManager purchaseMgr)
     : base(navService, eventAggregator, purchaseMgr)
 {
     this._settings = settings;
 }
Exemplo n.º 5
0
 public static MessageSettings Clone(MessageSettings settings, bool newID = false)
 {
     var newMsg = new MessageSettings()
     {
         ID = settings.ID,
         Added = settings.Added,
         Duration = settings.Duration,
         AnimateMessage = settings.AnimateMessage,
         FontSize = settings.FontSize,
         ShowCountdown = settings.ShowCountdown,
         Message = settings.Message
     };
     if(newID)
     {
         newMsg.ID = Guid.NewGuid().ToString();
     }
     return newMsg;
 }