public async Task <IActionResult> OnGet(string boardKey, string filter, CancellationToken cancellationToken, int pageNumber = 1) { EnsureArg.IsNotNull(boardKey, nameof(boardKey)); this.Filter = filter; var filterOption = NullableMapper.ToOption(filter); var t = await this.threadService.GetOrderedThreads(boardKey, filterOption, 100, pageNumber, cancellationToken); return(t.Match(ts => { this.Threads = ts; this.Thread = new AddThread(ts.Board.Id, cookieStorage.ReadName(this.Request), string.Empty, string.Empty, string.Empty, null); return Page().ToIAR(); }, () => new NotFoundResult().ToIAR())); }