如何在ABP框架中添加一个联系人信息
接下来,我们开发一个在电话薄中添加一个联系人信息。
将CreatePerson方法添加到PersonAppService
我们首先在IPersonAppService接口中定义CreatePerson方法:
Task CreatePerson(CreatePersonInput input);
然后,我们在Dtos文件夹中定义一个CreatePersonInput
Dto类,作为CreatePerson()方法的参数。
public class CreatePersonInput
{
[Required]
[MaxLength(Person.MaxNameLength)]
public string Name { get; set; }
/// <summary>
/// 地址信息
/// </summary>
[MaxLength(Person.MaxAddressLength)]
public string Address { get; set; }
[EmailAddress]
[MaxLength(Person.MaxEmailAddressLength)]
public string EmailAddress { get; set; }
}
然后通过AutoMapper的配置,把Dto添加到CustomerAppDtoMapper.cs中,如下所示:
configuration.CreateMap<CreatePersonInput, Person>();
在开发添加功能的时候,需要将CreatePersonInput
映射到Person实体
。所有属性都用数据注释属性修饰,以提供自动验证。
然后接下来,在PersonAppService类中,实现CreatePerson方法:
public async Task CreatePerson(CreatePersonInput input)
{
var person = ObjectMapper.Map<Person>(input);
await _personRepository.InsertAsync(person);
}
这里通过接收到的信息绑定到input属性中,然后通过automapper自动进行属性转换,映射到person属性中。然后通过仓储服务添加数据到数据库中。
我们在这里使用了 async/await 异步模式。 在52ABP-PRO框架中,所有的方法都是异步的,所以尽可能的使用async / await,来编写代码。