Exemplo n.º 1
0
        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!");
            }
        }
Exemplo n.º 2
0
 List <int> GetIds()
 {
     using (var db = new WeiqiContext()) {
         var result = from r in db.Records
                      select r.Id;
         return(result.ToList());
     }
 }
Exemplo n.º 3
0
 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());
     }
 }
Exemplo n.º 4
0
 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!");
     }
 }
Exemplo n.º 5
0
        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;
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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");
            }
        }
Exemplo n.º 8
0
        // 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);
        }
Exemplo n.º 9
0
        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();
            }
        }