Пример #1
0
        private void BtnNext_Click(object sender, RoutedEventArgs e)
        {
            if (!_kanjiViewModel.Equals(_kanjiViewModel_Old))
            {
                if (MessageBox.Show(this, "You will lose the data you have changed. Continue?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) == MessageBoxResult.No)
                {
                    return;
                }
            }

            MyKanji kanji;

            if (sender.Equals(this.btnNext))
            {
                kanji = FlashCardView.KanjiList.Where(x => x.C_key > _myKanji.C_key && (string.IsNullOrEmpty(x.C_kanji) ||
                                                                                        string.IsNullOrEmpty(x.C_chinese) ||
                                                                                        string.IsNullOrEmpty(x.C_pronunciation) ||
                                                                                        string.IsNullOrEmpty(x.C_example))).FirstOrDefault();
            }
            else
            {
                kanji = FlashCardView.KanjiList.Where(x => x.C_key < _myKanji.C_key && (string.IsNullOrEmpty(x.C_kanji) ||
                                                                                        string.IsNullOrEmpty(x.C_chinese) ||
                                                                                        string.IsNullOrEmpty(x.C_pronunciation) ||
                                                                                        string.IsNullOrEmpty(x.C_example))).LastOrDefault();
            }

            _myKanji = kanji ?? _myKanji;
            SetDataToView(_myKanji);
        }
Пример #2
0
        private void BtnChangeMode_Click(object sender, RoutedEventArgs e)
        {
            if (!_kanjiViewModel.Equals(_kanjiViewModel_Old))
            {
                if (MessageBox.Show(this, "You will lose the data you have changed. Continue?", "Kanji Flashcard",
                                    MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) == MessageBoxResult.No)
                {
                    return;
                }
            }

            if (this.Title.Contains("Edit"))
            {
                _myKanji = new MyKanji();
                InitializeWindow(false);
            }
            else
            {
                MyKanji kanji;
                kanji = FlashCardView.KanjiList.Where(x => string.IsNullOrEmpty(x.C_kanji) ||
                                                      string.IsNullOrEmpty(x.C_chinese) ||
                                                      string.IsNullOrEmpty(x.C_pronunciation) ||
                                                      string.IsNullOrEmpty(x.C_example)).LastOrDefault();
                _myKanji = kanji ?? _myKanji;
                InitializeWindow(true);
            }
        }
Пример #3
0
 private void SaveToDb(bool isEdit, MyKanji kanji)
 {
     try
     {
         if (isEdit)
         {
             using (var db = new mainEntities())
             {
                 var result = db.MyKanjis.SingleOrDefault(b => b.C_key == kanji.C_key);
                 if (result != null)
                 {
                     SetData(ref result, _kanjiViewModel);
                     db.SaveChanges();
                     FlashCardView.KanjiList = db.MyKanjis.ToList <MyKanji>();
                 }
             }
         }
         else
         {
             using (var db = new mainEntities())
             {
                 MyKanji result = new MyKanji();
                 long    maxKey = (from ka in FlashCardView.KanjiList select ka.C_key).Max();
                 SetData(ref result, _kanjiViewModel);
                 db.MyKanjis.Add(result);
                 db.SaveChanges();
                 FlashCardView.KanjiList = db.MyKanjis.ToList <MyKanji>();
             }
         }
     }
     catch (Exception ex)
     {
     }
 }
Пример #4
0
 private void SetData(ref MyKanji mykanji, DisplayKanjiModel viewKanji)
 {
     mykanji.C_chinese       = _kanjiViewModel.Chinese;
     mykanji.C_pronunciation = _kanjiViewModel.Pronunciation;
     mykanji.C_kanji         = _kanjiViewModel.Kanji;
     mykanji.C_example       = _kanjiViewModel.Example;
     mykanji.C_didRemember   = _kanjiViewModel.Gotta ? 1 : 0;
 }
Пример #5
0
        public AddEditView(MyKanji kanji, Window parent)
        {
            InitializeComponent();

            this.DataContext = _kanjiViewModel;
            _parentWindow    = parent;
            _myKanji         = kanji ?? _myKanji;
            this.Loaded     += AddEditView_Loaded;
        }
Пример #6
0
        private void SetDataToView(MyKanji mykanji)
        {
            if (mykanji == null)
            {
                return;
            }
            _kanjiViewModel.Chinese       = mykanji.C_chinese;
            _kanjiViewModel.Pronunciation = mykanji.C_pronunciation;
            _kanjiViewModel.Kanji         = mykanji.C_kanji;
            _kanjiViewModel.Example       = mykanji.C_example;
            _kanjiViewModel.Gotta         = mykanji.C_didRemember == 1;
            _kanjiViewModel_Old           = new DisplayKanjiModel(_kanjiViewModel);

            this.lblDone.Visibility = Visibility.Hidden;
            this.lblFail.Visibility = Visibility.Hidden;
        }
Пример #7
0
        private void TxtKanji_LostFocus(object sender, RoutedEventArgs e)
        {
            if (!this.Title.Contains("Add"))
            {
                return;
            }

            if ((sender as TextBox).Text.Trim() == "")
            {
                return;
            }

            MyKanji kj = FlashCardView.KanjiList.Where(x => x.C_kanji == (sender as TextBox).Text.Trim()).FirstOrDefault();

            if (kj != null)
            {
                _myKanji = kj;
                InitializeWindow(true);
            }
        }
Пример #8
0
        private void GetRandomKanji()
        {
            Random rand = new Random();

            if (KanjiList == null || KanjiList.Count() == 0)
            {
                mainEntities main = new mainEntities();
                KanjiList = main.MyKanjis.ToList <MyKanji>();
            }
            int max = KanjiList.Count() - 1;
            int id  = rand.Next(0, max);

            //DMM.Chui = "dm may Microsoft" + DateTime.Now.Second;
            this._myKanji = KanjiList.Where(x => x.C_didRemember != 1).ElementAt(id);

            _kanjiViewModel.Chinese       = _myKanji.C_chinese;
            _kanjiViewModel.Pronunciation = _myKanji.C_pronunciation;
            _kanjiViewModel.Kanji         = _myKanji.C_kanji;
            _kanjiViewModel.Kanji2        = string.Empty;
            SetLabelSize(Properties.Settings.Default.IsShowKanjiOnlyOnCard);
            _kanjiViewModel.Example = _myKanji.C_example;
        }