using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Transactions; using YX.Entity; namespace YX.DAL { public class SystemRole_Dal { /// /// 通过角色ID 获取角色 /// /// public List GetRoleByRoleId(string Roles_ID) { DataTable dt = new DataTable(); try { using (Sam_DBEntities db=new Sam_DBEntities()) { //string sql = @"SELECT // Roles_ID as '角色ID', // ParentId as '节点位置', // Roles_Name as '角色名称', // Roles_Remark as '角色描述', // SortCode as '排序', // CreateDate as '创建日期', // CreateUserName as '创建人', // ModifyDate as '修改日期', // ModifyUserName as '修改人' // FROM Base_Roles WHERE DeleteMark != 0 and Roles_ID=@Roles_ID ORDER BY SortCode ASC"; //SqlParameter[] par = new SqlParameter[] //{ //new SqlParameter("@Roles_ID", Roles_ID) //}; //dt = SqlHelper.ExecuteDataset(db.Database.Connection.ConnectionString, CommandType.Text, sql, par).Tables[0]; return db.Base_Roles.Where(o=>o.DeleteMark!=0 && o.Roles_ID==Roles_ID).OrderBy(o=>o.SortCode).ToList(); } } catch (Exception) { throw; } } /// /// 获取全部角色 /// /// public List GetRoles() { try { using (Sam_DBEntities db = new Sam_DBEntities()) { return db.Base_Roles.Where(o => o.DeleteMark != 0).OrderBy(o => o.SortCode).ToList(); } } catch (Exception ex) { throw ex; } } /// /// 获取角色节点 /// /// public DataTable GetRoleParentId() { DataTable dt = new DataTable(); try { using (Sam_DBEntities db = new Sam_DBEntities()) { var sql = @"SELECT Roles_ID, Roles_Name + ' - ' + CASE ParentId WHEN '0' THEN '父节' ELSE '子节' END AS Roles_Name FROM Base_Roles WHERE DeleteMark = 1 ORDER BY SortCode ASC"; dt = SqlHelper.ExecuteDataset(db.Database.Connection.ConnectionString, CommandType.Text, sql).Tables[0]; } } catch (Exception ex) { throw ex; } return dt; } public List GetUserRoleByUserID(string UserID) { try { using (Sam_DBEntities db=new Sam_DBEntities()) { return db.Base_UserRole.Where(o => o.Base_UserInfo.User_ID == UserID).ToList(); } } catch (Exception ex) { throw ex; } } /// /// 添加角色 /// /// /// public int AddRoles(Base_Roles info) { try { int result = 0; using (Sam_DBEntities db=new Sam_DBEntities()) { using (TransactionScope trans = new TransactionScope()) { // UserInfo.User_Pwd = Md5Helper.Md5("123456"); db.Base_Roles.Add(info); result = db.SaveChanges(); trans.Complete(); return result; } } } catch (Exception ex) { throw ex; } } /// /// 修改角色 /// /// /// public int UpdateRoles(Base_Roles info) { try { int result = 0; using (Sam_DBEntities db=new Sam_DBEntities()) { using (TransactionScope trans=new TransactionScope()) { db.Database.ExecuteSqlCommand("delete from Base_RoleRight where Roles_ID={0}",info.Roles_ID); if (info.Base_RoleRight != null && info.Base_RoleRight.Count>0) { string sql_roleright = ""; foreach (var item in info.Base_RoleRight) { sql_roleright += string.Format(@"insert into Base_RoleRight ([RoleRight_ID] ,[Roles_ID] ,[Menu_Id] ,[CreateDate] ,[CreateUserId] ,[CreateUserName]) values('{0}','{1}','{2}','{3}','{4}','{5}');" , Guid.NewGuid().ToString(), info.Roles_ID, item.Menu_Id, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), item.CreateUserId, item.CreateUserName); } db.Database.ExecuteSqlCommand(sql_roleright); } //把当前实体的状态改为Modified db.Base_Roles.Attach(info); db.Entry(info).State = EntityState.Modified;//会全部字段修改 db.Entry(info).Property("CreateDate").IsModified = false;//不修改某字段 db.Entry(info).Property("CreateUserId").IsModified = false;//不修改某字段 db.Entry(info).Property("CreateUserName").IsModified = false;//不修改某字段 result = db.SaveChanges(); trans.Complete(); return result; } } } catch (Exception ex) { throw ex; } } public int DeleteRole(string RoleID) { try { using (Sam_DBEntities db=new Sam_DBEntities()) { var obj = new Base_Roles { Roles_ID=RoleID }; db.Base_Roles.Attach(obj); db.Base_Roles.Remove(obj); return db.SaveChanges(); } } catch (Exception ex) { throw ex; } } } }