public void SaveSteps() { string steps = m_StepString.ToString(); m_StepString.Clear(); SaveStepWindow dlg = new SaveStepWindow(); dlg.ShowDialog(); if (dlg.IsOk == false) { return; } using (var db = new WeiqiContext()) { Record record = new Record { Black = dlg.BlackName, White = dlg.WhiteName, Result = dlg.Result, Description = dlg.Description, Type = dlg.Type, SaveDate = DateTime.Now, Steps = steps }; db.Records.Add(record); db.SaveChanges(); MessageBox.Show("Save steps success!"); } }
List <int> GetIds() { using (var db = new WeiqiContext()) { var result = from r in db.Records select r.Id; return(result.ToList()); } }
public List <Record> GetRecords() { using (var db = new WeiqiContext()) { var r = from s in db.Records orderby s.SaveDate descending select s; return(r.ToList()); } }
void BtnSave_Click(object sender, RoutedEventArgs e) { using (var db = new WeiqiContext()) { var r = db.Records.First(t => t.Id == (int)m_Id.SelectedValue); r.Black = m_BlackName.Text; r.White = m_WhiteName.Text; r.Steps = m_Steps.Text; r.Result = m_Result.Text; r.Type = m_Type.Text; db.SaveChanges(); MessageBox.Show("Edit success!"); } }
private void Id_SelectionChanged(object sender, SelectionChangedEventArgs e) { int id = (int)m_Id.SelectedValue; using (var db = new WeiqiContext()) { var result = (from r in db.Records where r.Id == id select r).First(); m_BlackName.Text = result.Black; m_WhiteName.Text = result.White; m_Result.Text = result.Result; m_Description.Text = result.Description; m_Type.Text = result.Type; } }
void M_Id_SelectionChanged(object sender, SelectionChangedEventArgs e) { int id = (int)m_Id.SelectedValue; using (var db = new WeiqiContext()) { var result = (from r in db.Records where r.Id == id select r).First(); m_BlackName.Text = result.Black; m_WhiteName.Text = result.White; m_Result.Text = result.Result; m_Steps.Text = result.Steps; m_Type.Text = result.Type; } BtnPreview_Click(null, null); }
void m_MenuImport_Click(object sender, RoutedEventArgs e) { var dlg = new OpenFileDialog(); dlg.Multiselect = true; if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var filenames = dlg.FileNames; var steps = new StringBuilder(); using (var db = new WeiqiContext()) { foreach (var filename in filenames) { var s = File.ReadAllText(dlg.FileName); string[] splits = s.Split(';'); int count = splits.Length; steps.Clear(); int stepCount = 0; for (int i = 2; i < count - 1; i++) { if (splits[i][2] >= 'a' && splits[i][2] <= 's' && splits[i][3] >= 'a' && splits[i][3] <= 's') { steps.Append((splits[i][2] - 'a') + "," + (splits[i][3] - 'a') + "," + stepCount.ToString() + ","); stepCount++; } } Record record = new Record() { Black = "Black", White = "White", Result = "B&W", Description = "Imported SGF", Type = "对局", SaveDate = DateTime.Now, Steps = steps.ToString() }; db.Records.Add(record); } db.SaveChanges(); } System.Windows.MessageBox.Show("Save SGF success!\n"); } }
// type => 0:对局,1:布局,2:定式,3:棋型 public static List <List <Pos> > GetRecord(string type) { var record = new List <List <Pos> >(); using (var db = new WeiqiContext()) { var result = from r in db.Records where r.Type == type select r.Steps; foreach (string s in result) { var poses = GetPoses(s); if (!record.Contains(poses)) { record.Add(poses); } } } return(record); }
private void Delete_Click(object sender, RoutedEventArgs e) { if (m_Id.SelectedValue == null) { MessageBox.Show("Please select Id."); return; } int id = (int)m_Id.SelectedValue; using (var db = new WeiqiContext()) { // delete all // var records = db.Records.ToList(); // foreach (var r in records) { // db.Records.Remove(r); // } var record = db.Records.Where(r => r.Id == id).First(); db.Records.Remove(record); db.SaveChanges(); MessageBox.Show("Delete success!"); Close(); } }