1234567891011121314151617181920212223242526272829303132333435 |
- using System.Threading.Tasks;
- using Datory;
- using GxPress.Common.Exceptions;
- using System.Transactions;
- namespace GxPress.Service.Implement.Missive
- {
- public partial class MissiveService
- {
-
-
-
-
-
- public async Task<bool> RecallAsync(int missiveId)
- {
-
- var missive = await _missiveRepository.GetAsync(missiveId);
- if (missive == null)
- throw new BusinessException("站内信不存在!");
-
-
-
- using (TransactionScope transactionScope = new TransactionScope())
- {
-
- await _middleRepository.DeleteAsync(Q.Where(nameof(Entity.Middle.Middle.MiddleId), missive.Id).Where(nameof(Entity.Middle.Middle.FolderType), 5).Where(nameof(Entity.Middle.Middle.IsAdmin), false));
-
- await _middleRepository.UpdateAsync(Q.Where(nameof(Entity.Middle.Middle.MiddleId), missive.Id).Where(nameof(Entity.Middle.Middle.FolderType), 5).Where(nameof(Entity.Middle.Middle.IsAdmin), true).Set(nameof(Entity.Middle.Middle.NoticeAddresseeType),2));
-
- transactionScope.Complete();
- }
- return true;
- }
- }
- }
|