public bool AddUsersToGroups(int[] userIds, UserGroup[] groups)
        {
            if (ArrayIsNullOrEmpty(userIds) || ArrayIsNullOrEmpty(groups))
            {
                throw new ArgumentNullException("userIds,groupIds", "Users or UserGroups can not be null or empty!");
            }
            bool flag = false;

            _session.BeginTransaction();
            try
            {
                foreach (int uid in userIds)
                {
                    User user = User.Retrieve(_session, uid);
                    foreach (UserGroup grp in groups)
                    {
                        if (!grp.UserIsInGroup(user, _session))
                        {
                            grp.AddUser(user, _session);
                        }
                    }
                }
                _session.Commit();
            }
            catch
            {
                _session.Rollback();
                throw;
            }

            return(flag);
        }
Exemple #2
0
        public static SimpleJson GetOrgJSON(ISession session, Org org)
        {
            SimpleJson json = new SimpleJson();

            if (org == null)
            {
                json.HandleError("Org is null");
                return(json);
            }

            json.Add("id", org.OrgId)
            .Add("parent", org.ParentId)
            .Add("root", org.IsRoot)
            .Add("virtual", org.IsVirtual)
            .Add("seq", org.OrgSeq)
            .Add("code", org.OrgCode)
            .Add("name", org.OrgName)
            .Add("remark", org.Description)
            .Add("desc", org);

            if (org.CreateBy > 0)
            {
                User createBy = User.Retrieve(session, org.CreateBy);
                if (createBy != null)
                {
                    json.Add("createBy", string.IsNullOrEmpty(createBy.FullName) ? createBy.UserName : createBy.FullName);
                }
                else
                {
                    Log.Warn <Org>("User {0} (CreateBy) not found when loading org {1}:{2}", org.CreateBy, org.OrgId, org.OrgCode);
                }
            }
            else
            {
                json.Add("createBy", "");
            }
            json.Add("createTime", org.CreateDate);

            if (org.ModifyBy > 0)
            {
                User modefyBy = User.Retrieve(session, org.ModifyBy);
                if (modefyBy != null)
                {
                    json.Add("modifyBy", string.IsNullOrEmpty(modefyBy.FullName) ? modefyBy.UserName : modefyBy.FullName);
                }
                else
                {
                    Log.Warn <Org>("User {0} (ModifyBy) not found when loading org {1}:{2}", org.ModifyBy, org.OrgId, org.OrgCode);
                }
            }
            else
            {
                json.Add("modifyBy", "");
            }
            json.Add("modifyTime", org.ModifyDate);

            User manager = null;

            if (org.Manager > 0)
            {
                manager = User.Retrieve(session, org.Manager);
                if (manager == null)
                {
                    Log.Warn <Org>("User {0} (Manager) not found when loading org {1}:{2}", org.Manager, org.OrgId, org.OrgCode);
                }
            }
            if (manager != null)
            {
                json.Add("managerId", manager.UserId)
                .Add("manager", string.IsNullOrEmpty(manager.FullName) ? manager.UserName : manager.FullName);
            }
            else
            {
                json.Add("managerId", -1)
                .Add("manager", "");
            }

            if (OrgTypeRegistry.HasExtAttr(org.OrgType) && org.ExtAttr != null)
            {
                Type type = OrgTypeRegistry.ExtAttrType(org.OrgType);
                org.ExtAttr.Json(session, json);
            }

            return(json);
        }