private async void View_Zobraz(object sender, EventArgs e) { DateTime pocatek = View.Pocatek; DateTime konec = View.Konec; try { if (Form.ActiveForm != null) { Form.ActiveForm.Cursor = Cursors.AppStarting; } await zobrazHandler.HandleAsync(new ZobrazDataCommand(pocatek, konec)); } catch (ArgumentException ex) { errorDisplayService.Show(ex.Message); return; } catch (InvalidOperationException ex) when(ex.Message.Contains("nejsou k dispozici žádná data")) { errorDisplayService.Show(ex.Message); return; } catch (MissmatchedTemplateException ex) { errorDisplayService.Show(ex.Message); return; } finally { Form.ActiveForm.Cursor = Cursors.Arrow; } }
/// <summary> /// Uloží vybraná data do ASCII souboru. /// </summary> /// <exception cref="ArgumentException">Vyvolán ve chvíli, kdy jsou nýzvy sloupců <see cref="DataToASCIICommand.SloupceToASCII"/> neplatné, /// tedy se neshodují s daným <see cref="Session.RowTemplate"/>.</exception> public async Task HandleAsync(DataToASCIICommand command) { try { await InnerHandleAsync(command); } catch (Exception ex) { errorDisplayService.Show($"Neznámá chyba:\n{ex.Message}"); } }
/// <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 }); }
public void Handle(LoadRowTemplatesCommand command) { try { mainPresenter.LoadTemplates(templateFileReader.Read(command.Cesta)); } catch (FormatException ex) { errorDisplayService.Show(ex.Message); } catch (RowTemplateFileReadException ex) { errorDisplayService.Show(ex.Message); if (ex.Accepted.Count > 0) { mainPresenter.LoadTemplates(ex.Accepted); } } }
/// <inheritdoc/> /// <exception cref="ArgumentException">V případě, že při vytvoření nového <see cref="Session"/> nebyly specifikované soubory <see cref="NewSessionRequest.Soubory"/>.</exception> public void Handle(NewSessionRequest command) { try { InnerHandle(command); events.Publish(command); } catch (ArgumentException ex) { errorDisplayService.Show(ex.Message); } }