/// <summary> /// 获得用户sourceID在角色roleID委派中的被委派对象的显示名称 /// </summary> /// <param name="xmlDoc"></param> protected void GetRoleDelegationUser(XmlDocument xmlDoc) { using (DbContext context = DbContext.GetContext(AppResource.ConnAlias)) { string strSourceID = xmlDoc.DocumentElement.GetAttribute("sourceID"); string strRoleID = xmlDoc.DocumentElement.GetAttribute("roleID"); string strSQL = "SELECT TARGET_ID, START_TIME, END_TIME FROM DELEGATIONS WHERE SOURCE_ID = " + TSqlBuilder.Instance.CheckQuotationMark(strSourceID, true) + " AND ROLE_ID = " + TSqlBuilder.Instance.CheckQuotationMark(strRoleID, true); DataSet ds = InnerCommon.ExecuteDataset(strSQL); _XmlResult = InnerCommon.GetXmlDoc(ds); string strTargetID = string.Empty; if (ds.Tables[0].Rows.Count != 0) { strTargetID = ds.Tables[0].Rows[0]["TARGET_ID"].ToString(); } if (strTargetID != string.Empty) { ds = OGUReader.GetObjectsDetail("USERS", strTargetID, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL); string strDisplayName = ds.Tables[0].Rows[0]["DISPLAY_NAME"].ToString(); XmlHelper.AppendNode <string>(_XmlResult.DocumentElement.SelectSingleNode("DELEGATIONS"), "TARGET_DISPLAYNAME", strDisplayName); } } }
private void InitPageObject() { XmlDocument xmlDoc = this.GetXMLDocument("OrgAttribute"); XmlElement root = xmlDoc.DocumentElement; XmlElement classElem = (XmlElement)root.SelectSingleNode("Attributes[@NAME=\"ORG_CLASS\"]"); foreach (XmlElement itemElem in classElem.ChildNodes) { ORG_CLASS.Items.Add(new ListItem(itemElem.GetAttribute("NAME"), itemElem.GetAttribute("ID"))); } XmlElement typeElem = (XmlElement)root.SelectSingleNode("Attributes[@NAME=\"ORG_TYPE\"]"); foreach (XmlElement itemElem in typeElem.ChildNodes) { ORG_TYPE.Items.Add(new ListItem(itemElem.GetAttribute("NAME"), itemElem.GetAttribute("ID"))); } ORG_TYPE.SelectedIndex = 1; DataSet ds = OGUReader.GetRankDefine(1, 1); RANK_CODE.DataSource = new DataView(ds.Tables[0]); RANK_CODE.DataTextField = "NAME"; RANK_CODE.DataValueField = "CODE_NAME"; RANK_CODE.DataBind(); RANK_CODE.Items.Insert(0, new ListItem("--", string.Empty)); }
private void GetUsersInGroupsInPage() { XmlElement root = _XmlRequest.DocumentElement; string strGroupGuid = root.GetAttribute("GUID"); string strAttrs = OGUCommonDefine.CombinateAttr(root.GetAttribute("extAttr")); int iPageNo = Convert.ToInt32(root.GetAttribute("PageNo")); int iPageSize = Convert.ToInt32(root.GetAttribute("PageSize")); string strSortColumn = root.GetAttribute("PageSort"); string strSearchName = root.GetAttribute("SearchName"); DataSet ds = OGUReader.GetUsersInGroups(strGroupGuid, SearchObjectColumn.SEARCH_GUID, strSearchName, strSortColumn, strAttrs, iPageNo, iPageSize); _XmlResult = InnerCommon.GetXmlDocAttr(ds.Tables[0], "OBJECTCLASS"); _XmlResult.DocumentElement.SetAttribute("GetCount", OGUReader.GetUsersInGroups(strGroupGuid, SearchObjectColumn.SEARCH_GUID, strSearchName, strSortColumn, 0, 0).Tables[0].Rows.Count.ToString()); }
private void InitPageObject() { using (DbContext context = DbContext.GetContext(AccreditResource.ConnAlias)) { DataSet ds = OGUReader.GetRankDefine(2, 1); USER_RANK_SEARCH.DataSource = new DataView(ds.Tables[0]); USER_RANK_SEARCH.DataTextField = "NAME"; USER_RANK_SEARCH.DataValueField = "CODE_NAME"; USER_RANK_SEARCH.DataBind(); USER_RANK_SEARCH.Items.Insert(0, new ListItem("--", "")); USER_RANK.DataSource = new DataView(ds.Tables[0]); USER_RANK.DataTextField = "NAME"; USER_RANK.DataValueField = "CODE_NAME"; USER_RANK.DataBind(); USER_RANK.Items.Insert(0, new ListItem("--", "")); ds = OGUReader.GetRankDefine(1, 1); ORGANIZATION_RANK_SEARCH.DataSource = new DataView(ds.Tables[0]); ORGANIZATION_RANK_SEARCH.DataTextField = "NAME"; ORGANIZATION_RANK_SEARCH.DataValueField = "CODE_NAME"; ORGANIZATION_RANK_SEARCH.DataBind(); ORGANIZATION_RANK_SEARCH.Items.Insert(0, new ListItem("--", "")); } }
private void AddSidelineObjects(string strOrgGuid) { string strObjGuid = (string)GetRequestData("objGuid", string.Empty); DataSet ds, orgDs; DataRow row; ds = OGUReader.GetObjectsDetail("USERS", strObjGuid, SearchObjectColumn.SEARCH_USER_GUID, strOrgGuid, SearchObjectColumn.SEARCH_GUID); ExceptionHelper.TrueThrow((ds == null) || (ds.Tables.Count == 0) || (ds.Tables[0].Rows.Count == 0), "对不起,系统中没有找到指定的对象!"); row = ds.Tables[0].Rows[0]; string strSParentGuid = (string)GetRequestData("SParentGuid", string.Empty); orgDs = OGUReader.GetObjectsDetail("ORGANIZATIONS", strSParentGuid, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL); parentAllPathName.Value = OGUCommonDefine.DBValueToString(orgDs.Tables[0].Rows[0]["ALL_PATH_NAME"]); row["ALL_PATH_NAME"] = parentAllPathName.Value + "\\" + OGUCommonDefine.DBValueToString(row["OBJ_NAME"]); row["SIDELINE"] = 1; row["CREATE_TIME"] = row["END_TIME"] = row["START_TIME"] = row["RANK_NAME"] = DBNull.Value; userData.Value = InnerCommon.GetXmlDoc(ds).OuterXml; }
//public SearchOrgChildrenCondition(string strRootGuids, string strAttrs, DataAccess da) //{ // InitSearchOrgChildrenCondition(strRootGuids, strAttrs, da); //} /// <summary> /// 构造函数(构造数据对象查询条件) /// </summary> /// <param name="strRootValues">指定的机构标识(多个之间采用“,”分隔)</param> /// <param name="soc">查询要求的查询列名称 /// (GUID、USER_GUID、LOGON_NAME、ORIGINAL_SORT、GLOBAL_SORT、ALL_PATH_NAME)</param> /// <param name="strAttrs">要求获取的属性</param> public SearchOrgChildrenCondition(string strRootValues, SearchObjectColumn soc, string strAttrs) { using (DbContext context = DbContext.GetContext(CommonResource.AccreditConnAlias)) { string strRootGuids = string.Empty; if (strRootValues.Length > 0 && soc != SearchObjectColumn.SEARCH_GUID) { Database database = DatabaseFactory.Create(context); DataSet ds = OGUReader.GetObjectsDetail("ORGANIZATIONS", strRootValues, soc, string.Empty, SearchObjectColumn.SEARCH_NULL, string.Empty); foreach (DataRow row in ds.Tables[0].Rows) { if (strRootGuids.Length > 0) { strRootGuids += ","; } strRootGuids += row["GUID"].ToString(); } } else { strRootGuids = strRootValues; } InitSearchOrgChildrenCondition(strRootGuids, strAttrs, string.IsNullOrEmpty(strRootValues) ? true : false); } }
private static IList <string> GetUserDepartmentsPath(DataTable userTable) { Dictionary <string, string> allPathDict = new Dictionary <string, string>(); foreach (DataRow row in userTable.Rows) { string fullPath = row["ALL_PATH_NAME"].ToString(); string[] allPath = GetAncestorsFullPath(fullPath); foreach (string path in allPath) { allPathDict[path] = path; } } List <string> result = new List <string>(); if (allPathDict.Count > 0) { string ids = GetAllPathString(allPathDict); DataTable deptTable = OGUReader.GetObjectsDetail("ORGANIZATIONS", ids, SearchObjectColumn.SEARCH_ALL_PATH_NAME).Tables[0]; foreach (DataRow row in deptTable.Rows) { result.Add(row["GUID"].ToString()); } } return(result); }
/// <summary> /// 取得填写日志的SQL语句 /// </summary> /// <param name="userLogonName">用户登录名</param> /// <param name="winVer">windows版本</param> /// <param name="ieVer">IE版本</param> /// <param name="hostIP">客户端IP地址</param> /// <param name="hostName">客户端机器名</param> /// <param name="killInfo">杀毒软件</param> /// <param name="status">是否登陆成功</param> /// <param name="description">系统说明</param> /// <returns>INSERT INTO SYS_USER_LOGON + WHERE ......</returns> private static string GetInsertSysSql2(string userLogonName, string winVer, string ieVer, string hostIP, string hostName, string killInfo, string status, string description) { DataRow row = OGUReader.GetObjectsDetail("USERS", userLogonName, SearchObjectColumn.SEARCH_LOGON_NAME).Tables[0].Rows[0]; string strUserDisplayname = (string)row["DISPLAY_NAME"]; string strUserGuid = (string)row["USER_GUID"]; string strUserAllPathName = (string)row["ALL_PATH_NAME"]; InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("USER_GUID", strUserGuid); ic.AppendItem("USER_DISPLAYNAME", strUserDisplayname); ic.AppendItem("USER_DISTINCTNAME", strUserAllPathName); ic.AppendItem("USER_LOGONNAME", userLogonName); ic.AppendItem("HOST_IP", hostIP); ic.AppendItem("HOST_NAME", hostName); ic.AppendItem("WINDOWS_VERSION", winVer); ic.AppendItem("IE_VERSION", ieVer); ic.AppendItem("KILL_VIRUS", killInfo); ic.AppendItem("STATUS", status); ic.AppendItem("DESCRIPTION", description); return(" INSERT INTO SYS_USER_LOGON " + ic.ToSqlString(TSqlBuilder.Instance)); }
private XmlDocument eventContainer_GroupSortObjects(XmlDocument xmlDoc, Dictionary <object, object> context) { XmlDocument result; XmlElement root = xmlDoc.DocumentElement; string strGroupGuid = root.GetAttribute("GUID"); ExceptionHelper.TrueThrow(strGroupGuid == string.Empty, "对不起,没有指定人员组的标识!"); string strSql = @" UPDATE GROUPS SET MODIFY_TIME = GETDATE() WHERE GUID = {0};" ; strSql = string.Format(strSql, TSqlBuilder.Instance.CheckQuotationMark(strGroupGuid, true)); int iPageNo = Convert.ToInt32(root.GetAttribute("PageNo")); int iPageSize = Convert.ToInt32(root.GetAttribute("PageSize")); StringBuilder builder = new StringBuilder(1024); for (int iSort = iPageNo * iPageSize; iSort < root.ChildNodes.Count; iSort++) { XmlNode elem = root.ChildNodes[iSort]; string strUserGuid = elem.SelectSingleNode("USER_GUID").InnerText; string strOrgGuid = elem.SelectSingleNode("USER_PARENT_GUID").InnerText; ExceptionHelper.TrueThrow(strUserGuid == string.Empty || strOrgGuid == string.Empty, "对不起,存在未指定的用户身份标志!"); strSql = @" UPDATE GROUP_USERS SET INNER_SORT = {0}, MODIFY_TIME = GETDATE() WHERE GROUP_GUID = {1} AND USER_GUID = {2} AND USER_PARENT_GUID = {3} " ; strSql = string.Format(strSql, TSqlBuilder.Instance.CheckQuotationMark(iSort.ToString(CommonResource.OriginalSortDefault), true), TSqlBuilder.Instance.CheckQuotationMark(strGroupGuid, true), TSqlBuilder.Instance.CheckQuotationMark(strUserGuid, true), TSqlBuilder.Instance.CheckQuotationMark(strOrgGuid, true)); builder.Append(strSql + Environment.NewLine); } InnerCommon.ExecuteNonQuery(strSql); DataSet ds = OGUReader.GetUsersInGroups(strGroupGuid, SearchObjectColumn.SEARCH_GUID, OGUCommonDefine.CombinateAttr(root.GetAttribute("extAttr")), string.Empty, SearchObjectColumn.SEARCH_NULL, string.Empty, (int)ListObjectDelete.COMMON); result = this.GetXmlDocAttr(ds.Tables[0], "OBJECTCLASS"); return(result); }
private static IList <string> PrepareUserDepartmentIDs(string userID) { List <string> deptIds = new List <string>(); DataTable table = OGUReader.GetObjectsDetail("USERS", userID, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL, "RANK_CODE").Tables[0]; return(GetUserDepartmentsPath(table)); }
private void InitPageObject() { DataSet ds = OGUReader.GetRankDefine(2, 1); RANK_CODE.DataSource = new DataView(ds.Tables[0]); RANK_CODE.DataTextField = "NAME"; RANK_CODE.DataValueField = "CODE_NAME"; RANK_CODE.DataBind(); RANK_CODE.Items.Insert(0, new ListItem("--", string.Empty)); }
private void InsertObjects(string strOrgGuid) { DataSet ds = OGUReader.GetObjectsDetail("ORGANIZATIONS", strOrgGuid, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL); parentAllPathName.Value = OGUCommonDefine.DBValueToString(ds.Tables[0].Rows[0]["ALL_PATH_NAME"]); }
/// <summary> /// 根据查询条件获取系统中符合条件的数据对象 /// </summary> /// //2009-05-08 private void QueryOGUByCondition2() { XmlNode root = _XmlRequest.DocumentElement.FirstChild; string strRootOrg = XmlHelper.GetSingleNodeValue <string>(root, "ALL_PATH_NAME", string.Empty); string strLikeName = XmlHelper.GetSingleNodeValue <string>(root, "name", "*"); bool bFirstPerson = (root.SelectSingleNode("firstPerson") != null); string strOrgAccessRankCN = string.Empty; string strUserAccessRankCN = string.Empty; int iQueryType = (int)ListObjectType.GROUPS; if (root.SelectSingleNode("USERS") != null) { iQueryType = (int)(ListObjectType.USERS | ListObjectType.SIDELINE); strUserAccessRankCN = XmlHelper.GetSingleNodeValue <string>(root, "RANK_CODE", string.Empty); } else { if (root.SelectSingleNode("ORGANIZATIONS") != null) { iQueryType = (int)ListObjectType.ORGANIZATIONS; strOrgAccessRankCN = XmlHelper.GetSingleNodeValue <string>(root, "RANK_CODE", string.Empty); } } string strAttr = OGUCommonDefine.CombinateAttr(string.Empty); using (DbContext context = DbContext.GetContext(AccreditResource.ConnAlias)) { string strOrgGuid = string.Empty; string strSql = string.Empty; if (strRootOrg.Length > 0) { strSql = "SELECT GUID FROM ORGANIZATIONS WHERE ALL_PATH_NAME = " + TSqlBuilder.Instance.CheckQuotationMark(strRootOrg, true); Database database = DatabaseFactory.Create(context); object obj = database.ExecuteScalar(CommandType.Text, strSql); ExceptionHelper.TrueThrow(obj == null, "系统中没有找到指定的根对象(“" + strRootOrg + "”)!"); strOrgGuid = obj.ToString(); } else { strOrgGuid = OGUCommonDefine.DBValueToString(OGUReader.GetRootDSE().Tables[0].Rows[0]["GUID"]); } DataSet ds = OGUReader.QueryOGUByCondition2(strOrgGuid, SearchObjectColumn.SEARCH_GUID, strLikeName, true, strAttr, iQueryType, ListObjectDelete.COMMON, 0, string.Empty, -1); _XmlResult = InnerCommon.GetXmlDocAttr(ds.Tables[0], "OBJECTCLASS"); Debug.WriteLine(_XmlResult.OuterXml, "Result"); } }
/// <summary> /// 获得用户的全名称 /// </summary> /// <param name="xmlDoc"></param> /// <remarks> /// <code> /// <getUserAllPathName guid="dddd"></getUserdisplayName> /// </code> /// </remarks> protected void GetUserAllPathName(XmlDocument xmlDoc) { string strUserGuid = xmlDoc.DocumentElement.GetAttribute("guid"); DataSet ds = OGUReader.GetObjectsDetail("USERS", strUserGuid); string strAllPathName = ds.Tables[0].Rows[0]["ALL_PATH_NAME"].ToString(); _XmlResult.LoadXml("<DataSet />"); _XmlResult.DocumentElement.SetAttribute("allPathName", strAllPathName); }
/// <summary> /// /// </summary> private void GetSecretariesOfLeaders() { XmlElement root = _XmlRequest.DocumentElement; string strLeaderGuid = root.GetAttribute("GUID"); string strAttrs = OGUCommonDefine.CombinateAttr(root.GetAttribute("extAttr")); DataSet ds = OGUReader.GetSecretariesOfLeaders(strLeaderGuid, SearchObjectColumn.SEARCH_GUID, strAttrs, (int)ListObjectDelete.COMMON); _XmlResult = InnerCommon.GetXmlDocAttr(ds.Tables[0], "OBJECTCLASS"); }
/// <summary> /// 查询userID在应用的角色中存在的所有应用 /// </summary> /// <param name="xmlDoc"></param> /// <remarks> /// <code> /// <getDelegationApps logonName="userlogonname" idType="logonName" appID="application_id"></getDelegationApps> /// </code> /// </remarks> protected void GetDelegationApplications(XmlDocument xmlDoc) { string strLogonName = xmlDoc.DocumentElement.GetAttribute("logonName"); DataSet ds = SecurityCheck.GetUserApplicationsForDelegation(strLogonName, UserValueType.LogonName, RightMaskType.All); _XmlResult = InnerCommon.GetXmlDoc(ds); ds = OGUReader.GetObjectsDetail("USERS", strLogonName, SearchObjectColumn.SEARCH_LOGON_NAME, string.Empty, SearchObjectColumn.SEARCH_NULL); string strDisplayName = ds.Tables[0].Rows[0]["DISPLAY_NAME"].ToString(); _XmlResult.DocumentElement.SetAttribute("displayName", strDisplayName); }
protected void Page_Load(object sender, System.EventArgs e) { Response.Cache.SetNoStore(); string strUserGuid = (string)GetRequestData("Guid", string.Empty); ExceptionHelper.TrueThrow(strUserGuid == string.Empty, "对不起,没有指定确定的用户!"); DataSet ds = OGUReader.GetObjectsDetail("USERS", strUserGuid); rsUserMessDetail.Value = OGUReader.GetLevelSortXmlDocAttr(ds.Tables[0], "GLOBAL_SORT", "OBJECTCLASS", Properties.AccreditResource.OriginalSortDefault.Length).OuterXml; }
protected void Page_Load(object sender, System.EventArgs e) { Response.Cache.SetNoStore(); string strParentGuid = (string)GetRequestData("parentGuid", string.Empty).ToString(); string strOPType = (string)GetRequestData("opType", string.Empty); ExceptionHelper.TrueThrow(strOPType == string.Empty, "对不起,系统传输数据缺少“opType”!"); if (false == IsPostBack) { using (DbContext context = DbContext.GetContext(AccreditResource.ConnAlias)) { InitPageObject(); switch (strOPType) { case "Update": string strObjGuid = (string)GetRequestData("objGuid", string.Empty); ExceptionHelper.TrueThrow(string.IsNullOrEmpty(strObjGuid), "对不起,系统传输数据缺少“objGuid”!"); DataSet ds = OGUReader.GetObjectsDetail("ORGANIZATIONS", strObjGuid, SearchObjectColumn.SEARCH_GUID, strParentGuid, SearchObjectColumn.SEARCH_GUID); ExceptionHelper.TrueThrow((ds == null) || (ds.Tables.Count == 0) || (ds.Tables[0].Rows.Count == 0), "对不起,系统中没有找到指定的对象!"); organizationData.Value = InnerCommon.GetXmlDoc(ds).OuterXml; string strAllPathName = OGUCommonDefine.DBValueToString(ds.Tables[0].Rows[0]["ALL_PATH_NAME"]); if (strAllPathName.LastIndexOf("\\") >= 0) { parentAllPathName.Value = strAllPathName.Substring(0, strAllPathName.LastIndexOf("\\")); } break; case "Insert": string strSql = "SELECT ALL_PATH_NAME FROM ORGANIZATIONS WHERE GUID = " + TSqlBuilder.Instance.CheckQuotationMark(strParentGuid, true); parentAllPathName.Value = InnerCommon.ExecuteScalar(strSql).ToString(); break; default: ExceptionHelper.TrueThrow(true, "对不起,系统传输数据“opType”不正确!"); break; } } CheckPermission(strOPType); } }
private static IList <string> PrepareUserGroupIDs(string userID) { List <string> groupIds = new List <string>(); DataTable table = OGUReader.GetGroupsOfUsers(userID, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_GUID, string.Empty).Tables[0]; foreach (DataRow row in table.Rows) { if (groupIds.Exists(id => id == row["GUID"].ToString()) == false) { groupIds.Add(row["GUID"].ToString()); } } return(groupIds); }
/// <summary> /// /// </summary> private void GetObjectsDetail() { XmlElement root = _XmlRequest.DocumentElement; string strValueType = root.GetAttribute("valueType"); SearchObjectColumn soc = OGUCommonDefine.GetSearchObjectColumn(strValueType); string strValue = root.GetAttribute("oValues"); string strExtAttr = root.GetAttribute("extAttrs"); DataSet ds = OGUReader.GetObjectsDetail(string.Empty, strValue, soc, string.Empty, SearchObjectColumn.SEARCH_NULL, strExtAttr); _XmlResult = InnerCommon.GetXmlDocAttr(ds.Tables[0], "OBJECTCLASS"); #if DEBUG Debug.WriteLine(_XmlResult.OuterXml, "Result"); #endif }
private XmlDocument GetSearchData() { string strAllColumns = (string)GetFormData("dataColumns", "ALL_PATH_NAME"); GetXmlParam(strAllColumns); string strRootOrgGuid = (string)GetFormData("rootOrganizationGuid", string.Empty); int iDataType = (int)GetFormData("ExportOrganization", 0) + (int)GetFormData("ExportGroup", 0) + (int)GetFormData("ExportUser", 0); if ((int)GetFormData("ExportUser", 0) != 0) { iDataType += 8; } DataSet ds = OGUReader.GetOrganizationChildren(strRootOrgGuid, SearchObjectColumn.SEARCH_GUID, iDataType, (int)ListObjectDelete.COMMON, 0, string.Empty, string.Empty, strAllColumns); XmlDocument xmlDoc = new XmlDocument(); xmlDoc = OGUReader.GetLevelSortXmlDocAttr(ds.Tables[0], "GLOBAL_SORT", "OBJECTCLASS", AccreditResource.OriginalSortDefault.Length); XmlElement root = xmlDoc.DocumentElement; string strRootOrg = root.FirstChild.Attributes["ALL_PATH_NAME"].Value; if (root.FirstChild.Attributes["OBJECTCLASS"].Value != "ORGANIZATIONS") { strRootOrg = OGUReader.GetObjectsDetail("ORGANIZATIONS", strRootOrgGuid, SearchObjectColumn.SEARCH_GUID).Tables[0].Rows[0]["ALL_PATH_NAME"].ToString(); } root.SetAttribute("rootOrg", strRootOrg.Replace("\\", ".")); xmlResultServer.DocumentContent = xmlDoc.DocumentElement.OuterXml; return(xmlDoc); }
/// <summary> /// /// </summary> /// <param name="userLogonName"></param> /// <param name="strAppName"></param> /// <param name="strHostIP"></param> /// <param name="strHostName"></param> /// <param name="strUrl"></param> /// <param name="strGoalID"></param> /// <param name="strGoalName"></param> /// <param name="strGoalDisplayName"></param> /// <param name="strOpType"></param> /// <param name="strExplain"></param> /// <param name="strOriginalData"></param> /// <param name="bOpSucceed"></param> /// <returns></returns> private static string GetInsertUserSql2(string userLogonName, string strAppName, string strHostIP, string strHostName, string strUrl, string strGoalID, string strGoalName, string strGoalDisplayName, string strOpType, string strExplain, string strOriginalData, bool bOpSucceed) { DataRow row = OGUReader.GetObjectsDetail("USERS", userLogonName, SearchObjectColumn.SEARCH_LOGON_NAME).Tables[0].Rows[0]; string strUserDisplayname = (string)row["DISPLAY_NAME"]; string strUserGuid = (string)row["USER_GUID"]; string strUserAllPathName = (string)row["ALL_PATH_NAME"]; InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("OP_USER_DISPLAYNAME", strUserDisplayname); ic.AppendItem("OP_USER_GUID", strUserGuid); ic.AppendItem("OP_USER_DISTINCTNAME", strUserAllPathName); ic.AppendItem("OP_USER_LOGONNAME", userLogonName); ic.AppendItem("HOST_IP", strHostIP); ic.AppendItem("HOST_NAME", strHostName); ic.AppendItem("APP_GUID", GetGuidByType(strAppName, "", "CODE_NAME")); //ic.AppendItem("APP_GUID", strAppName); ic.AppendItem("OP_URL", strUrl); ic.AppendItem("GOAL_ID", strGoalID); ic.AppendItem("GOAL_NAME", strGoalName); ic.AppendItem("GOAL_DISNAME", strGoalDisplayName); ic.AppendItem("OP_GUID", GetGuidByType(strAppName, strOpType, "CODE_NAME")); //ic.AppendItem("OP_GUID", strAppName); ic.AppendItem("GOAL_EXPLAIN", strExplain); ic.AppendItem("ORIGINAL_DATA", strOriginalData); ic.AppendItem("LOG_SUCCED", bOpSucceed ? "y" : "n"); return(" INSERT INTO USER_OPEATION_LOG " + ic.ToSqlString(TSqlBuilder.Instance)); }
protected void Page_Load(object sender, System.EventArgs e) { Response.Cache.SetNoStore(); string strGroupGuid = (string)GetRequestData("Guid", string.Empty); ExceptionHelper.TrueThrow(strGroupGuid == string.Empty, "对不起,没有确定的人员组标识!"); LeaderGuid.Value = strGroupGuid; DataSet ds = OGUReader.GetObjectsDetail("USERS", strGroupGuid, SearchObjectColumn.SEARCH_USER_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL); LeaderDisplayName.Text = OGUCommonDefine.DBValueToString(ds.Tables[0].Rows[0]["DISPLAY_NAME"]); userPermission.Value = classLib.OGUUserPermission.GetOGUPemission(); }
/// <summary> /// 根据查询条件查询系统中符合条件的所有对象 /// </summary> private void QueryObjForOGUInput() { XmlElement root = (XmlElement)_XmlRequest.DocumentElement.FirstChild; string strLikeName = root.GetAttribute("likeName"); ExceptionHelper.TrueThrow(strLikeName.Length == 0, "对不起,查询条件不能为空!"); int iListType = 0; string strQueryObjMask = root.GetAttribute("queryObjMask"); if (strQueryObjMask.Length == 0) { iListType = (int)ListObjectType.USERS; } else { iListType = int.Parse(strQueryObjMask); } string strRootOrg = root.GetAttribute("rootOrg"); if (strRootOrg.Length == 0) { strRootOrg = AccreditSection.GetConfig().AccreditSettings.OguRootName; } string strOrgAccessLevel = root.GetAttribute("orgAccessLevel"); string strUserAccesslevel = root.GetAttribute("userAccessLevel"); string strAttr = root.GetAttribute("extAttr"); DataSet ds = OGUReader.QueryOGUByCondition(strRootOrg, SearchObjectColumn.SEARCH_ALL_PATH_NAME, strLikeName, false, strOrgAccessLevel, strUserAccesslevel, strAttr, iListType); _XmlResult = InnerCommon.GetXmlDocAttr(ds.Tables[0], "OBJECTCLASS"); Debug.WriteLine(_XmlResult.OuterXml, "Result"); }
private void UpdateObjects(string strOrgGuid) { string strObjGuid = (string)GetRequestData("objGuid", string.Empty); DataSet ds = OGUReader.GetObjectsDetail("USERS", strObjGuid, SearchObjectColumn.SEARCH_USER_GUID, strOrgGuid, SearchObjectColumn.SEARCH_GUID); ExceptionHelper.TrueThrow((ds == null) || (ds.Tables.Count == 0) || (ds.Tables[0].Rows.Count == 0), "对不起,系统中没有找到指定的对象!"); userData.Value = InnerCommon.GetXmlDoc(ds).OuterXml; string strAllPathName = OGUCommonDefine.DBValueToString(ds.Tables[0].Rows[0]["ALL_PATH_NAME"]); if (strAllPathName.LastIndexOf("\\") >= 0) { parentAllPathName.Value = strAllPathName.Substring(0, strAllPathName.LastIndexOf("\\")); } }
//public SearchOrgChildrenCondition(string strRootValues, SearchObjectColumn soc, string strAttrs, DataAccess da) //{ // string strRootGuids = string.Empty; // if (strRootValues.Length > 0 && soc != SearchObjectColumn.SEARCH_GUID) // { // DataSet ds = OGUReader.GetObjectsDetail("ORGANIZATIONS", // strRootValues, // soc, // string.Empty, // SearchObjectColumn.SEARCH_NULL, // string.Empty, // da); // foreach (DataRow row in ds.Tables[0].Rows) // { // if (strRootGuids.Length > 0) // strRootGuids += ","; // strRootGuids += XmlHelper.DBValueToString(row["GUID"]); // } // } // else // strRootGuids = strRootValues; // InitSearchOrgChildrenCondition(strRootGuids, strAttrs, da); //} #endregion #region Private Function Define private void InitSearchOrgChildrenCondition(string strRootGuids, string strAttrs, bool isNeedDefault) { using (DbContext context = DbContext.GetContext(CommonResource.AccreditConnAlias)) { Database database = DatabaseFactory.Create(context); if (0 == strRootGuids.Length && true == isNeedDefault) { strRootGuids = OGUReader.GetRootDSE().Tables[0].Rows[0]["GUID"].ToString(); } string[] strRoots = strRootGuids.Split(','); _HashRoot = new SortedList <string, string>(); // new Hashtable(); for (int i = 0; i < strRoots.Length; i++) { _HashRoot.Add(strRoots[i], strRoots[i]); } strAttrs = OGUCommonDefine.CombinateAttr(strAttrs); _StrObjAttrs = strAttrs; } }
/// <summary> /// 得到用户在某个应用下的角色 /// </summary> /// <param name="userID"></param> /// <param name="appCodeName"></param> /// <param name="rightMask"></param> /// <returns></returns> public static DataSet GetUserAppRoles( string userID, string appCodeName, RightMaskType rightMask) { IList <string> deptIDs = PrepareUserDepartmentIDs(userID); DataTable tableExpression = GetAllExpressionsInApp(appCodeName, rightMask); ExpContext context = new ExpContext(); DataTable userTable = OGUReader.GetObjectsDetail("USERS", userID, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL, "RANK_CODE").Tables[0]; ExceptionHelper.FalseThrow(userTable.Rows.Count > 0, "不能找到User ID为{0}的用户信息", userID); context.UserRow = userTable.Rows[0]; context.UserDepts = deptIDs; context.RankDefine = OGUReader.GetRankDefine(2).Tables[0].Rows; context.UserGroups = PrepareUserGroupIDs(userID); return(GetUserRolesDS(tableExpression, context)); }
private bool IsObjectIsIncludeInObjects(string strObjType, string strObjValue, SearchObjectColumn soc, DataSet objsDs) { DataSet oDs = OGUReader.GetObjectsDetail(strObjType, strObjValue, soc, string.Empty, SearchObjectColumn.SEARCH_NULL); foreach (DataRow oRow in oDs.Tables[0].Rows) { string strObjAllPathName = OGUCommonDefine.DBValueToString(oRow["ALL_PATH_NAME"]); foreach (DataRow sRow in objsDs.Tables[0].Rows) { string[] strArry = OGUCommonDefine.DBValueToString(sRow["DESCRIPTION"]).Split(',', ';', ' '); foreach (string strValue in strArry) { if (strValue.Length <= strObjAllPathName.Length && strValue.Length >= 0 && strObjAllPathName.Substring(0, strValue.Length) == strValue) { return(true); } } } } return(false); }
protected void Page_Load(object sender, System.EventArgs e) { if (false == IsPostBack) { using (DbContext context = DbContext.GetContext(AccreditResource.ConnAlias)) { DataSet ds = OGUReader.GetRankDefine(1, 1); orgSelectAccessLevel.DataSource = new DataView(ds.Tables[0]); orgSelectAccessLevel.DataTextField = "NAME"; orgSelectAccessLevel.DataValueField = "CODE_NAME"; orgSelectAccessLevel.DataBind(); orgSelectAccessLevel.Items.Insert(0, new ListItem("--", string.Empty)); ds = OGUReader.GetRankDefine(2, 1); userSelectAccessLevel.DataSource = new DataView(ds.Tables[0]); userSelectAccessLevel.DataTextField = "NAME"; userSelectAccessLevel.DataValueField = "CODE_NAME"; userSelectAccessLevel.DataBind(); userSelectAccessLevel.Items.Insert(0, new ListItem("--", string.Empty)); } } }
protected void Page_Load(object sender, System.EventArgs e) { Response.Cache.SetNoStore(); string strGroupGuid = (string)GetRequestData("Guid", string.Empty); ExceptionHelper.TrueThrow(strGroupGuid == string.Empty, "对不起,没有确定的人员组标识!"); groupGuid.Value = strGroupGuid; using (DbContext context = DbContext.GetContext(AccreditResource.ConnAlias)) { DataSet ds = OGUReader.GetObjectsDetail("GROUPS", strGroupGuid, SearchObjectColumn.SEARCH_GUID, string.Empty, SearchObjectColumn.SEARCH_NULL); GroupDisplayName.Text = OGUCommonDefine.DBValueToString(ds.Tables[0].Rows[0]["DISPLAY_NAME"]); userPermission.Value = classLib.OGUUserPermission.GetOGUPemission(); } txtPageSize.Value = AccreditSection.GetConfig().AccreditSettings.GroupUsersPageSize.ToString(); }