public void SaveCurrentStateTest()
        {
            var page1 = new SavedWebpage
            {
                Url        = "www.wp.pl",
                LastUpdate = DateTime.Parse("2001-01-13T23:00:00")
            };

            var page2 = new SavedWebpage
            {
                Url             = "wwww.interia.pl",
                UpdateFrequency = 30
            };

            var state = new AppStateConfiguration();

            state.SavedWebpages = new List <SavedWebpage>
            {
                page1,
                page2
            };

            _appStateManager.SaveCurrentState(state);
            Assert.AreEqual(_appStateManager.GetState().SavedWebpages.Count, 2);
        }
コード例 #2
0
        public bool SaveCurrentState(AppStateConfiguration state = null)
        {
            if (state == null)
            {
                state = State;
            }
            var stateJson = JsonConvert.SerializeObject(state, Formatting.Indented);

            _fileStorage.SaveAppStateFile(stateJson.ToString());
            State = state;
            return(true);
        }
コード例 #3
0
        private bool ReadState(string content)
        {
            try
            {
                State = JsonConvert.DeserializeObject <AppStateConfiguration>(content);
                SetIdInStates();
                return(true);
            }
            catch (Exception e)
            {
                Logger.Instance.Log(e.ToString());
                throw;
            }

            return(false);
        }
コード例 #4
0
        public AppStateManager()
        {
            _fileStorage = new FileStorage();
            var stateContent = _fileStorage.GetAppStateFile();

            if (stateContent == string.Empty)
            {
                State = new AppStateConfiguration
                {
                    SavedWebpages = new List <SavedWebpage>()
                };
                SaveCurrentState();
            }
            else
            {
                ReadState(stateContent);
            }
        }