作者管理 API: 获取、创建、分页列表
public\u0020async\u0020Task\u003CAuthorDto\u003E\u0020GetAsync(Guid\u0020id)\n{\n\u0020\u0020var\u0020author\u0020=\u0020await\u0020_authorRepository.GetAsync(id);\n\u0020\u0020return\u0020ObjectMapper.Map\u003CAuthor,\u0020AuthorDto\u003E(author);\n}\n//\u0020异步方法,根据作者的ID获取作者的详细信息,返回AuthorDto类型的对象\n//\u0020从_authorRepository中异步获取具有指定ID的作者信息\n//\u0020使用ObjectMapper将Author对象映射为AuthorDto对象,并返回\n\n[Authorize(BookStorePermissions.Authors.Create)]\npublic\u0020async\u0020Task\u003CAuthorDto\u003E\u0020CreateAsync(CreateAuthorDto\u0020input)\n{\n\u0020\u0020var\u0020author\u0020=\u0020await\u0020_authorManager.CreateAsync(\n\u0020\u0020\u0020\u0020input.Name,\n\u0020\u0020\u0020\u0020input.BirthDate,\n\u0020\u0020\u0020\u0020input.ShortBio\n\u0020\u0020);\n\n\u0020\u0020await\u0020_authorRepository.InsertAsync(author);\n\n\u0020\u0020return\u0020ObjectMapper.Map\u003CAuthor,\u0020AuthorDto\u003E(author);\n}\n//\u0020带有权限验证的异步方法,根据输入的CreateAuthorDto对象创建新的作者,返回AuthorDto类型的对象\n//\u0020使用输入的参数调用_authorManager的CreateAsync方法创建新的作者\n//\u0020使用_authorRepository将新的作者异步插入数据库\n//\u0020使用ObjectMapper将Author对象映射为AuthorDto对象,并返回\n\npublic\u0020async\u0020Task\u003CPagedResultDto\u003CAuthorDto\u003E\u003E\u0020GetListAsync(GetAuthorListDto\u0020input)\n{\n\u0020\u0020if\u0020(input.Sorting.IsNullOrWhiteSpace())\n\u0020\u0020{\n\u0020\u0020\u0020\u0020input.Sorting\u0020=\u0020nameof(Author.Name);\n\u0020\u0020}\n\n\u0020\u0020var\u0020authors\u0020=\u0020await\u0020_authorRepository.GetListAsync(\n\u0020\u0020\u0020\u0020input.SkipCount,\n\u0020\u0020\u0020\u0020input.MaxResultCount,\n\u0020\u0020\u0020\u0020input.Sorting,\n\u0020\u0020\u0020\u0020input.Filter\n\u0020\u0020);\n\n\u0020\u0020var\u0020totalCount\u0020=\u0020input.Filter\u0020==\u0020null\n\u0020\u0020\u0020\u0020?\u0020await\u0020_authorRepository.CountAsync()\n\u0020\u0020\u0020\u0020:\u0020await\u0020_authorRepository.CountAsync(\n\u0020\u0020\u0020\u0020\u0020\u0020author\u0020=>\u0020author.Name.Contains(input.Filter));\n\n\u0020\u0020return\u0020new\u0020PagedResultDto\u003CAuthorDto\u003E(\n\u0020\u0020\u0020\u0020totalCount,\n\u0020\u0020\u0020\u0020ObjectMapper.Map\u003CList\u003CAuthor\u003E,\u0020List\u003CAuthorDto\u003E\u003E(authors)\n\u0020\u0020);\n}\n//\u0020异步方法,根据输入的GetAuthorListDto参数获取作者列表,返回PagedResultDto\u003CAuthorDto\u003E类型的对象\n//\u0020如果输入的排序参数为空,则设置为按照作者名字排序\n//\u0020使用_authorRepository异步获取指定范围、排序和过滤条件的作者列表\n//\u0020如果过滤条件为空,则获取所有作者的数量,否则获取包含过滤条件的作者数量\n//\u0020使用ObjectMapper将Author列表映射为AuthorDto列表,并返回PagedResultDto对象,包含作者总数和作者列表
原文地址: https://www.cveoy.top/t/topic/pYTX 著作权归作者所有。请勿转载和采集!