DeviceManager/DeviceRepairAndOptimization/Data/RoleMaintenance.cs
2024-05-28 22:36:38 +08:00

499 lines
16 KiB
C#

using CsharpHttpHelper;
using DeviceRepairAndOptimization.Data.Auth;
using DeviceRepairAndOptimization.Data.Role;
using DeviceRepairAndOptimization.Models;
using DeviceRepairAndOptimization.Utils;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace DeviceRepairAndOptimization.Data
{
public class RoleMaintenance
{
private static RoleMaintenance manager;
public static RoleMaintenance Instance
{
get
{
if (manager == null)
manager = new RoleMaintenance();
return manager;
}
}
/// <summary>
/// 获取全部数据
/// </summary>
/// <returns></returns>
public APIResponseData GetAll()
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.GetRoleDatas,
Method = "Post",
ContentType = "application/json; charset=utf-8"
});
#endregion
break;
case "sql":
#region sql
result = RoleAccess.Instance.GetAll();
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}
/// <summary>
/// 新增
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public APIResponseData Add(RolesModel entity)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" };
try
{
entity.CreateBy = GlobalInfo.CurrentUser.AutoID;
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.AddRoleModel,
Method = "Post",
ContentType = "application/json;charset=utf-8",
Postdata = JsonConvert.SerializeObject(entity.ToArrayAndCompress())
});
#endregion
break;
case "sql":
#region sql
result = RoleAccess.Instance.Add(entity);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
result.Code = -1;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public APIResponseData Update(RolesModel entity)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" };
try
{
entity.ModifyBy = GlobalInfo.CurrentUser.AutoID;
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.EditRole,
Method = "Post",
ContentType = "application/json;charset=utf-8",
Postdata = JsonConvert.SerializeObject(entity.ToArrayAndCompress())
});
#endregion
break;
case "sql":
#region sql
result = RoleAccess.Instance.Update(entity);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
result.Code = -1;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 获取所有权限列表
/// </summary>
/// <returns></returns>
public APIResponseData GetAuthList()
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.GetAuthList,
Method = "Post",
ContentType = "application/json; charset=utf-8"
});
if (result.Code == 1)
{
string json = JsonConvert.SerializeObject(result.Data);
result.Data = JsonConvert.DeserializeObject<List<AuthsModel>>(json);
}
#endregion
break;
case "sql":
#region sql
result = AuthAccess.Instance.GetList();
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}
/// <summary>
/// 根据角色ID,权限状态 获取权限列表
/// </summary>
/// <returns></returns>
public APIResponseData GetRoleAuths(int RoleID, bool Status)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.GetRoleAuths,
Method = "Post",
ContentType = "application/json; charset=utf-8",
Postdata = JsonConvert.SerializeObject(new { RoleID = RoleID, Status = Status })
});
if (result.Code == 1)
{
string json = JsonConvert.SerializeObject(result.Data);
result.Data = JsonConvert.DeserializeObject<List<AuthsModel>>(json);
}
#endregion
break;
case "sql":
#region sql
result = AuthAccess.Instance.GetRoleAuths(RoleID, Status);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}
/// <summary>
/// 获取角色下的用户
/// </summary>
/// <param name="RoleID"></param>
/// <returns></returns>
public APIResponseData GetRoleUsers(int RoleID)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.GetRoleUsers,
Method = "Post",
ContentType = "application/json; charset=utf-8",
Postdata = JsonConvert.SerializeObject(new { RoleID = RoleID })
});
if (result.Code == 1)
{
string json = JsonConvert.SerializeObject(result.Data);
result.Data = JsonConvert.DeserializeObject<List<UserInfoModel>>(json);
}
#endregion
break;
case "sql":
#region sql
result = AuthAccess.Instance.GetRoleUsers(RoleID);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}
/// <summary>
/// 根据主键编号是插入/更新
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public APIResponseData InsertOrEdit(RoleEditSubmitModel entity)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.InsertOrEditRoleAnth,
Method = "Post",
ContentType = "application/json;charset=utf-8",
Postdata = JsonConvert.SerializeObject(entity.ToArrayAndCompress())
});
#endregion
break;
case "sql":
#region sql
result = RoleAccess.Instance.InsertOrEdit(entity);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
result.Code = -1;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 清空角色下的用户
/// </summary>
/// <param name="RoleAutoID"></param>
/// <returns></returns>
public APIResponseData ClearRoleUsers(int RoleAutoID)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.ClearRoleUsers,
Method = "Post",
ContentType = "application/json;charset=utf-8",
Postdata = JsonConvert.SerializeObject(new { RoleID = RoleAutoID, OperationUser = GlobalInfo.CurrentUser.AutoID })
});
#endregion
break;
case "sql":
#region sql
result = RoleAccess.Instance.ClearRoleUsers(RoleAutoID, GlobalInfo.CurrentUser.AutoID);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
result.Code = -1;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 清空角色下的权限
/// </summary>
/// <param name="RoleAutoID"></param>
/// <returns></returns>
public APIResponseData ClearRoleAuths(int RoleAutoID)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.ClearRoleAuths,
Method = "Post",
ContentType = "application/json;charset=utf-8",
Postdata = JsonConvert.SerializeObject(new { RoleID = RoleAutoID })
});
#endregion
break;
case "sql":
#region sql
result = RoleAccess.Instance.ClearRoleAuths(RoleAutoID);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
result.Code = -1;
result.Message = ex.Message;
}
return result;
}
public APIResponseData CheckRoleCodeExists(string RoleCode)
{
APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败" };
try
{
switch (Models.Config.Configurations.Properties.ConnType?.ToLower())
{
case "api":
#region api
result = ApiHelper.Instance.SendMessage(new HttpItem
{
URL = ServiceRoute.CheckRoleCodeExists,
Method = "Post",
ContentType = "application/json; charset=utf-8",
Postdata = JsonConvert.SerializeObject(new { RoleCode = RoleCode })
});
//if (result.Code == 1)
//{
// string json = JsonConvert.SerializeObject(result.Data);
// result.Data = JsonConvert.DeserializeObject<List<RoleAuthsModel>>(json);
//}
#endregion
break;
case "sql":
#region sql
result = AuthAccess.Instance.CheckRoleCodeExists(RoleCode);
#endregion
break;
default:
break;
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}
}
}