using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Transactions;
using GxPress.Common.Exceptions;
namespace GxPress.Service.Implement.GroupChatUser
{
public partial class GroupChatUserService
{
///
/// 移除用户成员
///
///
///
public async Task DeleteAsync(List groupChatUserIds)
{
try
{
using (TransactionScope transactionScope = new TransactionScope())
{
foreach (var item in groupChatUserIds)
{
//获取成员
var groupChartUser = await _groupChatUserRepository.FindGroupChatUserByIdAsync(item);
//获取群
var groupChart = await _groupChatRepository.FindGroupChatByIdAsync(groupChartUser.GroupChatId);
//获取聊天界面
var oftenContact =
await _oftenContactRepository.FindOftenContactAsync(groupChartUser.UserId,
groupChart.GroupChatImId);
//删除聊天界面
await _oftenContactRepository.DeleteAsync(oftenContact.Id);
//删除群成员
await _groupChatUserRepository.DeleteAsync(groupChartUser.Id);
}
transactionScope.Complete();
}
}
catch (Exception e)
{
throw new BusinessException(e.Message);
}
return true;
}
}
}