Esempio n. 1
0
        public virtual void Handle(
            LogUiV3 ui,
            string name,
            Do unsubscribe,
            Do subscribe)
        {
            var r = this.runner;

            r?.Run <UiReaderWriter, TimeProvider>(
                (uiRW, timeProvider) =>
            {
                const short daysToAdd = -6;
                var newEndDate        = timeProvider.Now().
                                        Date;
                var newStartDate = newEndDate
                                   .AddDays(daysToAdd);
                unsubscribe?.Invoke();

                uiRW.WriteSync(
                    ui,
                    () =>
                {
                    if (ui == null)
                    {
                        return;
                    }

                    ui.StartDate = newStartDate;
                    ui.EndDate   = newEndDate;
                });

                r.Run <LogStatisticsUi>(statsUi =>
                {
                    uiRW.Write(
                        statsUi,
                        () =>
                    {
                        if (statsUi == null)
                        {
                            return;
                        }

                        statsUi.StartDate = newStartDate;
                        statsUi.EndDate   = newEndDate;
                    });
                },
                                        name);

                subscribe?.Invoke();

                r.Run <EventRaiser>(raiser =>
                {
                    raiser.Raise(
                        ui,
                        nameof(ui.DateRangeChanged));
                });
            });
        }
Esempio n. 2
0
        public virtual void Handle(
            LogUiV3 ui,
            string name)
        {
            var r = this.runner;

            r?.Run <UiReaderWriter>(uiRW =>
            {
                uiRW.Write(
                    ui,
                    () =>
                {
                    ui?.ResetContentFilter();
                });
            });
        }
Esempio n. 3
0
        public virtual void Handle(
            LogUiV3 ui,
            string name)
        {
            var r = this.runner;

            r?.Run <UiReaderWriter, KeyPresser>(
                (uiRW, presser) =>
            {
                const string keySymbolToPress = @"{PGUP}";
                uiRW.Write(
                    ui,
                    () =>
                {
                    ui?.FocusEntries();
                    presser.Press(keySymbolToPress);
                });
            });
        }
        public virtual void Handle(
            LogUiV3 ui,
            string name,
            Do unsubscribe,
            Do subscribe)
        {
            var r = this.runner;
            r?.Run<UiReaderWriter>(uiRW =>
            {
                const short minusSeven = -7;
                var newStartDate = uiRW.Read(
                        ui,
                        () => ui?.StartDate)
                    ?.AddDays(minusSeven);
                var newEndDate = uiRW.Read(
                        ui,
                        () => ui?.EndDate)
                    ?.AddDays(minusSeven);

                unsubscribe?.Invoke();

                r.Run<TimeProvider>(provider =>
                {
                    var now = provider.Now();
                    var past = now.AddDays(minusSeven);

                    uiRW.WriteSync(
                        ui,
                        () =>
                        {
                            if (ui == null)
                            {
                                return;
                            }

                            ui.StartDate = newStartDate ?? past;
                            ui.EndDate = newEndDate ?? now;
                        });

                    r.Run<LogStatisticsUi>(statsUi =>
                        {
                            uiRW.Write(
                                statsUi,
                                () =>
                                {
                                    if (statsUi == null)
                                    {
                                        return;
                                    }

                                    statsUi.StartDate = newStartDate ?? past;
                                    statsUi.EndDate = newEndDate ?? now;
                                });
                        },
                        name);
                });

                subscribe?.Invoke();

                r.Run<EventRaiser>(raiser =>
                {
                    raiser.Raise(
                        ui,
                        nameof(ui.DateRangeChanged));
                });
            });
        }