using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using CY.IDAL;
|
using System.Data.SqlClient;
|
using System.Data;
|
using System.Transactions;
|
using CY.Model;
|
|
namespace CY.SQLDAL
|
{
|
public class OA_FirmRoleDAL : IOA_FirmRoleDAL
|
{
|
|
private Database _dataBase = null;
|
|
public OA_FirmRoleDAL()
|
{
|
_dataBase = new Database();
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.OA_FirmRole trueModel = model as Model.OA_FirmRole;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@FirmId",trueModel.FirmId),
|
new SqlParameter("@RoleName",trueModel.RoleName),
|
new SqlParameter("@IsUsed",trueModel.IsUsed),
|
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
|
new SqlParameter("@Operator",trueModel.Operator),
|
new SqlParameter("@Remark",trueModel.Remark)
|
};
|
try
|
{
|
_dataBase.Query("sp_OA_FirmRole_Insert", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.OA_FirmRole trueModel = model as Model.OA_FirmRole;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{new SqlParameter("@Keyid",trueModel.Keyid),
|
new SqlParameter("@FirmId",trueModel.FirmId),
|
new SqlParameter("@RoleName",trueModel.RoleName),
|
new SqlParameter("@IsUsed",trueModel.IsUsed),
|
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
|
new SqlParameter("@Operator",trueModel.Operator),
|
new SqlParameter("@Remark",trueModel.Remark)
|
};
|
try
|
{
|
_dataBase.Query("sp_OA_FirmRole_Update", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.OA_FirmRole trueModel = model as Model.OA_FirmRole;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@Keyid",trueModel.Keyid)
|
};
|
try
|
{
|
_dataBase.Query("sp_OA_FirmRole_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 删除角色以及角色的权限
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
public bool DeleteRole(Infrastructure.Domain.IAggregateRoot model)
|
{
|
OA_FirmRolePermissionsRelDAL dal_OA_FirmRolePermissionsRelDAL = new OA_FirmRolePermissionsRelDAL(_dataBase);
|
Model.Sys_Permissions_Role trueModel = model as Model.Sys_Permissions_Role;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
try
|
{
|
using (TransactionScope transactionscope = new TransactionScope())
|
{
|
DeleteModel(model);
|
List<OA_FirmRolePermissionsRel> m_OA_FirmRolePermissionsRelList = dal_OA_FirmRolePermissionsRelDAL.SelectListByRoleId(trueModel.Keyid) as List<OA_FirmRolePermissionsRel>;
|
foreach (var item in m_OA_FirmRolePermissionsRelList)
|
{
|
dal_OA_FirmRolePermissionsRelDAL.DeleteModel(item);
|
}
|
transactionscope.Complete();
|
}
|
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 分页查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <param name="pagination"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.OA_FirmRole> SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
|
{
|
throw new NotImplementedException();
|
}
|
/// <summary>
|
/// 单个查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.OA_FirmRole> SelectAllModel(Infrastructure.Query.Query query)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 根据厂商编号查询全部角色
|
/// </summary>
|
/// <param name="FirmId"></param>
|
/// <returns></returns>
|
public IEnumerable<OA_FirmRole> SelectList(Guid FirmId)
|
{
|
try
|
{
|
IList<OA_FirmRole> result = _dataBase.SelectModel<OA_FirmRole>("*", "OA_FirmRole", " FirmId='" + FirmId + "' ") as IList<OA_FirmRole>;//执行查询
|
return result;//返回结果
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 根据编号查询单个角色
|
/// </summary>
|
/// <param name="Keyid"></param>
|
/// <returns></returns>
|
public OA_FirmRole SelectModel(int? Keyid)
|
{
|
if (Keyid == null || Keyid <= 0)
|
return null;
|
|
IList<OA_FirmRole> result = _dataBase.SelectModel<OA_FirmRole>("*", "OA_FirmRole", string.Format(" Keyid='{0}' ", Keyid)) as IList<OA_FirmRole>;//执行查询
|
if (result != null && result.Count > 0)
|
{
|
return result[0];
|
}
|
else
|
{
|
return null;//返回结果
|
}
|
}
|
|
/// <summary>
|
/// 编辑角色权限
|
/// </summary>
|
/// <param name="Roleid"></param>
|
/// <param name="FirmId"></param>
|
/// <param name="MenusJionRole"></param>
|
/// <returns></returns>
|
public bool EditMenusRole(int? Roleid,Guid FirmId, Dictionary<string, string> MenusJionRole)
|
{
|
try
|
{
|
using (TransactionScope transactionscope = new TransactionScope())
|
{
|
OA_FirmRolePermissionsRelDAL dal_OA_FirmRolePermissionsRelDAL = new OA_FirmRolePermissionsRelDAL(_dataBase);
|
List<OA_FirmRolePermissionsRel> m_OA_FirmRolePermissionsRelList = dal_OA_FirmRolePermissionsRelDAL.SelectListByRoleId(Roleid) as List<OA_FirmRolePermissionsRel>;
|
if (m_OA_FirmRolePermissionsRelList != null && m_OA_FirmRolePermissionsRelList.Count > 0)
|
{
|
dal_OA_FirmRolePermissionsRelDAL.DeleteModel(m_OA_FirmRolePermissionsRelList[0]);
|
}
|
|
foreach (var itemMenuAll in MenusJionRole)
|
{
|
string Menu = itemMenuAll.Key;
|
string Role = itemMenuAll.Value;
|
string[] MenuArry = Menu.Split('-');
|
string MenusOne = MenuArry[0];
|
string MenusTwo = MenuArry[1];
|
string MenusThree = MenuArry[2];
|
OA_FirmRolePermissionsRel m_OA_FirmRolePermissionsRel = new OA_FirmRolePermissionsRel();
|
m_OA_FirmRolePermissionsRel.MenuIdOne = Convert.ToInt32(MenusOne);
|
m_OA_FirmRolePermissionsRel.MenuIdTwo = Convert.ToInt32(MenusTwo);
|
m_OA_FirmRolePermissionsRel.MenuIdThree = Convert.ToInt32(MenusThree);
|
m_OA_FirmRolePermissionsRel.RoleId = Roleid;
|
m_OA_FirmRolePermissionsRel.FirmId = FirmId;
|
m_OA_FirmRolePermissionsRel.FuncGroup = Role.ToString().Trim(',');
|
dal_OA_FirmRolePermissionsRelDAL.InserModel(m_OA_FirmRolePermissionsRel);
|
}
|
transactionscope.Complete();
|
}
|
return true;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 根据角色获取一级菜单
|
/// </summary>
|
/// <param name="RoleId">角色编号</param>
|
/// <returns></returns>
|
public List<Sys_Permissions_Menu> MenusOneList(int? RoleId)
|
{
|
string condition = "";
|
if (RoleId > 0)
|
{
|
condition = "where RoleId = '" + RoleId + "'";
|
}
|
List<Sys_Permissions_Menu> result = _dataBase.SelectModel<Sys_Permissions_Menu>("*", "Sys_Permissions_Menu", " Keyid in ( select MenuIdOne from OA_FirmRolePermissionsRel " + condition + ") order by OrderCode Asc") as IList<Sys_Permissions_Menu> as List<Sys_Permissions_Menu>;//执行查询
|
return result;//返回结果
|
}
|
|
/// <summary>
|
/// 根据一级菜单获取二级菜单
|
/// </summary>
|
/// <param name="MenuIdOne">一级菜单</param>
|
/// <returns></returns>
|
public List<Sys_Permissions_Menu> MenusTwoList(int? MenuIdOne, int? RoleId)
|
{
|
string condition = "";
|
if (RoleId > 0 && MenuIdOne>0)
|
{
|
condition = "where MenuIdOne = '" + MenuIdOne + "' and RoleId ='" + RoleId + "'";
|
}
|
|
List<Sys_Permissions_Menu> result = _dataBase.SelectModel<Sys_Permissions_Menu>("*", "Sys_Permissions_Menu", " Keyid in ( select MenuIdTwo from OA_FirmRolePermissionsRel " + condition + ") order by OrderCode Asc") as IList<Sys_Permissions_Menu> as List<Sys_Permissions_Menu>;//执行查询
|
return result;//返回结果
|
}
|
|
/// <summary>
|
/// 根据二级菜单获取三级菜单
|
/// </summary>
|
/// <param name="MenuIdTwo">二级菜单</param>
|
/// <returns></returns>
|
public List<Sys_Permissions_Menu> MenusThreeList(int? MenuIdTwo, int? RoleId)
|
{
|
string condition = "";
|
if (RoleId > 0 && MenuIdTwo > 0)
|
{
|
condition = "where MenuIdTwo = '" + MenuIdTwo + "' and RoleId ='" + RoleId + "'";
|
}
|
|
List<Sys_Permissions_Menu> result = _dataBase.SelectModel<Sys_Permissions_Menu>("*", "Sys_Permissions_Menu", " Keyid in ( select MenuIdThree from OA_FirmRolePermissionsRel " + condition + ") order by OrderCode Asc") as IList<Sys_Permissions_Menu> as List<Sys_Permissions_Menu>;//执行查询
|
return result;//返回结果
|
}
|
|
}
|
}
|