Esempio n. 1
0
        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);
        }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 /// <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));
            }
        }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
        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));
                }
            }
        }
Esempio n. 11
0
        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);
            }
        }
Esempio n. 12
0
 public void UpdateStats(IStatsData stats)
 {
     throw new NotImplementedException();
 }
Esempio n. 13
0
 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;
 }
        /// <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);
        }