private static void SecondLevelGroupProcessing(UserAccount ua, global::AecCloud.Core.Domain.User user, Vault vault) { try { var ugs = vault.UserGroupOperations.GetUserGroups(); var ugkey_chiefpostion = new string[] { "总工程师", "总会计师", "总经济师" }; foreach (string chief in ugkey_chiefpostion) { if ((user.CscecRole.Name.Contains(chief) || user.PositionInfo.Name.Contains(chief)) && user.Department.Name == "领导班子") { foreach (UserGroup userGroup in ugs) { if (userGroup.Name.Contains("二级单位-" + chief)) { AddUserIntoGroup(ua, userGroup, vault); break; } } } } ManagerGroupProcessing("经理", ugs, user, vault, ua); ManagerGroupProcessing("书记", ugs, user, vault, ua); var ugkey = new string[] { "分公司经理", "副经理", "副经理(生产)", "工会主席", "财务部", "审计部" }; foreach (string s in ugkey) { if (user.CscecRole.Name == s || user.Department.Name == s || user.PositionInfo.Name == s) { foreach (UserGroup userGroup in ugs) { if (userGroup.Name.Contains("二级单位-" + s)) { AddUserIntoGroup(ua, userGroup, vault); break; } } } } } catch (Exception ex) { // Log.Info(string.Format("SecondLevelGroupProcessing error {0},{1},{2}:" + ex.Message, user.UserName, vault.Name, ua.ID)); } }
private static void ManagerGroupProcessing(string smanager, UserGroups ugs, global::AecCloud.Core.Domain.User user, Vault vault, UserAccount ua) { if ((user.CscecRole.Name == smanager || user.PositionInfo.Name == smanager) && user.Department.Name == "领导班子") { foreach (UserGroup userGroup in ugs) { if (userGroup.Name.Contains("二级单位-" + smanager)) { var uga = vault.UserGroupOperations.GetUserGroupAdmin(userGroup.ID); uga.UserGroup.AddMember(ua.ID); vault.UserGroupOperations.UpdateUserGroupAdmin(uga); break; } } } }
private static void UserGroupProcessing(UserAccount ua, global::AecCloud.Core.Domain.User user, Vault vault) { try { // Log.Info(string.Format("UserGroupProcessing UserAccount {0},aecUser {1},vault {2},FullName={3},Company={4},PositionInfo={5},Department={6}", ua.LoginName, user.CscecRole.Name, // vault.Name, user.FullName, user.Company.Name, user.PositionInfo.Name, user.Department.Name)); var ugs = vault.UserGroupOperations.GetUserGroups(); var ugkey_department = new string[] { "安全环境部", "安全生产管理部", "施工管理部", "工程管理部", "成本管理部", "工程结算部", "商务管理部", "工会", "工会工作部", "党委工作部", "政工部", "纪检监察室", "纪检监察部", "办公室", "人力资源部", "市场一部", "市场二部", "物资部", "技术中心", "财务部", "审计部", "合约法务部", "投资与资金部", "投标管理部", "科技部", "海外部" }; foreach (string s in ugkey_department) { if (user.Department.Name != s) { continue; } var groupidentifer = s; switch (s) { case "安全环境部": groupidentifer = "安全生产管理部"; break; case "施工管理部": groupidentifer = "工程管理部"; break; case "成本管理部": case "工程结算部": groupidentifer = "商务管理部"; break; case "工会": groupidentifer = "工会工作部"; break; case "党委工作部": case "政工部": groupidentifer = "党委工作部"; break; case "纪检监察室": groupidentifer = "纪检监察部"; break; } foreach (UserGroup userGroup in ugs) { if (userGroup.Name == "公司总部-" + groupidentifer) { AddUserIntoGroup(ua, userGroup, vault); break; } } if ((user.CscecRole.Name == "经理" || user.PositionInfo.Name == "经理" || user.CscecRole.Name == "主任" || user.PositionInfo.Name == "主任")) { foreach (UserGroup userGroup in ugs) { if (userGroup.Name.Contains("公司总部-" + groupidentifer + "经理")) { AddUserIntoGroup(ua, userGroup, vault); break; } } } } var ugkey = new string[] { "总经理", "副总经理", "总工程师", "党委副书记", "总经济师", "董事长", "党委书记", "纪委书记", "工会主席" }; foreach (string s in ugkey) { if (user.CscecRole.Name == s || user.PositionInfo.Name == s || user.Department.Name == s) { // Log.Info(string.Format("UserGroupProcessing UserAccount {0},aecUser {1},vault {2},match group {3}",ua.LoginName, user.CscecRole.Name, vault.Name, s)); foreach (UserGroup userGroup in ugs) { if (userGroup.Name.Contains("公司总部-" + s)) { AddUserIntoGroup(ua, userGroup, vault); break; } } } } } catch (Exception ex) { // Log.Info(string.Format("UserGroupProcessing error {0},{1},{2}:" + ex.Message, user.UserName, user.FullName, ua.ID)); } }