Ejemplo n.º 1
0
        public virtual YZSoft.Group.MemberCollection GetGroupMembers(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       groupid = request.GetInt32("groupid");

            Group.MemberCollection members;
            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    members = GroupManager.GetGroupMembers(provider, cn, groupid);
                }
            }

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                for (int i = 0; i < members.Count; i++)
                {
                    YZSoft.Group.Member member = members[i];
                    member.User = User.TryGetUser(cn, member.UID);
                    if (member.User == null)
                    {
                        members.RemoveAt(i);
                        i--;
                    }
                }
            }

            return(members);
        }
Ejemplo n.º 2
0
        public virtual object GetGroupAndUserPerm(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       groupid = request.GetInt32("groupid");
            string    uid     = request.GetString("uid", YZAuthHelper.LoginUserAccount);

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    YZSoft.Group.Group  group  = GroupManager.GetGroup(provider, cn, groupid);
                    YZSoft.Group.Member member = GroupManager.GetGroupMember(provider, cn, groupid, uid);

                    return(new
                    {
                        Group = group,
                        Member = member,
                        Perm = member.GroupPerm
                    });
                }
            }
        }
Ejemplo n.º 3
0
        public virtual Group.Group CreateGroup(HttpContext context)
        {
            YZRequest request          = new YZRequest(context);
            string    groupType        = request.GetString("groupType");
            string    FolderID         = request.GetString("FolderID", null);
            string    DocumentFolderID = request.GetString("DocumentFolderID", null);
            JObject   jPost            = request.GetPostData <JObject>();

            Group.Group groupPost = jPost["data"].ToObject <Group.Group>();

            BPMObjectNameCollection uids = new BPMObjectNameCollection();

            if (jPost["uids"] != null)
            {
                uids = jPost["uids"].ToObject <BPMObjectNameCollection>();
            }

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    Group.Group group = new Group.Group();
                    group.GroupType = groupType;
                    group.Name      = groupPost.Name;
                    group.Desc      = groupPost.Desc;

                    if (!String.IsNullOrEmpty(FolderID))
                    {
                        Folder folder = this.CreateGroupFolder(provider, cn, groupPost.Name, FolderID);
                        group.FolderID = folder.FolderID;
                    }

                    if (!String.IsNullOrEmpty(DocumentFolderID))
                    {
                        Folder folder = this.CreateGroupFolder(provider, cn, groupPost.Name, DocumentFolderID);
                        group.DocumentFolderID = folder.FolderID;
                    }

                    group.Owner       = YZAuthHelper.LoginUserAccount;
                    group.CreateAt    = DateTime.Now;
                    group.ImageFileID = groupPost.ImageFileID;
                    group.Deleted     = false;

                    GroupManager.Insert(provider, cn, group);

                    YZSoft.Group.Member member;

                    member         = new YZSoft.Group.Member();
                    member.GroupID = group.GroupID;
                    member.UID     = YZAuthHelper.LoginUserAccount;
                    member.Role    = "Owner";
                    GroupManager.Insert(provider, cn, member);

                    foreach (string uid in uids)
                    {
                        member         = new YZSoft.Group.Member();
                        member.GroupID = group.GroupID;
                        member.UID     = uid;
                        member.Role    = "Member";
                        GroupManager.Insert(provider, cn, member);
                    }

                    return(group);
                }
            }
        }