Пример #1
0
        /// <summary>Run operation.</summary>
        public void Run(enumRun mode)
        {
            // Validate application configuration file.
            if(String.IsNullOrEmpty(_paramGetStatusesSince) || String.IsNullOrEmpty(_paramGetStatusesCount)) {
            EventLog.WriteEntry(logName, "Application Error: Missing values from configuration file.", EventLogEntryType.Error);
            return;
            }

            // Init database.
            _dbContext = new BaseDataContext(_dbConnectionString);
            if(!_dbContext.DatabaseExists()) {
            _dbContext.CreateDatabase();
            }

            // Create (INSERT) default data to database.
            if(mode == enumRun.LoadData) {
            CreateStatusesDefault();
            Console.WriteLine("\nLoaded data successfully.");
            } else if(mode == enumRun.LoadData) {
            Console.WriteLine("\nCannot load data because it exists. If you want to try again, then you must either drop the database or delete all the records.");
            }

            // Iterate and process users.
            TwitterStatus userStatus = null;
            string userUrlGetStatuses = String.Empty;
            var userIds = _paramGetStatusesUserValue.RemoveWhitespaces().Split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries);
            for(int i = 0;i < userIds.Length;i += 1) {
            userUrlGetStatuses = String.Empty;
            // Get (SELECT) status, most recent.
            userStatus = GetStatusLatest(userIds[i]);
            // Validate status.
            if(userStatus != null) {
                userUrlGetStatuses = _urlGetStatuses.AppendQueryString(String.Concat(_paramGetStatusesSince, "=", userStatus.Id));
            } else {
                userUrlGetStatuses = _urlGetStatuses.AppendQueryString(String.Concat(_paramGetStatusesCount, "=", _paramDataStatusesHistory));
            }
            // Create (INSERT) statue from XML.
            CreateStatus(userUrlGetStatuses.AppendQueryString(String.Concat(_paramGetStatusesUser, "=", userIds[i])));
            }
            // Remove (DELETE) extra statuses based on maximum length.
            RemoveStatuses(_paramDataStatusesHistory);
            // Submit data changes.
            _dbContext.SubmitChanges();
        }
Пример #2
0
        /// <summary>Run operation.</summary>
        public void Run(enumRun mode)
        {
            // Init database.
            _dbContext = new BaseDataContext(_dbConnectionString);
            if(!_dbContext.DatabaseExists()) {
            _dbContext.CreateDatabase();
            }

            // Get (SELECT) locations from database.
            var locations = GetLocations();
            int locationsLength = locations.Count();

            // Create (INSERT) default data to database.
            if(mode == enumRun.LoadData && (locations == null || locationsLength <= 0)) {
            locations = CreateLocationsDefault();
            Console.WriteLine("\nLoaded data successfully.");
            } else if(mode == enumRun.LoadData) {
            Console.WriteLine("\nCannot load data because it exists. If you want to try again, then you must either drop the database or delete all the records.");
            }

            // Process condition from each location.
            for(int i = 0;i < locationsLength;i += 1) {
            // Create (INSERT) condition from XML.
            CreateConditions(locations[i]);
            // Remove (DELETE) extra conditions based on maximum length.
            RemoveConditions(locations[i], _paramConditionHistory);
            }
            // Remove (DELETE) extra conditions based on maximum length.
            RemoveConditions(_paramConditionHistory);
            // Submit data changes.
            _dbContext.SubmitChanges();
        }