Example #1
0
        public async void NewTweetPublished(string[] hashtags, DateTime d)
        {
            d = d.ToUniversalTime();
            DayStats ds = await _repository.GetDayStat(new DateTime(d.Year, d.Month, d.Day, 0, 0, 0));

            if (ds == null)
            {
                int[][] count = new int[24][];
                for (int i = 0; i < 24; i++)
                {
                    count[i] = new int[60];
                }
                count[d.Hour][d.Minute] = 1;

                DayStats new_ds = new DayStats()
                {
                    Date         = new DateTime(d.Year, d.Month, d.Day, 0, 0, 0),
                    TotalSamples = d.Hour * 60 + d.Minute,
                    TotalTweets  = 1,
                    Counters     = count
                };

                await _repository.AddDayStat(new_ds);
            }
            else
            {
                await _repository.UpdateDayStat(d);
            }

            return;
        }
Example #2
0
        public static async Task <IEnumerable <DayStats> > GetWeeklyData()
        {
            var response = await http.GetAsync("api/ShopSensor/ByDay");

            var content = await response.Content.ReadAsStringAsync();

            return(DayStats.FromJson(content));
        }
Example #3
0
 public async Task AddDayStat(DayStats item)
 {
     try
     {
         await _context.DayStats.InsertOneAsync(item);
     }
     catch (Exception ex)
     {
         // log or manage the exception
         throw ex;
     }
 }
    public void AddWorkRecord(WorkRecord record)
    {
        // Note: this method doesn't handle case when EndTime is next day
        var      date = record.StarTime.Date;
        DayStats dayStats;

        if (!_days.TryGetValue(date, out dayStats))
        {
            dayStats = new DayStats();
            _days.Add(date, dayStats);
        }
        dayStats.AddWorkRecord(record);
    }
Example #5
0
 public async Task <ReplaceOneResult> UpdateDayStat(string id, DayStats item)
 {
     try
     {
         return(await _context.DayStats
                .ReplaceOneAsync(n => n.Id.Equals(id)
                                 , item
                                 , new UpdateOptions { IsUpsert = true }));
     }
     catch (Exception ex)
     {
         // log or manage the exception
         throw ex;
     }
 }
Example #6
0
        public Stats()
        {
            var json = Input.GetInput(Input.InputMode.Embedded, "LeaderBoard.txt");

            var model = JsonConvert.DeserializeObject <LeaderBoardModel>(json);

            lastDay       = 0;
            personalStats = new List <PersonalStats>();
            foreach (var member in model.Members)
            {
                var memberDayStats = new List <DayStats>();
                foreach (var cdl in member.Value.completion_day_level)
                {
                    var dayStats = new DayStats()
                    {
                        Day = int.Parse(cdl.Key)
                    };
                    if (dayStats.Day > lastDay)
                    {
                        lastDay = dayStats.Day;
                    }
                    StarModel sm;

                    cdl.Value.TryGetValue("1", out sm);
                    if (sm != default(StarModel))
                    {
                        dayStats.finish1 = sm.get_star_ts;
                    }
                    cdl.Value.TryGetValue("2", out sm);
                    if (sm != default(StarModel))
                    {
                        dayStats.finish2 = sm.get_star_ts;
                    }

                    memberDayStats.Add(dayStats);
                }

                personalStats.Add(new PersonalStats()
                {
                    Name     = member.Value.Name,
                    DayStats = memberDayStats
                });
            }

            Print();
            Print2();
        }
Example #7
0
        public void CalculateStatistics()
        {
            // calculates the total GDP of the nation for that day
            float consumerGoods = Chocolates * CHOC_NEEDED + Phones *
                                  PHONE_NEEDED + Shirts * SHIRT_NEEDED; // CONSUMPTION
            float govSpending  = 0f;                                    // FISCAL POLICY AND GOVERNMENT SPENDING
            float capitalGoods = Factories * FACTORY_NEEDED + Trucks *
                                 TRUCK_NEEDED + Tools * TOOL_NEEDED;    // INVESTMENT
            float exports = 0f;                                         // IMPLEMENT TRADING
            float imports = 0f;                                         // IMPLEMENT IMPORTS
            float GDP     = consumerGoods + govSpending + capitalGoods + exports + imports;

            DayStats.Add(new DayInfo(Shirts, Chocolates, Phones, Factories, Trucks, Tools,
                                     Production, Population, Chocolates, Shirts,
                                     Phones, Factories, Trucks, Tools, TradeChocolates, TradeShirts,
                                     TradePhones, BoughtChocolates, BoughtShirts, BoughtPhones));
            Console.WriteLine(Population);
        }
Example #8
0
        public void Base()
        {
            var WEEKLY = new Table();

            WEEKLY.Children.Add(getHeader("Date"));
            var DAILY = new Table();

            DAILY.Children.Add(getHeader("Time"));

            var    folderPath = Path.Combine(Program.BASE_PATH, "internet");
            var    directory  = new DirectoryInfo(folderPath);
            var    files      = directory.GetFiles("*.csv");
            int    mustSkip   = files.Length - 7;
            int    i          = 0;
            string today      = DateTime.Now.ToString("yy-MM-dd");

            foreach (var file in files)
            {
                string date = file.Name.Replace(file.Extension, "");
                if (today == date)
                {
                    var diff       = DateTime.UtcNow - file.LastWriteTimeUtc;
                    int remainders = (int)diff.TotalMinutes % 60;
                    if (remainders >= 58)
                    {
                        var errPage = getPage(new Paragraph("Speed test is in progress, cannot load data; please check back in 5 minutes"));
                        RespondRaw(errPage, System.Net.HttpStatusCode.Conflict);
                        return;
                    }
                }
                var lines = File.ReadAllLines(file.FullName).Skip(1).ToList();
                var STATS = new DayStats(date);
                foreach (var line in lines)
                {
                    var    array = line.Split(',');
                    double dl    = double.Parse(array[1]) / 1024;
                    double ul    = double.Parse(array[2]) / 1024;
                    double pg    = double.Parse(array[3]);
                    if (date == today)
                    {
                        var row = new TableRow();
                        row.Children.Add(new TableHeader(DateTime.Parse(array[0]).ToShortTimeString()));
                        row.Children.Add(new TableData(dl.ToString("00.00")));
                        row.Children.Add(new TableData(ul.ToString("00.00")));
                        row.Children.Add(new TableData(pg.ToString("00")));
                        DAILY.Children.Add(row);
                    }
                    STATS.Add(dl, ul, pg);
                }
                if (i++ < mustSkip)
                {
                    continue;
                }
                WEEKLY.Children.Add(STATS.Row);
            }
            var page = getPage(new Paragraph("Average speeds across days."),
                               WEEKLY,
                               new Paragraph("Recorded speeds today"),
                               DAILY);

            RespondRaw(page.ToString(), 200);
        }