private void ReadStatistics() { try { IEnumerable <string> lines = from line in File.ReadLines(StatFile) where !string.IsNullOrEmpty(line) select line; foreach (string line in lines) { IStatsData stats = ParseLine(line.Trim()); stats.RecordTime = DateTime.Now; stats.GameFileID = GameFile.GameFileID.Value; if (!m_statistics.Contains(stats)) { m_statistics.Add(stats); NewStastics?.Invoke(this, new NewStatisticsEventArgs(stats)); } } } catch (FileNotFoundException) { //m_errors.Add(string.Format("The file {0} was not found and could not be parsed.", ex.FileName)); } }
public void InsertStats(IStatsData stats) { List <DbParameter> parameters; string insert = InsertStatement("Stats", stats, new string[] { "StatID", "SaveFile" }, out parameters); DataAccess.ExecuteNonQuery(insert, parameters); }
public void UpdateStats(IStatsData stats) { string query = @"update Stats set SourcePortID = @SourcePortID where StatID = @StatID"; List <DbParameter> parameters = new List <DbParameter>(); parameters.Add(DataAccess.DbAdapter.CreateParameter("SourcePortID", stats.SourcePortID)); parameters.Add(DataAccess.DbAdapter.CreateParameter("StatID", stats.StatID)); DataAccess.ExecuteNonQuery(query, parameters); }
public StatsBind(string map, string kills, string secrets, string items, TimeSpan time, DateTime recordtime, string sourceport, IStatsData statsdatasource) { MapName = map; FormattedKills = kills; FormattedSecrets = secrets; FormattedItems = items; FormattedTime = time; RecordTime = recordtime; SourcePort = sourceport; StatsData = statsdatasource; }
public override bool Equals(object obj) { IStatsData stats = obj as IStatsData; if (stats != null) { return(GameFileID == stats.GameFileID && KillCount == stats.KillCount && TotalKills == stats.TotalKills && SecretCount == stats.SecretCount && TotalSecrets == stats.TotalSecrets && ItemCount == stats.ItemCount && TotalItems == stats.TotalItems && LevelTime == stats.LevelTime && MapName.ToLower() == stats.MapName.ToLower()); } return(false); }
public bool Delete() { if (dgvMain.SelectedRows.Count > 0 && MessageBox.Show(this, "Delete selected statistic(s)?", "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.OK) { foreach (DataGridViewRow row in dgvMain.SelectedRows) { IStatsData stats = GetStatsFromGridRow(row); DataSourceAdapter.DeleteStats(stats.StatID); } return(true); } return(false); }
/// <summary> /// Initializes the performance counters. /// </summary> private void InitializePerformanceCounters() { AverageExecutionTime = CreateStatsData(TaskManagerInstaller.COUNTER_AVERAGE_TASK_TIME); AverageLagTime = CreateStatsData(TaskManagerInstaller.COUNTER_AVERAGE_TASK_LAG); BaseAverageExecutionTime = CreateStatsData(TaskManagerInstaller.BASE_COUNTER_AVERAGE_TASK_TIME); BaseAverageLagTime = CreateStatsData(TaskManagerInstaller.BASE_COUNTER_AVERAGE_TASK_LAG); ErrorsPerSecond = CreateStatsData(TaskManagerInstaller.COUNTER_EXCEPTIONS_PER_SECOND); MaxThreads = CreateStatsData(TaskManagerInstaller.COUNTER_MAX_THREADS); ScheduledTasks = CreateStatsData(TaskManagerInstaller.COUNTER_SCHEDULED_TASKS); SpawnedThreads = CreateStatsData(TaskManagerInstaller.COUNTER_SPAWNED_THREADS); Tasks = CreateStatsData(TaskManagerInstaller.COUNTER_TASKS); TasksRunning = CreateStatsData(TaskManagerInstaller.COUNTER_RUNNING_TASKS); TimeoutsPerSecond = CreateStatsData(TaskManagerInstaller.COUNTER_TIMEOUTS_PER_SECOND); TotalExceptions = CreateStatsData(TaskManagerInstaller.COUNTER_EXCEPTIONS); TotalTimeouts = CreateStatsData(TaskManagerInstaller.COUNTER_TIMEOUTS); }
private void ReadStatistics() { try { string statRegex = @"#+\w+#+Time:\d+:\d+.\d+Kills:\d+/\d+#+Items:\d+/\d+Secrets:\d+/\d+"; string text = File.ReadAllText(StatFile); text = text.Replace(" ", string.Empty).Replace(Environment.NewLine, string.Empty); MatchCollection matches = Regex.Matches(text, string.Format(statRegex), RegexOptions.Singleline); foreach (Match match in matches) { IStatsData stats = null; if (match.Success) { stats = ParseLine(match.Value); } if (stats != null) { stats.RecordTime = DateTime.Now; stats.GameFileID = GameFile.GameFileID.Value; if (!m_statistics.Contains(stats)) { m_statistics.Add(stats); if (NewStastics != null) { NewStastics(this, new NewStatisticsEventArgs(stats)); } } } } //if (matches.Count == 0) // m_errors.Add(string.Format("The file {0} did not contain any statistics information.", StatFile)); } catch (FileNotFoundException) { //m_errors.Add(string.Format("The file {0} was not found and could not be parsed.", ex.FileName)); } catch (Exception ex) { m_errors.Add(string.Format("Unexpected exception: {0}{1}{2}", ex.Message, Environment.NewLine, ex.StackTrace)); } }
public void SetStatistics(IEnumerable <IStatsData> stats) { StatsData statTotal = new StatsData(); foreach (IStatsData stat in stats) { statTotal.KillCount += stat.KillCount; statTotal.TotalKills += stat.TotalKills; statTotal.SecretCount += stat.SecretCount; statTotal.TotalSecrets += stat.TotalSecrets; statTotal.ItemCount += stat.ItemCount; statTotal.TotalItems += stat.TotalItems; statTotal.LevelTime += stat.LevelTime; } m_stats = statTotal; }
private void ReadStatistics() { try { string text = GetCleanedFileText(); MatchCollection matches = Regex.Matches(text, m_statRegex, RegexOptions.Singleline); foreach (Match match in matches) { IStatsData stats = null; if (match.Success) { stats = ParseLine(match.Value); } if (stats != null) { stats.RecordTime = DateTime.Now; stats.GameFileID = GameFile.GameFileID.Value; //Revived monsters adds to kill count if (stats.KillCount > stats.TotalKills) { stats.KillCount = stats.TotalKills; } if (!m_statistics.Contains(stats)) { m_statistics.Add(stats); NewStastics?.Invoke(this, new NewStatisticsEventArgs(stats)); } } } } catch (Exception ex) { if (ErrorOnFail) { m_errors.Add(string.Format("Unexpected exception: {0}{1}{2}", ex.Message, Environment.NewLine, ex.StackTrace)); } } }
void m_statsReader_NewStastics(object sender, NewStatisticsEventArgs e) { if (e.Statistics != null && m_currentPlayFile != null && m_currentPlayFile.GameFileID.HasValue) { e.Statistics.MapName = e.Statistics.MapName.ToUpper(); e.Statistics.GameFileID = m_currentPlayFile.GameFileID.Value; e.Statistics.SourcePortID = m_currentPlayForm.SelectedSourcePort.SourcePortID; if (e.Update) { IStatsData stats = DataSourceAdapter.GetStats(e.Statistics.GameFileID).LastOrDefault(x => x.MapName == e.Statistics.MapName); if (stats != null) { DataSourceAdapter.DeleteStats(stats.StatID); } } DataSourceAdapter.InsertStats(e.Statistics); } }
public void UpdateStats(IStatsData stats) { throw new NotImplementedException(); }
public void InsertStats(IStatsData stats) { throw new NotImplementedException(); }
public NewStatisticsEventArgs(IStatsData stats) { Statistics = stats; Update = false; }
public NewStatisticsEventArgs(IStatsData stats, bool update) { Statistics = stats; Update = update; }