using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Repository.Interface;
using GxPress.Repository.Interface.Organization;
using GxPress.Service.Interface.OrganizationUser;
using System.Transactions;
namespace GxPress.Service.Implement.OrganizationUser
{
public class OrganizationUserService : IOrganizationUserService
{
private readonly IOrganizationUserRepository organizationUserRepository;
private readonly IUserRepository userRepository;
public OrganizationUserService(IOrganizationUserRepository organizationUserRepository, IUserRepository userRepository)
{
this.organizationUserRepository = organizationUserRepository;
this.userRepository = userRepository;
}
///
/// 添加
///
///
///
public async Task InsertAsync(Entity.tede2.Organization.OrganizationUser model)
{
var user = new Entity.User();
user.LoginAccountNumber = model.LoginAccountNumber;
user.Name = model.UserName;
user.Phone = model.Phone;
user.OrganizationId = model.OrganizationId;
var userId = await userRepository.InsertAsync(user);
model.UserId = userId;
return await organizationUserRepository.InsertAsync(model);
}
public async Task DeleteAsync(List ids)
{
try
{
using (var transactionScope = new TransactionScope())
{
//查询用户
var list = await organizationUserRepository.GetAllAsync(ids);
//删除用户
await userRepository.DeleteAsync(ids);
await organizationUserRepository.DeleteAsync(ids);
transactionScope.Complete();
}
}
catch (System.Exception ex)
{
throw new Common.Exceptions.BusinessException(ex.Message);
}
return true;
}
}
}