public List <PhraseModel> GetPhrases(GetPhrasesRequest request) { using (var client = new ApiServiceClient()) { var response = client.GetPhrase(request); return(response.Phrases == null ? new List <PhraseModel>() : response.Phrases.ToList().Select(x => x.PreparePhrase()).Select(x => x.ToModel()).ToList()); } }
/// <summary> /// Pobiera 5 pierwszych (lub 6-10) frazy pasujące do słowa kluczowego. /// </summary> public GetPhrasesResponse GetPhrase(GetPhrasesRequest request) { var response = new GetPhrasesResponse(); using (var ctx = new TypeFineContext()) { //SaveInfo(request, ctx, RequestType.GetPhrase, true); var phrases = ctx.TheAlgorithm(request.Keyword).ToList(); if (phrases.Count() == 1) { response.Phrases = phrases.Select(x => new ContractPhrase { Keyword = request.Keyword, Comment = x.Comment, Right = x.Value }).ToList(); } if (request.Skip) { response.Phrases = phrases.Skip(5).Select(x => new ContractPhrase { Keyword = request.Keyword, Comment = x.Comment, Right = x.Value }).ToList(); } else { response.Phrases = phrases.Take(5).Select(x => new ContractPhrase { Keyword = request.Keyword, Comment = x.Comment, Right = x.Value }).ToList(); } } return(response); }