Agile.Net 组件式开发平台 - 服务开发示例
在上一篇文章中已经讲解了组件的开发,这篇文章讲解平台服务开发。
Agile.Net开发管理平台项目,已经托管在开源中国码云平台(http://git.oschina.net)
登陆码云平台进入项目主页(http://git.oschina.net/MuAgile/AgileDevelop)即可浏览下载源代码。
1.开发环境搭建
软件安装请参考文章《Agile.Net 组件式开发平台 - 开发环境部署》
下载项目【AgileDevelop】->【附件】中的数据库备份文件,恢复数据库到SqlServer,建议数据库命名"Agile"。
2.获取项目源代码
1. 启动 Microsoft Visual Studio,进入菜单项【工具】->【选项】->【源代码管理】-> 设置选项【当前源代码管理插件】下拉框中选择【Microsoft Git 提供程序】。
2. VS切换到团队资源管理器界面,进入菜单项【项目】->【连接到团队项目】。
3. 在本地Git存储库栏目中,输入Git项目地址,克隆"AgileDevelop"项目。
4. 关于Git的源代码管理系统的使用方法,请参考相关文档学习。
3.创建第一个服务
1. 新建一个类库命名为"Service.Master",框架版本为Net4.0,引用 Agile.Services.dll, Agile.DataAccess.dll, Agile.Entity.dll 等平台SDK库文件。
2. 新增一个接口类,声明以下基本方法。
namespace Service.Master { public partial interface IUser { List<Agile.Entity.BBA1> GetAllUser(); int AddUser(Agile.Entity.BBA1 entity); void UpdateUser(Agile.Entity.BBA1 entity); void RemoveUser(Agile.Entity.BBA1 entity); } }
3.新增一个服务类,继承【Agile.Services.ServiceBase】服务基类并实现IUser接口。
namespace Service.Master { public partial class UserService : Agile.Services.ServiceBase, IUser { /// <summary> /// 获取所有员工 /// </summary> /// <returns></returns> public List<Agile.Entity.BBA1> GetAllUser() { return base.DataContext.ScriptById(4001).QueryMany<Agile.Entity.BBA1>(); } /// <summary> /// 新增员工 /// </summary> /// <param name="entity"></param> public int AddUser(Agile.Entity.BBA1 entity) { return base.DataContext.Insert<Agile.Entity.BBA1>(entity)
.AutoMap(x => x.BBA01).ExecuteReturnLastId<int>(); } /// <summary> /// 编辑员工 /// </summary> /// <param name="entity"></param> public void UpdateUser(Agile.Entity.BBA1 entity) { base.DataContext.Update<Agile.Entity.BBA1>(entity).AutoMap(x => x.BBA01).Where(x => x.BBA01).Execute(); } /// <summary> /// 删除员工 /// </summary> /// <param name="entity"></param> public void RemoveUser(Agile.Entity.BBA1 entity) { base.DataContext.Delete<Agile.Entity.BBA1>(entity).Where(x => x.BBA01).Execute(); } } }
4.至此一个简单的平台服务已经开发完成了,下面咱们来调用试试看。
首先在组件中引用刚创建的服务【Service.Master】,并在组件入口方法里实例化服务,并调用其方法。
private void UserMgmt_Loading(object sender, PluginArgs args)//组件入口方法 { //绑定用户 var service = Agile.Library.Controller.GetService<Service.Master.IUser>(); grc_Employee.DataSource = service.GetAllUser(); grv_Employee.BestFitColumns(); }
5.运行开发平台测试调用组件。
OK运行成功,那么咱们第一个服务【Service.Master】已经开发好了,Agile.Net开发管理平台中包含本案例完整源代码。