public async Task <ActionResult <List <int> > > RecommendMoviesIdByKeyword([FromHeader] string Authentification_Token, string keyword) { string response = null; try { client.DefaultRequestHeaders.Add("Authentification_Token", Authentification_Token); response = await client.GetStringAsync("http://localhost:5050/api/v2/users/verify_token"); } catch (HttpRequestException e) { Console.WriteLine("\nException Caught!"); Console.WriteLine("Message :{0} ", e.Message); } if (response != null) { string filteredKeyword = FilteringOperations.FilterKeyword(keyword); Console.WriteLine("Filtered Keyword: " + filteredKeyword); List <int> moviesIdTag = _context.MovieWithTags.Where(x => x.Tag.Replace(" ", "").ToLower().Contains(filteredKeyword) || filteredKeyword.Contains(x.Tag.Replace(" ", "").ToLower())) .Select(x => x.MovieId) .ToList(); List <int> moviesIdTitle = _context.Movies.Where(x => x.Title.Replace(" ", "").ToLower().Contains(filteredKeyword)).Select(x => x.Id).ToList(); Console.WriteLine("moviesTag count : " + moviesIdTag.Count + " moviesTitle count : " + moviesIdTitle.Count); List <int> recommendations = SearchOperations.RecommendMoviesIdByKeyword(Convert.ToInt32(response), moviesIdTag, moviesIdTitle); if (recommendations.Count == 0) { return(NoContent()); } else { return(recommendations); } } else { return(Unauthorized(new Error("Token has invalid signature or expired"))); } }
public void TestFilteredKeyword(string input, string expected) { string actual = FilteringOperations.FilterKeyword(input); Assert.Equal(actual, expected); }