public LibraryPagePresenterImpl(IMainThreadExecutor mainThreadExecutor, ILog log, IConfiguration configuration, SearchLibraryRequestUseCase searchLibraryRequestUseCase, AddToFavoriteUseCase addToFavoriteUseCase) { MainThreadExecutor = mainThreadExecutor; Log = log; Configuration = configuration; SearchLibraryRequestUseCase = searchLibraryRequestUseCase; AddToFavoriteUseCase = addToFavoriteUseCase; SearchQueryDelaySubmitTimer = new Timer(Configuration.SearchQuerySubmitDelay); SearchQueryDelaySubmitTimer.AutoReset = false; SearchQueryDelaySubmitTimer.Elapsed += (s, e) => MainThreadExecutor.Execute(() => OnViewRefreshRequested()); }
private void OnRequestsQueueImageReceived(object target, byte[] data) { var view = (target as IPictureView); try { MainThreadExecutor.Execute(() => { try { view.SetImageBytes(data); } catch (Exception e) { ProcessException(e); } }); } catch (Exception e) { ProcessException(e); } }
private void HandleError(Exception e) { Log.Error(GetType().Name, e.Message); MainThreadExecutor.Execute(() => View?.ShowMessage(Strings.CommonError, Strings.CommonErrorUnableToProcessRequest)); }