/// <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(); }
/// <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(); }