Agile.Net 组件式开发平台 - 服务开发示例

时间:2022-07-13 10:17:02

在上一篇文章中已经讲解了组件的开发,这篇文章讲解平台服务开发。

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().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.运行开发平台测试调用组件。

Agile.Net 组件式开发平台 - 服务开发示例

OK运行成功,那么咱们第一个服务【Service.Master】已经开发好了,Agile.Net开发管理平台中包含本案例完整源代码。