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