예제 #1
0
        private void Compute(StatisticEnum stat_enum, bool force = false)
        {
            if (!_isComputed || force)
            {
                DateTime dtComputeEnd = _netInfo.IsMonitoring ? DateTime.Now : StopTime;
                string   sSpan        = TimeSpanAsString(dtComputeEnd.Subtract(StartTime));

                // Return number of disconnections in elapsed time
                if (stat_enum == StatisticEnum.StatAll || stat_enum == StatisticEnum.StatCountIn)
                {
                    _dicStats[StatisticEnum.StatCountIn] = string.Format(GetStatStringFormat(StatisticEnum.StatCountIn),
                                                                         DisconnectionsCount, sSpan);
                }

                if (stat_enum == StatisticEnum.StatAll || stat_enum == StatisticEnum.StatAvgHour)
                {
                    //_dicStats[StatisticEnum.StatAvgHour] = string.Format(
                    //  GetStatStringFormat(StatisticEnum.StatAvgHour), "[TODO]");
                }

                if (stat_enum == StatisticEnum.StatAll)
                {
                    // only if we computed all and not monitoring anymore, we set _isComputed = true
                    if (!_netInfo.IsMonitoring)
                    {
                        _isComputed = true;
                    }
                }
            }
        }
예제 #2
0
        public string Get(StatisticEnum stat_enum, string seperator = "\n")
        {
            Compute(stat_enum);

            if (stat_enum == StatisticEnum.StatAll)
            {
                // return all statistics
                return(string.Join(seperator, _dicStats.Values));
            }

            // return requested statistics
            return(_dicStats[stat_enum]);
        }
예제 #3
0
 public int GetStatistic(StatisticEnum statistic)
 {
     return(_statistics[statistic].Value);
 }
예제 #4
0
 public void IncrementStatistic(StatisticEnum statistic)
 {
     _statistics[statistic].IncrementValue();
 }
예제 #5
0
 /// <summary>
 /// Return the string format from Resource according to requested statistics
 /// </summary>
 /// <param name="stat_enum"></param>
 /// <returns></returns>
 private string GetStatStringFormat(StatisticEnum stat_enum)
 {
     return(Resources.ResourceManager.GetString($"STAT_{stat_enum}"));
 }
예제 #6
0
 public Origin(string name, StatisticEnum statstic, int skill)
 {
     this.name     = name;
     this.statstic = statstic;
     this.skill    = skill;
 }