コード例 #1
0
 private void CmdDispatcher(string command)
 {
     switch (command)
     {
         case "Create":
             LearningItem newitem = new LearningItem();
             NavigationService.NavigateForward(Form.EditLearningItem,new EditLearningItem_parameters() { LearningItem = newitem,IsItNewItem = true });
             break;
         case "Backup":
             NavigationService.NavigateForward(Form.Backup, new Backup_parameters() {mode = Backup_parameters.Mode.AppSetting,appsetting = ViewModelLocator.Instance.AppSetting });
             break;
         case "CreateInitialDatapack":
             SQL_XML_IOOperations io = new SQL_XML_IOOperations();
             io.CreateInitialDatapack();
             break;
         default:
             throw new NotImplementedException();
     }
 }
コード例 #2
0
        public EditLearningItem_ViewModel(IDialogService DialogService_, IPlayer Player_,INavigationService NavigationService_,ISQL_XML_Operations SQL_XML_Operations_)
        {
            if (!IsInDesignMode)
            {
                DialogService = DialogService_;
                Player = Player_;
                NavigationService = NavigationService_;
                SQL_XML_Operations = SQL_XML_Operations_;

                Languages = ViewModelLocator.Instance.Languages;

            }

            // Commands
            CommandDispatcher = new RelayCommand<string>(CmdDispatcher);

            PlayerVisibility = Visibility.Visible;

            if (IsInDesignMode)
            {
                LearningItem = new LearningItem();
                LearningItem.Name = "Mazzy in Gondoland";
                /*
                LearningItem.VideoFileName = "C:\\Users\\Public\\Videos\\Sample Videos\\Mazzy.mkv";

                LearningItem.SubtitleCollection = new SynchronizedObservableCollection<Subtitles>();

                LearningItem.SubtitleCollection.Add(new Subtitles
                {
                    Name = "English-Russian"
                });

                LearningItem.SubtitleCollection.Add(new Subtitles
                {
                    Name = "English-Ukraine"
                });

                CurrentSubtitles = LearningItem.SubtitleCollection[0];
                */
            }
        }
コード例 #3
0
        public SQL_XML_IO_statuses DeleteLearningItem(LearningItem learningitem)
        {

            if (learningitem == null) return SQL_XML_IO_statuses.OtherError;

            RefTree.Clear();
            DBConnect dbconnect = new DBConnect();
            dbconnect.Open();

            //logging = true;
            //FindAllReferences_("LearningItems",learningitem.id);
            if(ViewModelLocator.Instance.AppSetting.CurrentLearningItem.id == learningitem.id)
            {
                ViewModelLocator.Instance.AppSetting.CurrentLearningItem = null;
            }
            EFDbContext.SaveChgs();

            // Rules
            schema.ClearRules();
            schema.GetTableByName(AppSetting.TableName).DontProcessing = true;
            schema.GetTableByName(Dictionary.TableName).DontProcessing = true;
            schema.GetTableByName(Language.TableName).DontProcessing = true;
            schema.GetTableByName(WordOfDictionary.TableName).DontProcessing = true;

            // optimization for speed
            DBConnect.Query query = new DBConnect.Query();
            query.sql = SQLqueries.Delete_Update_Subtitle_Items_Words;
            query.AddParameter("id", learningitem.id);
            dbconnect.ExecuteSQL(query);

            query.sql = SQLqueries.Delete_Subtitile_Items_Words;
            query.AddParameter("id", learningitem.id);
            dbconnect.ExecuteSQL(query);

            query.sql = SQLqueries.Delete_Subtitle_Items;
            query.AddParameter("id", learningitem.id);
            dbconnect.ExecuteSQL(query);


            PathList.Clear();
            DeleteTable(dbconnect,"LearningItems",learningitem.id,true);

            dbconnect.Close();
            ((IObjectContextAdapter)ViewModelLocator.Instance.DataBase).ObjectContext.Detach(learningitem);

            EFDbContext.SaveChgs();
            return SQL_XML_IO_statuses.Ok;
        }
コード例 #4
0
        // Save LearningItem
        public SQL_XML_IO_statuses SaveLearningItem(string path, LearningItem li,bool uploadprivatedata = true)
        {
            RefTree.Clear();
            schema.ClearRules();

            // rules of upload
            schema.GetTableByName(LearningItem.TableName).DontProcessingField("AppSetting_id");
            schema.GetTableByName(AppSetting.TableName).DontProcessing = true;
            schema.GetTableByName(Language.TableName).DontProcessingBackwardReferences = true;
            //schema.GetTableByName(Language.TableName).DontProcessingField("FrequencyDictionary_id");
            if (!uploadprivatedata) schema.DoNotProcessingPrivateData();

            //schema.ApplyRules(DBrules.LearningItem);
            return Save(path, LearningItem.TableName, li.id);
        }
コード例 #5
0
 private async void Delete(LearningItem LearingItem_)
 {
     bool res = await DialogService.Ask(Tx.T("MainWindow.Messages.ReallyDelete"));
     if (res)
     {
         SQL_XML_IOOperations io = new SQL_XML_IOOperations();
         io.DeleteLearningItem(LearingItem_);
     }
 }
コード例 #6
0
 private void Open(LearningItem LearingItem_)
 {
     if (LearingItem_ == null) return;
     NavigationService.NavigateForward(Form.PlayerWindow,new PlayerWindow_parameters { LearningItem = LearingItem_ });
 }
コード例 #7
0
 private void Edit(LearningItem LearingItem_)
 {
     NavigationService.NavigateForward(Form.EditLearningItem,new EditLearningItem_parameters() { LearningItem = LearingItem_ });
 }
コード例 #8
0
ファイル: AppSetting.cs プロジェクト: KamT/OpenLearningPlayer
 public void AddNewLearningItem(LearningItem LearningItem_)
 {
     LearningItems.Add(LearningItem_);
 }
コード例 #9
0
 public void OnNavigation(ParametersOfForms param_)
 {
     DictionaryEditor_parameters param = (DictionaryEditor_parameters)param_;
     LearningItem = param.LearningItem;
 }
コード例 #10
0
        public void OnNavigation(ParametersOfForms param_)
        {
            WordsTranslation_parameters param = (WordsTranslation_parameters)param_;
            WordsCollection = param.WordsCollection;
            SubItem = param.SubtitleItem;
            LearningItem = param.LearningItem;
            mode = param.Mode;

            if (WordsCollection.Count > 0) SetCurrentWord(WordsCollection[0]);

        }
コード例 #11
0
ファイル: WMPlayer.cs プロジェクト: KamT/OpenLearningPlayer
 public void StartVideo(LearningItem learningItem,long position = -1)
 {
     Logger.Trace("Player starn video");
     Open(learningItem.VideoFileName);
     if(position != -1)
     {
         Position = position;
     }
     SetAudioTrack(learningItem.AudioTrack);
     Play();
 }