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().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开发管理平台中包含本案例完整源代码。
Agile.Net 组件式开发平台 - 服务开发示例的更多相关文章
- Agile.Net 组件式开发平台 - 组件开发示例
所谓组件式开发平台,它所有的功能模块都是以组件的形式扩展的,下面我来演示一个简单的组件开发例程. Agile.Net开发管理平台项目,已经托管在开源中国码云平台(http://git.oschina. ...
- Agile.Net 组件式开发平台 - 平台系统介绍
平台介绍 Agile.Net 组件式开发平台是一款针对企业级产品的开发框架,平台架构基于SOA服务体系,多层组件式架构打造.平台提供企业应用开发所需的诸如ORM.IOC.WCF.EBS.SOA等分布式 ...
- Agile.Net 组件式开发平台 - 驱动开发示例
首先讲一下概念,此驱动非彼驱动.在Agle.Net中我们将组件规划成两种类型,一种是基于业务的窗体组件,一种是提供扩展功能的驱动组件. 打个比方例如一般系统中需要提供身份证读卡功能,然而市面上有很多种 ...
- 嵌入式开发平台-iTOP-4418开发板
详情转自:http://topeetboard.com S5P4418核心板可以无缝支持核心系统S5P6818,并保持底板设计不变,将兼顾更高端 的应用领域,为项目和产品提供更好的灵活性以及可伸缩性. ...
- Agile.Net 组件式开发平台 - 内核管理组件
敏捷开发体系 软件构件技术:所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装.软件的构件化和集成技术的目标是:软件系统可以由不同厂商提供的,用不同语言开发 ...
- Agile.Net 组件式开发平台 - 服务器端部署
应用服务器: 操作系统要求推荐Windows Server 2008,服务器硬件如果支持64位建议安装64位操作系统产品以最大化发挥服务器性能. 安装操作系统Windows Server 2008,其 ...
- Agile.Net 组件式开发平台 - 数据报表组件
Agile.Report.dll 文件为平台数据报表支持库,基于FasstReport.Net扩展重写,提供了非常强大的自定义报表的功能使开发者为应用程序快速有效地生成报表.报表类库提供了创建报表所需 ...
- Agile.Net 组件式开发平台 - 系统文档中心
Agile.Debgu.exe 文件为平台文档中心应用程序,该程序集成了数据库结构文档查询.数据库结构文档浏览.实时系统日志监控等功能. 数据库结构文档浏览 数据库结构文档查询 系统平台日志监控
- 开发指南专题4:JEECG高速微云开发平台--JEECG开发环境的搭建
开发指南专题4:JEECG微云高速开发平台开发环境搭建 1. JEECG开发环境搭建 JEECG推荐的开发环境为Myeclipse8.5/Eclipse3.7+JDK1.6+Tomcat6.0 1.1 ...
随机推荐
- 用matplotlib库画图
1.用例一 import matplotlib.pyplot as plt import numpy as np x=np.linspace(0,10,100) y=np.cos(2*np.pi*x) ...
- 带提示范围的猜数小游戏--python
import random random_number = random.randint(1, 99) print(random_number) start_data = 1 end_data = 9 ...
- python三大器之while,if,for循环
一.for循环(遍历循环) 在Python你可能要经常遍历列表的所有元素,对每个元素执行相同的操作;对于包含数字的列表,可能要对每个元素进行相同的计算;在网站中,可能需要显示文章中的每个标题等等.某一 ...
- 本地域名解析知识hosts
get(本地域名解析知识点): Domain Name System: 域名系统 目的:互联网通过IP(10.223.146.45)定位浏览器建立连接,但是我们不易区别IP,为了方便用户辨识IP所代表 ...
- #include stdio.h(A)
/* 第一个*******知识点工程相关信息******** 1.创建工程 文件->新建->工程->win32 console applecation ->文件名不能为汉字 2 ...
- Numpy 01
Infi-chu: http://www.cnblogs.com/Infi-chu/ import numpy as np # 创建的数组 stus_score = np.array([[80, 88 ...
- 常用代码c#
当使用 HttpContext.Current用到不是当前线程会出null的情况,可使用 System.Web.HttpRuntime.AppDomainAppPath获取程序的根路 string p ...
- Speed Up Your WordPress Site
http://www.sitepoint.com/speed-wordpress/ http://www.sparringmind.com/speed-up-wordpress/ http://www ...
- Linux getcwd()的实现
通过getcwd()可以获取当前工作目录. #include <unistd.h> char *getcwd(char *cwdbuf, size_t size); 成功调用返回指向cwd ...
- c++动态库封装及调用(2、windows下动态库创建)
DLL即动态链接库(Dynamic-Link Libaray)的缩写,相当于Linux下的共享对象.Windows系统中大量采用了DLL机制,甚至内核的结构很大程度依赖与DLL机制.Windows下的 ...