コード例 #1
0
        public void RestoreState(IDictionary <string, object> storedState)
        {
            object stateAsString;

            Dictionary <string, object> collections;

            if (storedState.TryGetValue("DataServiceState", out stateAsString))
            {
                var dsState = DataServiceState.Deserialize((string)stateAsString);

                this._context = dsState.Context as OratorEntities;
                collections   = dsState.RootCollections;

                if (collections != null)
                {
                    if (collections.ContainsKey("Events"))
                    {
                        this.Events = collections["Events"] as DataServiceCollection <Event>;

                        if (collections.ContainsKey("Sessions"))
                        {
                            this.Sessions = collections["Sessions"] as DataServiceCollection <Session>;

                            if (collections.ContainsKey("Speakers"))
                            {
                                this.Speakers = collections["Speakers"] as DataServiceCollection <SessionSpeaker>;
                            }

                            if (collections.ContainsKey("SessionFiles"))
                            {
                                this.SessionFiles = collections["SessionFiles"] as DataServiceCollection <SessionFile>;
                            }
                        }
                    }
                }

                // Restore entity properties from the stored URI.
                _context.TryGetEntity <Session>(storedState["CurrentSession"] as Uri, out _currentSession);
                _context.TryGetEntity <Event>(storedState["CurrentEvent"] as Uri, out _currentEvent);
                _context.TryGetEntity <SessionSpeaker>(storedState["SingleSpeaker"] as Uri, out _singleSpeaker);

                // Restore other non-entity properties.
                this.TotalSessionCount = (int)storedState["TotalSessionCount"];
                this.Message           = (string)storedState["Message"];
                this.CountMessage      = (string)storedState["CountMessage"];
                this.QueryInfo         = (QueryHelper)storedState["QueryInfo"];
                this.SessionCategories = (List <string>)storedState["SessionCategories"];
                this.SessionDates      = (List <string>)storedState["SessionDates"];
                this.SessionTracks     = (List <string>)storedState["SessionTracks"];
            }
        }
コード例 #2
0
 // Define a base paged LINQ query for sessions.
 //DataServiceQuery<Session> sessionsQuery;
 public MainViewModel()
 {
     // Instantiate the context and binding collection.
     _context = new OratorEntities(_rootUri);
 }