//void View_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 //{
 //    if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
 //    {
 //        CalligrapherDataHelper.Insert((Calligraphyer)e.NewItems[0]);
 //    }
 //}
 public void AddCalligrapher()
 {
     Calligraphyer calligraphyer = new Calligraphyer();
     calligraphyer.Name = "书法家";
     calligraphyer.Description = "简介";
     calligraphyer.Id = Guid.NewGuid();
     ((ObservableCollection<Calligraphyer>)_viewSource.Source).Add(calligraphyer);
 }
 //void View_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 //{
 //    if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
 //    {
 //        CalligrapherDataHelper.Insert((Calligraphyer)e.NewItems[0]);
 //    }
 //}
 public void AddCalligrapher()
 {
     Calligraphyer calligraphyer = new Calligraphyer();
     calligraphyer.Name = "书法家";
     calligraphyer.Description="简介";
     ((ObservableCollection<Calligraphyer>)_viewSource.Source).Add(calligraphyer);
     calligraphyer.Status = EntityBase.Statuses.New;
     ;CalligrapherDataHelper.Save((ObservableCollection<Calligraphyer>)_viewSource.Source);
 }
 public static void Delete(Calligraphyer c)
 {
     var cnn = DataHelper.CreateConnection();
     string sql = @"DELETE FROM T_Calligrapher WHERE ID=@ID";
     SqlCommand cmmd = new SqlCommand(sql, cnn);
     cmmd.Parameters.Add(new SqlParameter("ID", c.Id));
     cnn.Open();
     cmmd.ExecuteNonQuery();
     cnn.Close();
 }
 private static void Update(Calligraphyer c)
 {
     var cnn = DataHelper.CreateConnection();
     string sql = @"UPDATE T_Calligrapher SET Description = @Description WHERE ID = @ID";
     SqlCommand cmmd = new SqlCommand(sql, cnn);
     cmmd.Parameters.Add(new SqlParameter("ID", c.Id));
     cmmd.Parameters.Add(new SqlParameter("Description", c.Description));
     cnn.Open();
     cmmd.ExecuteNonQuery();
     cnn.Close();
 }
 private static void Insert(Calligraphyer c)
 {
     var cnn = DataHelper.CreateConnection();
     string sql = @"INSERT INTO T_Calligrapher
         (ID,Name, Description) VALUES   (@ID, @Name, @Description)";
     SqlCommand cmmd = new SqlCommand(sql, cnn);
     cmmd.Parameters.Add(new SqlParameter("ID", c.Id));
     cmmd.Parameters.Add(new SqlParameter("Name", c.Name));
     cmmd.Parameters.Add(new SqlParameter("Description", c.Description));
     cnn.Open();
     cmmd.ExecuteNonQuery();
     cnn.Close();
 }
        public static ObservableCollection<Calligraphyer> Load()
        {
            ObservableCollection<Calligraphyer> calligraphyers = new ObservableCollection<Calligraphyer>();

            var cnn = DataHelper.CreateConnection();
            string sql = "select * from  T_Calligrapher";
            SqlCommand cmmd = new SqlCommand(sql, cnn);
            cnn.Open();
            var reader = cmmd.ExecuteReader();
            while (reader.Read())
            {
                Calligraphyer c = new Calligraphyer((Guid)reader["ID"], (string)reader["Name"], (string)reader["Description"]);
                calligraphyers.Add(c);
            }
            cnn.Close();
            return calligraphyers;
        }
 public static void Save(Calligraphyer c)
 {
     if (c.Status == EntityBase.Statuses.New)
     {
         Insert(c);
         c.Status = EntityBase.Statuses.Updated;
     }
     else if (c.Status == EntityBase.Statuses.Edit)
     {
         Update(c);
         c.Status = EntityBase.Statuses.Updated;
     }
     else if (c.Status == EntityBase.Statuses.Delete)
     {
         Delete(c);
         //c.Status = EntityBase.Statuses.Updated;
     }
 }
 private static void Update(Calligraphyer c)
 {
 }
 public void Delete(Calligraphyer c)
 {
     ((ObservableCollection<Calligraphyer>)_viewSource.Source).Remove(c);
     c.Status = EntityBase.Statuses.Delete;
     CalligrapherDataHelper.Save(c);
 }