Пример #1
0
        private void fill(ClientsInfo result)
        {
            if (chkFilter.Checked)
            {
                filterLocal(result);
            }
            if (chkRemoveOld.Checked)
            {
                filterOld(result, txtOldDays.Value);
            }
            txtTodayEntries.Text = result.GetEntriesForDay(DateTime.UtcNow).Count.ToString();
            txtTodayUsers.Text   = result.GetUsersForDay(DateTime.UtcNow).Count.ToString();
            txtEntriesCount.Text = result.Clients.Count.ToString();
            var uniqueInstances = result.GetUniqueUsers();

            txtUsersNumber.Text     = uniqueInstances.Count.ToString();
            txtUniqueInstances.Text = result.GetUniqueInstances().Count.ToString();
            txtFullVersion.Text     = result.GetFullVersionCount().ToString();
            fillInstanceTab(uniqueInstances);
            fillAllTab(result);
            fillRaports();
            fillPlatforms();
            fillPaid(result);
            fillOS(result, chkOsDetailed.Checked);
        }
Пример #2
0
        private void filterOld(ClientsInfo result, decimal value)
        {
            var instances = result.GetUniqueInstances();
            var list      = (from i in instances
                             where ((DateTime.Now - i.Value.Max(t => t.Date)).TotalDays > (double)value)
                             select i).ToDictionary(t => t.Key);

            for (int i = result.Clients.Count - 1; i >= 0; i--)
            {
                if (list.ContainsKey(result.Clients[i].InstanceId) && (!result.Clients[i].Version.StartsWith("Full") || result.Clients[i].Version == "Full 1.0.0"))
                {
                    result.Clients.RemoveAt(i);
                }
            }
        }