public void StartInitialization() { DataBase = App.MainDbContext;// ViewModelLocator.Instance.DataBase; InitializeSpeechParts(); //InitializeFrequencyDictionary(); //LearningWordStrategy_Initialization(); }
public ReferencesToWord_ViewModel_WPF( ILogger Logger_, INavigationService NavigationService_, EFDbContext EFDbContext_, IDialogService DialogService_, ILocalization Tx_ ) : base(Logger_,NavigationService_,EFDbContext_,DialogService_,Tx_) { }
public ReferencesToWord_ViewModel( ILogger Logger_, INavigationService NavigationService_, EFDbContext EFDbContext_, IDialogService DialogService_, ILocalization Tx_ ) { if (!IsInDesignMode) { Logger = Logger_; NavigationService = NavigationService_; EFDbContext =EFDbContext_; DialogService = DialogService_; Tx = Tx_; CommandDispatcher = new MvxCommand<string>(CmdDispatcher); References = new ObservableCollection<ReferenceToWordOfDictionary>(); } ClearButton = new ButtonModel(); if (IsInDesignMode) { Word = new WordOfDictionary { word_of_dictionary = "I'm" }; LearningItem li1 = new LearningItem { Name = "Mazzy collection" }; LearningItem li2 = new LearningItem { Name = "Futurama season 1" }; Subtitles st1 = new Subtitles { Name = "English - Russian" }; Subtitles st2 = new Subtitles { Name = "English - Ukraine" }; References = new ObservableCollection<ReferenceToWordOfDictionary>() { new ReferenceToWordOfDictionary {LearningItem = li1, Subtitles = st1,SubtitleItem = new SubtitleItem { Text = "I'm Mazzy"},WordOfSubtitleItem = new WordOfSubtitleItem { word = "I'm"} }, new ReferenceToWordOfDictionary {LearningItem = li1, Subtitles = st1, SubtitleItem = new SubtitleItem { Text = "I am princess Sylvia" } ,WordOfSubtitleItem = new WordOfSubtitleItem { word = "I am"}}, new ReferenceToWordOfDictionary {LearningItem = li2, Subtitles = st2, SubtitleItem = new SubtitleItem { Text = "I'm Nibbler" } ,WordOfSubtitleItem = new WordOfSubtitleItem { word = "I'm"}} }; } }
public List<WordOfSubtitleItem> FindReferences(EFDbContext dbContext) => dbContext.Query(new QueryBuilder<WordOfSubtitleItem>(dbContext) {Where = $"{nameof(WordOfSubtitleItem.word_of_dictionary_id)} = {id.Hex}"});
EFDbConnect CreateDemoBase(string db_name) { string path = PathToDb(db_name); if (File.Exists(path)) { File.Delete(path); } ILogger ILoggerMock = Mock.Of<ILogger>(); ISQLitePlatform platf = new SQLitePlatformWin32(); EFDbConnect EFDbConnect = new EFDbConnect(platf, path); EFDbContext ctx = new EFDbContext(EFDbConnect); LearningItem li1 = new LearningItem(); li1.Name = "First"; ctx.AddNewItemToDBContext(li1); LearningItem li2 = new LearningItem(); li2.Name = "Second"; ctx.AddNewItemToDBContext(li2); // Audio tracks AudioTrack at1 = new AudioTrack(); li1.AudioTracks.Add(at1); AudioTrack at2 = new AudioTrack(); li1.AudioTracks.Add(at2); AudioTrack at3 = new AudioTrack(); li2.AudioTracks.Add(at3); // Frequency dictionary FrequencyDictionary fd1 = new FrequencyDictionary(); FrequencyDictionary fd2 = new FrequencyDictionary(); FrequencyDictionary.Item fdi1 = new FrequencyDictionary.Item(); fd1.Items.Add(fdi1); FrequencyDictionary.Item fdi2 = new FrequencyDictionary.Item(); fd1.Items.Add(fdi2); FrequencyDictionary.Item fdi3 = new FrequencyDictionary.Item(); fd2.Items.Add(fdi3); FrequencyDictionary.Item fdi4 = new FrequencyDictionary.Item(); fd2.Items.Add(fdi4); // Languages Language lang1 = new Language(); lang1.FrequencyDictionary = fd1; Language lang2 = new Language(); lang2.FrequencyDictionary = fd2; Subtitles sub1 = new Subtitles(); li1.SubtitleCollection.Add(sub1); sub1.SecondaryLanguage = lang1; Subtitles sub2 = new Subtitles(); li1.SubtitleCollection.Add(sub2); SubtitleItem si1 = new SubtitleItem(); sub1.Items.Add(si1); SubtitleItem si2 = new SubtitleItem(); sub1.Items.Add(si2); SubtitleItem si3 = new SubtitleItem(); sub2.Items.Add(si3); SubtitleItem si4 = new SubtitleItem(); sub2.Items.Add(si4); Subtitles sub3 = new Subtitles(); li2.SubtitleCollection.Add(sub3); sub3.SecondaryLanguage = lang2; SubtitleItem si5 = new SubtitleItem(); sub3.Items.Add(si5); WordOfSubtitleItem sw1 = new WordOfSubtitleItem(); si1.WordsCollection.Add(sw1); WordOfSubtitleItem sw2 = new WordOfSubtitleItem(); si1.WordsCollection.Add(sw2); WordOfSubtitleItem sw3 = new WordOfSubtitleItem(); si5.WordsCollection.Add(sw3); // Dictionary Dictionary dic1 = new Dictionary(); ctx.AddNewItemToDBContext(dic1); WordOfDictionary wd1 = new WordOfDictionary(); dic1.Words.Add(wd1); TranslationOfWord tw1 = new TranslationOfWord(); wd1.translations.Add(tw1); TranslationOfWord tw2 = new TranslationOfWord(); wd1.translations.Add(tw2); WordOfDictionary wd2 = new WordOfDictionary(); dic1.Words.Add(wd2); sw1.word_of_dictionary = wd1; sw2.word_of_dictionary = wd2; Dictionary dic2 = new Dictionary(); ctx.AddNewItemToDBContext(dic2); WordOfDictionary wd3 = new WordOfDictionary(); dic1.Words.Add(wd3); WordOfDictionary wd4 = new WordOfDictionary(); dic1.Words.Add(wd4); sw3.word_of_dictionary = wd3; ctx.SaveChanges(); return EFDbConnect; }
public SubtitleEditor_ViewModel_WPF( IPlayer player_, IDialogService DialogService_, INavigationService NavigationService_, ObservableCollection<Language> languages_, ILogger logger, EFDbContext efDbcontext ) { if (!IsInDesignModeNet()) { Player = player_; DialogService = DialogService_; NavigationService = NavigationService_; Languages = languages_; Logger = logger; EFDbContext = efDbcontext; SubGrid_PhrasesForDictionary_ContextMenu_AddTranslating_Command = new MvxCommand<WordOfSubtitleItem>(x=> SubGrid_PhrasesForDictionary_Cmd(x, "AddTranslating")); SubGrid_PhrasesForDictionary_ContextMenu_MarkTranslation_Command = new MvxCommand<WordOfSubtitleItem>(x=> SubGrid_PhrasesForDictionary_Cmd(x, "MarkTranslation")); SubGrid_PhrasesForDictionary_ContextMenu_EditWord_Command = new MvxCommand<WordOfSubtitleItem>(x=> SubGrid_PhrasesForDictionary_Cmd(x,"EditWord")); SubGrid_PhrasesForDictionary_ContextMenu_EditTranslation_Command = new MvxCommand<WordOfSubtitleItem>(x=> SubGrid_PhrasesForDictionary_Cmd(x,"EditTranslation")); SubGrid_PhrasesForDictionary_ContextMenu_DeleteWord_Command = new MvxCommand<WordOfSubtitleItem>(x=> SubGrid_PhrasesForDictionary_Cmd(x,"DeleteWord")); SubGrid_PhrasesForDictionary_ContextMenu_AddToWordRulesList_Command = new MvxCommand<WordOfSubtitleItem>(x=> SubGrid_PhrasesForDictionary_Cmd(x,"AddToWordRulesList")); Dictionary_DataGrid_ContextMenu_Open_Command = new MvxCommand<WordOfDictionary>(x=>Dictionary_DataGrid_ContextMenu_Dispatcher(x,"OpenItem")); Dictionary_DataGrid_ContextMenu_Delete_Command = new MvxCommand<WordOfDictionary>(x=>Dictionary_DataGrid_ContextMenu_Dispatcher(x,"DeleteItem")); Dictionary_DataGrid_ContextMenu_Ref_Command = new MvxCommand<WordOfDictionary>(x=>Dictionary_DataGrid_ContextMenu_Dispatcher(x,"RefItem")); GridPlay_Command = new MvxCommand<SubtitleItem>((x)=>Grid_CommandDispatcher(x,"Play")); GridTimeStartTuningRight_Command = new MvxCommand<SubtitleItem>((x) => Grid_CommandDispatcher(x, "TimeStartTuningRight")); GridTimeStartTuningLeft_Command = new MvxCommand<SubtitleItem>((x) => Grid_CommandDispatcher(x, "TimeStartTuningLeft")); GridTimeEndTuningRight_Command = new MvxCommand<SubtitleItem>((x) => Grid_CommandDispatcher(x, "TimeEndTuningRight")); GridTimeEndTuningLeft_Command = new MvxCommand<SubtitleItem>((x) => Grid_CommandDispatcher(x, "TimeEndTuningLeft")); GridAddRow_Command = new MvxCommand<SubtitleItem>(x => Grid_CommandDispatcher(x, "AddRow")); GridDeleteRow_Command = new MvxCommand<SubtitleItem>(x => Grid_CommandDispatcher(x, "DeleteRow")); GridSplitRow_Command = new MvxCommand<SubtitleItem>(x => Grid_CommandDispatcher(x, "SplitRow")); GridExtractsWords_Command = new MvxCommand<SubtitleItem>(x => Grid_CommandDispatcher(x, "ExtractsWords")); GridTranslateWords_Command = new MvxCommand<SubtitleItem>(x => Grid_CommandDispatcher(x, "TranslateWords")); GridCommandDispatcher = new MvxCommand<string>(GirdCmdDispatcher); CommandDispatcher = new MvxCommand<string>(CmdDispatcher); Menu_Command = new MvxCommand<string>(MenuDispatcher); } PlayerVisibility = VisualState.Visible; if (IsInDesignModeNet()) { PopulateDesignMode(); } System.Windows.WeakEventManager wbm; }
public void DeleteWord(WordOfDictionary wrd,EFDbContext context) { if (wrd.FindReferences(context).Count > 0) throw new Exception($"The word {wrd} has references from subtitles"); Words.Remove(wrd); }