当前位置: 移动技术网 > IT编程>开发语言>.net > ABP开发手记8 - 应用层创建应用服务

ABP开发手记8 - 应用层创建应用服务

2019年10月03日  | 移动技术网IT编程  | 我要评论

zhaocq,友情链接交换,孽欲追击档案之邪杀

点这里进入abp开发手记目录 

创建目录

在应用层(即jd.crs.application)下创建文件夹course //用以存放course相关应用服务

在jd.crs.application/course下创建文件夹dto //用以存放course相关数据传输对象

创建数据传输对象

在jd.crs.application/course/dto下创建两个dto

只读对象

coursedto.cs //用于查询course对象

贴上automapfrom的特性

[automapfrom(typeof(entitys.course))]

 1 using abp.application.services.dto;
 2 using abp.automapper;
 3 using system;
 4 using system.componentmodel.dataannotations;
 5 
 6 namespace jd.crs.course.dto
 7 {
 8 
 9     [automapfrom(typeof(entitys.course))]
10     public class coursedto : entitydto<int>
11     {
12         /// <summary>
13         /// 课程编号
14         /// </summary>
15         [stringlength(50)]
16         public string code { get; set; }
17         /// <summary>
18         /// 院系编号
19         /// </summary>
20         [stringlength(50)]
21         public string departmentcode { get; set; }
22         /// <summary>
23         /// 课程名称
24         /// </summary>
25         [stringlength(150)]
26         public string name { get; set; }
27         /// <summary>
28         /// 课程积分
29         /// </summary>
30         [range(0, 5)]
31         public int credits { get; set; }
32         /// <summary>
33         /// 备注
34         /// </summary>
35         [stringlength(200)]
36         public string remarks { get; set; }
37         /// <summary>
38         /// 状态: 0 正常, 1 废弃
39         /// </summary>
40         public int? status { get; set; }
41         /// <summary>
42         /// 创建日期
43         /// </summary>
44         public datetime? createdate { get; set; }
45         /// <summary>
46         /// 创建人
47         /// </summary>
48         [stringlength(50)]
49         public string createname { get; set; }
50         /// <summary>
51         /// 修改日期
52         /// </summary>
53         public datetime? updatedate { get; set; }
54         /// <summary>
55         /// 修改人
56         /// </summary>
57         [stringlength(50)]
58         public string updatename { get; set; }
59 
60         public datetime creationtime { get; set; }
61     }
62 }

可写对象

createupdatecoursedto //用于创建/修改course对象

贴上automapto的特性

[automapto(typeof(entitys.course))]

 1 using abp.application.services.dto;
 2 using abp.automapper;
 3 using system;
 4 using system.componentmodel.dataannotations;
 5 
 6 namespace jd.crs.course.dto
 7 {
 8 
 9     [automapto(typeof(entitys.course))]
10     public class createupdatecoursedto : entitydto<int>
11     {
12         /// <summary>
13         /// 课程编号
14         /// </summary>
15         [stringlength(50)]
16         public string code { get; set; }
17         /// <summary>
18         /// 院系编号
19         /// </summary>
20         [stringlength(50)]
21         public string departmentcode { get; set; }
22         /// <summary>
23         /// 课程名称
24         /// </summary>
25         [stringlength(150)]
26         public string name { get; set; }
27         /// <summary>
28         /// 课程积分
29         /// </summary>
30         [range(0, 5)]
31         public int credits { get; set; }
32         /// <summary>
33         /// 备注
34         /// </summary>
35         [stringlength(200)]
36         public string remarks { get; set; }
37         /// <summary>
38         /// 状态: 0 正常, 1 废弃
39         /// </summary>
40         public int? status { get; set; }
41         /// <summary>
42         /// 创建日期
43         /// </summary>
44         public datetime? createdate { get; set; }
45         /// <summary>
46         /// 创建人
47         /// </summary>
48         [stringlength(50)]
49         public string createname { get; set; }
50         /// <summary>
51         /// 修改日期
52         /// </summary>
53         public datetime? updatedate { get; set; }
54         /// <summary>
55         /// 修改人
56         /// </summary>
57         [stringlength(50)]
58         public string updatename { get; set; }
59 
60         public datetime creationtime { get; set; }
61     }
62 }

创建应用服务接口

在jd.crs.application/course下新建项/接口icourseappservice.cs

 1 using abp.application.services;
 2 using abp.application.services.dto;
 3 using jd.crs.course.dto;
 4 
 5 namespace jd.crs.course
 6 {
 7     public interface icourseappservice : iasynccrudappservice<//定义了crud方法
 8              coursedto, //用来展示课程
 9              int, //course实体的主键
10              pagedresultrequestdto, //获取课程的时候用于分页
11              createupdatecoursedto, //用于创建课程
12              createupdatecoursedto> //用于更新课程
13     {
14     }
15 }

创建应用服务

在jd.crs.application/course下新建项/类courseappservice.cs 

 1 using abp.application.services;
 2 using abp.application.services.dto;
 3 using abp.domain.repositories;
 4 using jd.crs.course.dto;
 5 using system.threading.tasks;
 6 
 7 namespace jd.crs.course
 8 {
 9 
10     public class courseappservice : asynccrudappservice<entitys.course, coursedto, int, pagedresultrequestdto,
11                              createupdatecoursedto, createupdatecoursedto>, icourseappservice
12 
13     {
14 
15         public courseappservice(irepository<entitys.course, int> repository)
16             : base(repository)
17         {
18 
19         }
20 
21         public override task<coursedto> create(createupdatecoursedto input)
22         {
23             var sin = input;
24             return base.create(input);
25         }
26     }
27 }

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网