public async Task <IActionResult> Index(string searchText) { if (string.IsNullOrWhiteSpace(searchText)) { return(View()); } var request = new SearchRequest() { SearchText = searchText }; await _context.SearchRequests.AddAsync(request); await _context.SaveChangesAsync(); var res = _searchManager.Search(searchText); if (!res.IsOk || res.Value == null) { _logger.LogInformation(res.ErrorMessage); return(View("Index", new SearchResponseDto() { HasError = true, Error = res.ErrorMessage })); } res.Value.SearchRequestId = request.Id; await _context.SearchResponses.AddAsync(res.Value); await _context.SaveChangesAsync(); var resultDto = _mapper.Map <SearchResponseDto>(res.Value); var searchSystem = await _context.SearchSystems.FindAsync(res.Value?.SearchSystemId); resultDto.SearchSystem = searchSystem?.SystemName ?? resultDto.SearchSystem; return(View("Index", resultDto)); }
public async Task SaveChangesAsync() { await _context.SaveChangesAsync(); }