public async Task <IActionResult> RunQuery([FromBody] RunQueryRequest request) { try { CheckRunQueryRequestValidity(request); var user = await userManager.GetUserAsync(HttpContext.User); var userId = user == null ? Guid.Empty : user.Id; var userName = user == null ? null : user.UserName; var excludedTags = (request.ExcludedTags.Count() == 1 && request.ExcludedTags.First() == allTagsFakeGuid) ? null : request.ExcludedTags; var applicationRequest = new SearchCards.Request(request.Deck, request.DeckIsInclusive, request.Heap, request.PageNo, request.PageSize, request.RequiredText, request.RequiredTags, excludedTags, request.Visibility, request.RatingFilteringMode, request.RatingFilteringValue, request.NotificationFiltering); var applicationResult = new SearchCards(dbContext).Run(applicationRequest, userId); var result = new RunQueryViewModel(applicationResult, userName, localizer, decksControllerLocalizer); return(base.Ok(result)); } catch (SearchResultTooBigForRatingException) { return(ControllerError.BadRequest(localizer["SearchTooBigForRatingFiltering"].Value, this)); } catch (Exception e) { return(ControllerError.BadRequest(e, this)); } }
public void SearchByName(string name) { var service = new SearchCards(); var result = service.SearchByName(name); var card = result.Value.FirstOrDefault(); Assert.True(result.IsSuccess); Assert.Equal(name, card.Name); }
public void SearchBySet(string set) { var service = new SearchCards(); var result = service.SearchBySet(set); var card = result.Value.FirstOrDefault(); Assert.True(result.IsSuccess); Assert.Equal(set, card.SetName); }
private void Btn_search_Click(object sender, EventArgs e) { SearchCards?.Invoke(txtbox_search.Text); }