using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using ICSharpCode.Core; using Mesnac.Codd.Session; namespace Mesnac.Action.Default.Purview { /// <summary> /// Purview辅助类 /// </summary> public class PurviewHelper { #region 角色 /// <summary> /// 判断SeqIndex在角色表中是否存在 /// </summary> /// <param name="shiftID">要判断的SeqIndex</param> /// <returns>存在返回true,否则返回false</returns> public static bool IsExistsSeqIndex(string seqIndex) { DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); if (dbHelper == null) { throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError); } string sqlstr = "SELECT COUNT(GUID) FROM BasRole WHERE SeqIndex = @SeqIndex"; dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dbHelper.AddParameter("@SeqIndex", seqIndex); object result = dbHelper.ToScalar(); if (result != null && result != System.DBNull.Value) { int intResult = 0; if (int.TryParse(result.ToString(), out intResult)) { if (intResult > 0) { return true; } } } return false; } /// <summary> /// 判断RoleName在角色表中是否存在 /// </summary> /// <param name="shiftID">要判断的RoleName</param> /// <returns>存在返回true,否则返回false</returns> public static bool IsExistsRoleName(string roleName) { DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); if (dbHelper == null) { throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError); } string sqlstr = "SELECT COUNT(GUID) FROM BasRole WHERE RoleName = @RoleName"; dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dbHelper.AddParameter("@RoleName", roleName); object result = dbHelper.ToScalar(); if (result != null && result != System.DBNull.Value) { int intResult = 0; if (int.TryParse(result.ToString(), out intResult)) { if (intResult > 0) { return true; } } } return false; } #endregion #region 用户 /// <summary> /// 获取角色列表 /// </summary> /// <returns>返回角色列表</returns> public static DataTable GetRoleListForSelect() { DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); if (dbHelper == null) { ICSharpCode.Core.LoggingService<PurviewHelper>.Error("获取数据连接失败,请检查数据库连接字符串是否正确!"); throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError); } string sqlstr = @"SELECT '' AS GUID, '0' AS SeqIndex, '{0}' AS RoleName UNION ALL SELECT GUID, SeqIndex, RoleName FROM BasRole WHERE DeleteFlag = '0' ORDER BY SeqIndex"; sqlstr = String.Format(sqlstr, Mesnac.Basic.LanguageHelper.PleaseSelect); return dbHelper.GetDataTableBySql(sqlstr); } /// <summary> /// 获取班组列表 /// </summary> /// <returns>返回班组列表</returns> public static DataTable GetClassListForSelect() { DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); if (dbHelper == null) { ICSharpCode.Core.LoggingService<PurviewHelper>.Error("获取数据连接失败,请检查数据库连接字符串是否正确!"); throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError); } string sqlstr = @"SELECT '' AS GUID, 0 AS ClassID, '{0}' AS ClassName UNION ALL SELECT GUID, ClassID, ClassName FROM PptClass WHERE UseFlag = '1' ORDER BY ClassID"; sqlstr = String.Format(sqlstr, Mesnac.Basic.LanguageHelper.PleaseSelect); return dbHelper.GetDataTableBySql(sqlstr); } /// <summary> /// 判断SeqIndex在用户表中是否存在 /// </summary> /// <param name="shiftID">要判断的SeqIndex</param> /// <returns>存在返回true,否则返回false</returns> public static bool IsExistsSeqIndex2(string seqIndex) { DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); if (dbHelper == null) { throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError); } string sqlstr = "SELECT COUNT(GUID) FROM BasUser WHERE SeqIndex = @SeqIndex"; dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dbHelper.AddParameter("@SeqIndex", seqIndex); object result = dbHelper.ToScalar(); if (result != null && result != System.DBNull.Value) { int intResult = 0; if (int.TryParse(result.ToString(), out intResult)) { if (intResult > 0) { return true; } } } return false; } /// <summary> /// 判断用户账号在用户表中是否存在 /// </summary> /// <param name="shiftID">要判断的用户账号</param> /// <returns>存在返回true,否则返回false</returns> public static bool IsExistsUserName(string userName) { DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); if (dbHelper == null) { throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError); } string sqlstr = "SELECT COUNT(GUID) FROM BasUser WHERE UserName = @UserName"; dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dbHelper.AddParameter("@UserName", userName); object result = dbHelper.ToScalar(); if (result != null && result != System.DBNull.Value) { int intResult = 0; if (int.TryParse(result.ToString(), out intResult)) { if (intResult > 0) { return true; } } } return false; } #endregion } }