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); }
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); } }
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) { } }
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; }
public AddEditView(MyKanji kanji, Window parent) { InitializeComponent(); this.DataContext = _kanjiViewModel; _parentWindow = parent; _myKanji = kanji ?? _myKanji; this.Loaded += AddEditView_Loaded; }
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; }
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); } }
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; }