如何在ABP框架中添加一个联系人信息

接下来,我们开发一个在电话薄中添加一个联系人信息。

将CreatePerson方法添加到PersonAppService

我们首先在IPersonAppService接口中定义CreatePerson方法:

Task CreatePerson(CreatePersonInput input);

然后,我们在Dtos文件夹中定义一个CreatePersonInputDto类,作为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,来编写代码。

接下来