Exemple #1
0
        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));
            }
        }
Exemple #2
0
 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;
             }
         }
     }
 }
Exemple #3
0
        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));
            }
        }