public C_USER_PRIVILEGE GetDataObject() { C_USER_PRIVILEGE DataObject = new C_USER_PRIVILEGE(); DataObject.ID = this.ID; DataObject.SYSTEM_NAME = this.SYSTEM_NAME; DataObject.USER_ID = this.USER_ID; DataObject.PRIVILEGE_ID = this.PRIVILEGE_ID; DataObject.EDIT_TIME = this.EDIT_TIME; DataObject.EDIT_EMP = this.EDIT_EMP; return(DataObject); }
/// <summary> /// 使用遞歸給用戶添加權限以及上層權限 /// </summary> /// <param name="EmpNo"></param> /// <param name="user"></param> /// <param name="PrivilegeId"></param> /// <param name="Bu"></param> /// <param name="SystemName"></param> /// <param name="EditEmp"></param> /// <param name="Counter"></param> /// <param name="DB"></param> public void Add(string EmpNo, C_USER user, string PrivilegeId, string Bu, string SystemName, string EditEmp, ref Int32 Counter, OleExec DB) { if (user == null) { List <C_USER> Users = DB.ORM.Queryable <C_USER>().Where(u => u.EMP_NO == EmpNo).ToList(); if (Users.Count > 0) { user = Users.First(); } else { return; } } bool exist = DB.ORM.Queryable <C_USER_PRIVILEGE>().Where(up => up.USER_ID == user.ID && up.PRIVILEGE_ID == PrivilegeId).Any(); if (!exist) { List <C_PRIVILEGE> ParentPrivileges = DB.ORM.Queryable <C_PRIVILEGE, C_MENU, C_PRIVILEGE>((p1, c1, p2) => p1.MENU_ID == c1.ID && c1.PARENT_CODE == p2.MENU_ID) .Where((p1, c1, p2) => p1.ID == PrivilegeId).Select((p1, c1, p2) => p2).ToList(); foreach (C_PRIVILEGE p in ParentPrivileges) { Add(EmpNo, user, p.ID, Bu, SystemName, EditEmp, ref Counter, DB); } C_USER_PRIVILEGE up = new C_USER_PRIVILEGE() { ID = GetNewID(Bu, DB), USER_ID = user.ID, PRIVILEGE_ID = PrivilegeId, SYSTEM_NAME = SystemName, EDIT_TIME = GetDBDateTime(DB), EDIT_EMP = EditEmp }; Counter += DB.ORM.Insertable <C_USER_PRIVILEGE>(up).ExecuteCommand(); //Counter +=DB.ORM.Insertable(up).ExecuteCommand(); } }