protected override List <SourceWithTranslation> GetSourceWithTranslations(UserLanguages userLanguages, GroupForUser group) { var groupSentencesQuery = new GroupSentencesQuery(); List <SourceWithTranslation> result = groupSentencesQuery.GetSentencesByGroup(userLanguages, group.Id); return(result); }
protected override bool Create(GroupForUser groupForUser, string[] line, Language english, Language russian, byte[] image, int?rating) { IGroupSentencesQuery groupWordsQuery = new GroupSentencesQuery(); SourceWithTranslation sentenceWithTranslation = groupWordsQuery.GetOrCreate(groupForUser, CreateSentenceForUser(line[0], english), CreateSentenceForUser(line[1], russian), image, rating); bool isSuccess = sentenceWithTranslation != null; return(isSuccess); }
public void ConvertGroupSentences() { LoadLanguages(); IGroupsQuery groupsQuery = new GroupsQuery(_userLanguages.To.Id); Dictionary <long, string> visibleGroups = groupsQuery.GetVisibleGroups(GroupType.BySentence).ToDictionary( e => e.Id, e => e.Name); IGroupSentencesQuery groupSentencesQuery = new GroupSentencesQuery(); foreach (var visibleGroup in visibleGroups) { long groupId = visibleGroup.Key; if (!visibleGroups.ContainsKey(groupId)) { continue; } string groupName = visibleGroups[groupId]; string fileName = string.Format(@"C:\Projects\StudyLanguages\Источники для групп\Group\{0}\Xml\{1}.xml", _languageTo, groupName); if (File.Exists(fileName)) { Console.WriteLine("Группа \"{0}\" уже существует - пропустить", groupName); continue; } List <SourceWithTranslation> sentences = groupSentencesQuery.GetSentencesByGroup(_userLanguages, groupId); Console.WriteLine("Начали обрабатывать группу фраз \"{0}\"", groupName); SaveConvertedWords(fileName, sentences); } Console.WriteLine( "Переконвертировали группы с фразами. Воспользовались дополнительными словарями {0} раз", _translator.CountExtraCalls); }
protected override void Load() { IGroupSentencesQuery groupWordsQuery = new GroupSentencesQuery(); _sentencesForAllGroups = groupWordsQuery.GetForAllGroups(_userLanguages); }
internal List <SourceWithTranslation> GetSentencesByGroup(long groupId) { var sentencesQuery = new GroupSentencesQuery(); return(sentencesQuery.GetSentencesByGroup(_userLanguages, groupId)); }