Example #1
0
        public ListeningEditViewModel(IUnityContainer container, IEventAggregator eventAggregator, IDataService dataService)
            : base(container, eventAggregator)
        {
            this.dataService = dataService;

            SubscribeEvents();

            SearchAlbumCommand = new DelegateCommand <object>(OnSearchAlbumCommand);
            CreatePlaceCommand = new DelegateCommand <object>(OnCreatePlaceCommand);
            CreateMoodCommand  = new DelegateCommand <object>(OnCreateMoodCommand);

            LoadDictionaries(() =>
            {
                if (Listening.IsNew)
                {
                    bool originalValue = Listening.NeedValidate;

                    Listening.NeedValidate = false; // force reset to avoid initial validation errors

                    Listening.Mood  = Moods.FirstOrDefault();
                    Listening.Place = Places.FirstOrDefault(); // restore to original value

                    Listening.NeedValidate = originalValue;
                }
            });
        }
Example #2
0
        void INavigationAware.OnNavigatedTo(NavigationContext navigationContext)
        {
            InitializeStyles()
            .ContinueWith(task =>
            {
                string styleString = navigationContext.Parameters["Styles"];

                if (!string.IsNullOrEmpty(styleString))
                {
                    string[] styles = styleString.Split(new[] { ',' });

                    foreach (var style in styles)
                    {
                        var term = Styles.FirstOrDefault(s => s.Name.Equals(WebUtility.HtmlDecode(style), StringComparison.InvariantCultureIgnoreCase));

                        if (term != null)
                        {
                            ToggleStyleCommand.Execute(term);
                        }
                    }
                }
            });

            InitializeMoods()
            .ContinueWith(task =>
            {
                string moodString = navigationContext.Parameters["Moods"];

                if (!string.IsNullOrEmpty(moodString))
                {
                    string[] moods = moodString.Split(new[] { ',' });

                    foreach (var mood in moods)
                    {
                        var term = Moods.FirstOrDefault(s => s.Name.Equals(WebUtility.HtmlDecode(mood), StringComparison.InvariantCultureIgnoreCase));

                        if (term != null)
                        {
                            ToggleMoodCommand.Execute(term);
                        }
                    }
                }
            });

            Tempo.Minimum             = GetParameterValue("Tempo", navigationContext.Parameters);
            Loudness.Minimum          = GetParameterValue("Loudness", navigationContext.Parameters);
            Danceability.Minimum      = GetParameterValue("Danceability", navigationContext.Parameters);
            Energy.Minimum            = GetParameterValue("Energy", navigationContext.Parameters);
            ArtistHotness.Minimum     = GetParameterValue("ArtistHotness", navigationContext.Parameters);
            ArtistFamiliarity.Minimum = GetParameterValue("ArtistFamiliarity", navigationContext.Parameters);
            SongHotness.Minimum       = GetParameterValue("SongHotness", navigationContext.Parameters);
        }