Пример #1
0
        /// <summary>
        /// Není-li požadovaný interval hodnot pro zobrazení podmnožinou již načtených data,
        /// dojde k aktualizaci dostupných dat pomocí <see cref="ILogDataUpdater"/>.
        /// Posléze jsou žádaná data předána presenteru, který zodpovídá za zobrazování dat (<see cref="Presenters.Presenter{TView}"/>).
        /// </summary>
        /// <param name="command"></param>
        /// <returns></returns>
        public async Task HandleAsync(ZobrazDataCommand command)
        {
            Session session = sessionManager.Current;

            if (session == null)
            {
                errorDisplayService.Show("Doposud nebyla zahájena session. Session začnete, nahráním souborů.");
                return;
            }
            // Hodnoty typu DateTime
            var staryPocatek = sessionManager.Current.Data?.Pocatek;
            var staryKonec   = sessionManager.Current.Data?.Konec;
            var novyPocatek  = command.Pocatek;
            var novyKonec    = command.Konec;

            try
            {
                if (staryPocatek > novyPocatek || novyKonec > staryKonec || staryPocatek == null || staryKonec == null)
                {
                    await logDataUpdater.Update(novyPocatek, novyKonec);
                }
            }
            catch (ProcesEndedByUserException) { return; }

            events.Publish <ZobrazDataRequest>(new ZobrazDataRequest()
            {
                Pocatek = novyPocatek, Konec = novyKonec
            });
        }
Пример #2
0
        public async Task Update_PocatekJeVetsiJakKonec_VyhodiError()
        {
            // Arrange
            DateTime pocatek = DateTime.Parse("11.5.2020 6:42:55");
            DateTime konec   = DateTime.Parse("11.5.2020 6:41:5");

            // Act
            Func <Task> action = async() => await logDataUpdater.Update(pocatek, konec);

            // Assert
            var ex = await Assert.ThrowsAsync <ArgumentException>(action);

            Assert.Contains("Hodnota počátku časového intervalu musí být menší než hodnota konce.", ex.Message);
        }