AddressBookGroupService.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Threading.Tasks;
  2. using GxPress.Repository.Interface;
  3. using GxPress.Request.AddressBookGroup;
  4. using GxPress.Service.Interface.AddressBookGroup;
  5. using System.Transactions;
  6. using GxPress.Request.AddressBookGroupUser;
  7. namespace GxPress.Service.Implement.AddressBookGroup
  8. {
  9. public class AddressBookGroupService : IAddressBookGroupService
  10. {
  11. private readonly IAddressBookGroupUserRepository addressBookGroupUserRepository;
  12. private readonly IAddressBookGroupRepository addressBookGroupRepository;
  13. public AddressBookGroupService(IAddressBookGroupUserRepository addressBookGroupUserRepository, IAddressBookGroupRepository addressBookGroupRepository)
  14. {
  15. this.addressBookGroupUserRepository = addressBookGroupUserRepository;
  16. this.addressBookGroupRepository = addressBookGroupRepository;
  17. }
  18. /// <summary>
  19. /// 添加
  20. /// </summary>
  21. /// <param name="request"></param>
  22. /// <returns></returns>
  23. public async Task<bool> InsertAsync(AddressBookGroupInRequest request)
  24. {
  25. try
  26. {
  27. using (var transactionScope = new TransactionScope())
  28. {
  29. /// <summary>
  30. /// 添加自建
  31. /// </summary>
  32. /// <returns></returns>
  33. var addressBookGroup = await addressBookGroupRepository.InsertAsync(request);
  34. //添加
  35. await addressBookGroupUserRepository.InsertAsync(new AddressBookGroupUserInRequest
  36. {
  37. AddressBookGroupId = addressBookGroup.Id,
  38. UserId = request.UserIds
  39. });
  40. transactionScope.Complete();
  41. }
  42. }
  43. catch
  44. {
  45. return false;
  46. }
  47. return true;
  48. }
  49. }
  50. }