public async Task <TaskClient.Entity.Task[]> Info(Guid id) { var task = await TaskRepository.GetById(id); var responseTasks = new List <TaskClient.Entity.Task>(); foreach (var textId in task.TasksTexts.Select(i => i.TextId).Distinct()) { var responseTask = new TaskClient.Entity.Task(); responseTask.TextId = textId; var finds = new List <SingleFind>(); foreach (var taskText in task.TasksTexts.Where(i => i.TextId == textId)) { var singleFind = new SingleFind() { Matched = taskText.Count, Word = task.Words.First(i => i.Id == taskText.WordId).Text }; finds.Add(singleFind); } responseTask.Finds = finds.ToArray(); responseTasks.Add(responseTask); } return(responseTasks.ToArray()); }
public async Task <SingleFind[]> Find(Guid id, string[] words) { var text = await TextClient.GetById(id); var result = new List <SingleFind>(); foreach (string word in words) { int matches = text.TextValue.Split(word).Length - 1; var item = new SingleFind() { Word = word, Matched = matches }; result.Add(item); } return(result.ToArray()); }