Silverlight + DomainService 簡易框架之一 完成增刪改操作

使用Silverlight + DomainService進行開發時我們可以在Silverlight項目中創建一個BLL層用於Silverlight調用如下圖所示

在Silverlight端進行調用要採用異步調用,因此在這中間加入了一些Lambda表達式進行簡化操作

爲了實現這種機制在Sliverlight項目中做了這麼幾項工作

1.定義用於執行增加,修改和刪除操作的回發處理委託

 public delegate void OptionHander(bool hasError);

參數只有一個:hasError用於表示從服務器執行操作是否有錯誤

2.編寫BLL代碼

我這裏寫了一個DB類用於處理DomainService對象,代碼如下:

    public class DB
    {
        private static DomainService1 _db;
        public static DomainService1 db
        {
            get
            {
                if (_db == null) _db = new DomainService1();
                return _db;
            }
        }
    }

基於前面的委託我們進行相關操作,我這用了一個簡單表UserRoles表進行操作,UserRoles只有兩個字段Id和Name

2.1增加操作

    public class RoleBLL
    {
        public static void AddRole(UserRoles role,OptionHander ev)
        {
            var db = DB.db;
            db.UserRoles.Add(role);            
            db.SubmitChanges((ex) =>{ev(ex.HasError);}, null);
        }     
    }

2.2修改操作

    public class RoleBLL
    {   
        public static void UpdateRole( OptionHander ev)
        {
            var db = DB.db;
            db.SubmitChanges((ex) =>{ev(ex.HasError);}, null);
           
        }
    }

2.3刪除操作

    public class RoleBLL
    {
        public static void DeleteRole(UserRoles role, OptionHander ev)
        {
            var db = DB.db;
            db.UserRoles.Remove(role);
            db.SubmitChanges((ex) =>{ev(ex.HasError);}, null);
        }   
    }

 

可以看到非常的簡單,只是進行了相關的封裝

3.表示層調用

3.1增加調用

UserRoles ur = new UserRoles{Name="haha"};            
RoleBLL.AddRole(ur, err => { 
	if(!err){
		MessageBox.Show("增加成功!");
	}else{
		MessageBox.Show("增加失敗!");
	}              
});

3.2修改調用

UserRoles ur =....         
RoleBLL.UpdateRole(ur, err => { 
	if(!err){
		MessageBox.Show("修改成功!");
	}else{
		MessageBox.Show("修改失敗!");
	}              
});

3.3刪除調用

UserRoles ur =.....            
RoleBLL.DeleteRole(ur, err => { 
	if(!err){
		MessageBox.Show("刪除成功!");
	}else{
		MessageBox.Show("刪除失敗!");
	}              
});
發佈了109 篇原創文章 · 獲贊 3 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章