创建目录
在应用层(即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))]
using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using System;
using System.ComponentModel.DataAnnotations; namespace JD.CRS.Course.Dto
{ [AutoMapFrom(typeof(Entitys.Course))]
public class CourseDto : EntityDto<int>
{
/// <summary>
/// 课程编号
/// </summary>
[StringLength()]
public string Code { get; set; }
/// <summary>
/// 院系编号
/// </summary>
[StringLength()]
public string DepartmentCode { get; set; }
/// <summary>
/// 课程名称
/// </summary>
[StringLength()]
public string Name { get; set; }
/// <summary>
/// 课程积分
/// </summary>
[Range(, )]
public int Credits { get; set; }
/// <summary>
/// 备注
/// </summary>
[StringLength()]
public string Remarks { get; set; }
/// <summary>
/// 状态: 0 正常, 1 废弃
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
[StringLength()]
public string CreateName { get; set; }
/// <summary>
/// 修改日期
/// </summary>
public DateTime? UpdateDate { get; set; }
/// <summary>
/// 修改人
/// </summary>
[StringLength()]
public string UpdateName { get; set; } public DateTime CreationTime { get; set; }
}
}
可写对象
CreateUpdateCourseDto.cs //用于创建/修改Course对象
贴上AutoMapTo的特性
[AutoMapTo(typeof(Entitys.Course))]
using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using System;
using System.ComponentModel.DataAnnotations; namespace JD.CRS.Course.Dto
{ [AutoMapTo(typeof(Entitys.Course))]
public class CreateUpdateCourseDto : EntityDto<int>
{
/// <summary>
/// 课程编号
/// </summary>
[StringLength()]
public string Code { get; set; }
/// <summary>
/// 院系编号
/// </summary>
[StringLength()]
public string DepartmentCode { get; set; }
/// <summary>
/// 课程名称
/// </summary>
[StringLength()]
public string Name { get; set; }
/// <summary>
/// 课程积分
/// </summary>
[Range(, )]
public int Credits { get; set; }
/// <summary>
/// 备注
/// </summary>
[StringLength()]
public string Remarks { get; set; }
/// <summary>
/// 状态: 0 正常, 1 废弃
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
[StringLength()]
public string CreateName { get; set; }
/// <summary>
/// 修改日期
/// </summary>
public DateTime? UpdateDate { get; set; }
/// <summary>
/// 修改人
/// </summary>
[StringLength()]
public string UpdateName { get; set; } public DateTime CreationTime { get; set; }
}
}
创建应用服务接口
在JD.CRS.Application/Course下新建项/接口
ICourseAppService.cs
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using JD.CRS.Course.Dto; namespace JD.CRS.Course
{
public interface ICourseAppService : IAsyncCrudAppService<//定义了CRUD方法
CourseDto, //用来展示课程
int, //Course实体的主键
PagedResultRequestDto, //获取课程的时候用于分页
CreateUpdateCourseDto, //用于创建课程
CreateUpdateCourseDto> //用于更新课程
{
}
}
创建应用服务
在JD.CRS.Application/Course下新建项/类
CourseAppService.cs
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using Abp.Domain.Repositories;
using JD.CRS.Course.Dto;
using System.Threading.Tasks; namespace JD.CRS.Course
{
public class CourseAppService : AsyncCrudAppService<Entitys.Course, CourseDto, int, PagedResultRequestDto,
CreateUpdateCourseDto, CreateUpdateCourseDto>, ICourseAppService {
public CourseAppService(IRepository<Entitys.Course, int> repository)
: base(repository)
{ } public override Task<CourseDto> Create(CreateUpdateCourseDto input)
{
var sin = input;
return base.Create(input);
}
}
}