public EncryptedList <StatisticsItem> GetStatistics(DateTime since, DateTime to, Encrypted <StatisticsScenarioInfo> encryptedInfo) { return(Handle((user) => { var info = encryptedInfo.Decrypt(_secretKey); return new EncryptedList <StatisticsItem>(StatisticsManager.GetItems(info, since, to, new ScenarioActionSource(user, ScenarioStartupSource.Network, ScenarioAction.ViewValue)), _secretKey); })); }
private async Task Refresh() { if (_currentView == null) { AppendView(new DiagramView()); } else { var dateSince = datesRangeView.DateSelectionItem.Start; var dateTo = datesRangeView.DateSelectionItem.End; using (MessageView.ShowLoad("Загрузка информации о статистике...")) { try { var registrationInfo = await StatisticsManager .GetRegistrationInfo( ScenariosRepository .Scenarios .Where(z => _filter.All || (_filter.ScenariosIds?.Contains(z.Id) ?? false)) .ToArray()); var statisticScenariosInfos = await Task.WhenAll( ScenariosRepository .Scenarios .Where(x => (x.GetIsAvailable() || !(x is RemoteScenario)) && registrationInfo.IsRegistered(x.Id)) .Select(x => StatisticsManager.GetStatisticsInfoForScenario(x, SystemActionSource))); var items = await Task.WhenAll( statisticScenariosInfos .Select(x => StatisticsManager.GetItems(x, dateSince, dateTo, SystemActionSource))); _currentView.RefreshItems(items, dateSince, dateTo); } catch (Exception e) { Log.Error("Ошибка во время загрузки статистики", e); } } } }
private void Refresh() { if (_currentView == null) { AppendView(new DiagramView()); } else { var dateSince = datesRangeView.DateSelectionItem.Start; var dateTo = datesRangeView.DateSelectionItem.End; StuckUILoadingWindow.Show("Загрузка информации...", () => { try { var registrationInfo = StatisticsManager .GetRegistrationInfo( ScenariosRepository .Scenarios .Where(z => _filter.All || (_filter.ScenariosIds?.Contains(z.Id) ?? false)) .ToArray()); var items = ScenariosRepository .Scenarios .Where(x => registrationInfo.IsRegistered(x.Id)) .Select(x => StatisticsManager.GetStatisticsInfoForScenario(x, SystemActionSource)) .SelectMany(x => StatisticsManager.GetItems(x, dateSince, dateTo, SystemActionSource)) .OrderByDescending(x => x.DateTime) .ToArray(); _currentView.RefreshItems(items, dateSince, dateTo); } catch (Exception e) { Log.Error("Ошибка во время загрузки статистики", e); } } ); } }
public ScenarioStatistic GetStatistics(DateTime since, DateTime to, StatisticsScenarioInfo info) { var user = GetCurrentUser(); return(TaskUtils.Wait(StatisticsManager.GetItems(info, since, to, new ScenarioActionSource(user, ScenarioStartupSource.Network, ScenarioAction.ViewValue)))); }