Exemplo n.º 1
0
 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);
     }));
 }
Exemplo n.º 2
0
        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);
                    }
                }
            }
        }
Exemplo n.º 3
0
        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);
                    }
                }
                                          );
            }
        }
Exemplo n.º 4
0
        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))));
        }