using iWareCommon.Common.Service;
|
using iWareCommon.Utils;
|
using iWareDataCore.ORM;
|
using iWareDataCore.Properties;
|
using iWareDataCore.RBAC.Dao;
|
using iWareDataCore.RBAC.Entity;
|
using System;
|
using System.Collections.Generic;
|
using System.Data.Entity.Validation;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace iWareDataCore.RBAC.Service
|
{
|
public class MacUserService : CommonService<MacUserEntity, RBACMacUser, DbModelCore>
|
{
|
|
private static object Lock = new object();
|
|
private MacUserService() : base(MacUserDao.GetInstance()) { }
|
|
private static MacUserService Instance = null;
|
|
/// <summary>
|
/// 获取单例的方法
|
/// </summary>
|
/// <returns>角色服务的单例实体</returns>
|
public static MacUserService GetInstance()
|
{
|
|
if (Instance == null)
|
{
|
lock (Lock)
|
{
|
if (Instance == null)
|
{
|
Instance = new MacUserService();
|
}
|
}
|
}
|
return Instance;
|
}
|
|
|
public override int Delete(int id, out string msg)
|
{
|
Delete(new List<int> { id }, out msg);
|
return string.IsNullOrEmpty(msg) ? id : -1;
|
}
|
|
public override int Delete(List<int> ids, out string msg)
|
{
|
msg = "";
|
using (var dbModel = new DbModelCore())
|
{
|
try
|
{
|
var roleUsers = dbModel.RBACMacAuths.Where(x => ids.Contains(x.macuserid)).ToList();
|
|
foreach (var roleUser in roleUsers)
|
{
|
dbModel.RBACMacAuths.Remove(roleUser);
|
}
|
|
|
var ones = dbModel.RBACMacUsers.Where(x => ids.Contains(x.id)).ToList();
|
foreach (var one in ones)
|
{
|
dbModel.RBACMacUsers.Remove(one);
|
}
|
|
dbModel.SaveChanges();
|
return ids.Count;
|
}
|
catch (DbEntityValidationException ex)
|
{
|
var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
|
msg = string.Join(", ", errs);
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", msg);
|
return 0;
|
}
|
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message);
|
return 0;
|
}
|
}
|
}
|
|
}
|
}
|