private async Task <IActionResult> GetBlueprints([FromBody] BrowseBlueprintsInputModel inputModel, string searchTerm, int page = 1) { if (page <= 0) { return(this.BadRequest()); } // Default behavior is show all types. if (inputModel is null || !inputModel.Types.Any()) { inputModel = await this.DefaultInputModel(); } int count; IEnumerable <BlueprintListingModel> blueprints; if (string.IsNullOrWhiteSpace(searchTerm)) { (count, blueprints) = await this.blueprintsService .GetBlueprintsPageAsync <BlueprintListingModel>(inputModel.Types, page); } else { (count, blueprints) = await this.blueprintsService .SearchAsync <BlueprintListingModel>(inputModel.Types, searchTerm, page); } var model = new BrowseBlueprintsModel() { Count = count, Blueprints = blueprints, }; return(this.Ok(model)); }
public async Task <BrowseBlueprintsModel> SearchBlueprintsAsync(BrowseBlueprintsInputModel model, string searchTerm, int page = 1) { var result = await this.httpClient.PostAsJsonAsync($"api/blueprints/search/{searchTerm}/page/{page}", model); if (!result.IsSuccessStatusCode) { return(null); } return(await result.Content.ReadFromJsonAsync <BrowseBlueprintsModel>()); }
public async Task <IActionResult> Search([FromBody] BrowseBlueprintsInputModel inputModel, string searchTerm, int page = 1) => await this.GetBlueprints(inputModel, searchTerm, page);
public async Task <IActionResult> BrowseBlueprints([FromBody] BrowseBlueprintsInputModel inputModel, int page = 1) => await this.GetBlueprints(inputModel, null, page);