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); }
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); } } }