Пример #1
0
        private void SaveGroup()
        {
            WebGroup group = new WebGroup();

            group.Name = usernameControl.Text;

            List <string> users = new List <string>();

            foreach (ListItem li in dlUsers.Items)
            {
                if (li.Selected)
                {
                    users.Add(li.Value);
                }
            }

            group.Users = users.ToArray();

            try
            {
                int result = ES.Services.WebServers.UpdateSecuredGroup(PanelRequest.ItemID, group);
                if (result < 0)
                {
                    ShowResultMessage(result);
                    return;
                }
            }
            catch (Exception ex)
            {
                ShowErrorMessage("WEB_UPDATE_SECURED_GROUP", ex);
                return;
            }

            ReturnBack();
        }
Пример #2
0
        private void BindGroup()
        {
            if (String.IsNullOrEmpty(PanelRequest.Name))
            {
                return;
            }

            // read group
            WebGroup group = ES.Services.WebServers.GetSecuredGroup(PanelRequest.ItemID, PanelRequest.Name);

            if (group == null)
            {
                ReturnBack();
            }

            usernameControl.Text     = group.Name;
            usernameControl.EditMode = true;

            // users
            foreach (string user in group.Users)
            {
                ListItem li = dlUsers.Items.FindByValue(user);
                if (li != null)
                {
                    li.Selected = true;
                }
            }
        }
Пример #3
0
        public IEnumerable <WebMenuHierarchyDTO> GetWebMenuHierarchy(Guid webGroupId)
        {
            List <WebMenuHierarchyDTO> result = new List <WebMenuHierarchyDTO>();

            SessionManager.DoWork(session =>
            {
                List <Guid> webMenuIds = new List <Guid>();
                WebGroup g             = session.Query <WebGroup>().SingleOrDefault(p => p.Id == webGroupId);
                if (g != null)
                {
                    webMenuIds = g.WebMenus.Select(d => d.Id).ToList();
                }

                Guid root = Guid.Empty;
                List <WebMenu> parentList = new List <WebMenu>();
                parentList = session.Query <WebMenu>().Where(w => w.ParentMenu.Id == root).OrderBy(w => w.Index).ToList();
                foreach (WebMenu p in parentList)
                {
                    WebMenuHierarchyDTO pd = new WebMenuHierarchyDTO();
                    pd.Id   = p.Id;
                    pd.Name = p.Name;
                    result.Add(pd);
                }
                List <WebMenu> childList       = new List <WebMenu>();
                List <WebMenuDTO> childListDTO = new List <WebMenuDTO>();
                childList = session.Query <WebMenu>().Where(w => w.ParentMenu.Id != root).OrderBy(w => w.Index).ToList();
                foreach (WebMenu cl in childList)
                {
                    WebMenu temp = session.Query <WebMenu>().Where(w => w.Id == cl.ParentMenu.Id).SingleOrDefault();
                    if (temp.ParentMenu.Id == root)
                    {
                        WebMenuDTO cd = new WebMenuDTO();
                        cd.Id         = cl.Id;
                        cd.Name       = cl.Name;
                        cd.ParentId   = cl.ParentMenu.Id;
                        childListDTO.Add(cd);
                    }
                }
                foreach (WebMenuHierarchyDTO dh in result)
                {
                    dh.items = new List <WebMenuDTO>();
                    foreach (WebMenuDTO dt in childListDTO)
                    {
                        if (dt.ParentId == dh.Id)
                        {
                            if (webMenuIds.Contains(dt.Id))
                            {
                                dt.@checked = true;
                            }
                            dh.items.Add(dt);
                        }
                    }
                    if (webMenuIds.Contains(dh.Id) && (dh.items.Count < 1))
                    {
                        dh.@checked = true;
                    }
                }
            });
            return(result);
        }
Пример #4
0
        public object Put(SaveExacltyUsersToGroup request)
        {
            var      context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);
            WebGroup result  = null;

            try{
                context.Open();
                context.LogInfo(this, string.Format("/group/{{grpId}}/user PUT grpId='{0}'", request.GrpId));
                Group       grp   = Group.FromId(context, request.GrpId);
                List <User> users = new List <User>();
                foreach (WebUser usr in request)
                {
                    users.Add(User.FromId(context, usr.Id));
                }
                context.LogDebug(this, string.Format("Group {0} has been reset", grp.Name));
                grp.SetUsers(users);
                result = new WebGroup(grp);
                foreach (WebUser usr in request)
                {
                    context.LogDebug(this, string.Format("User {0} has been added to group {1}", usr.Username, grp.Name));
                }
                context.Close();
            }catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
Пример #5
0
        public int PutWebGroup(WebGroupDTO obj)
        {
            int result = 0;

            SessionManager.DoWork(session =>
            {
                WebGroup webGroup = new WebGroup();
                webGroup.Id       = obj.Id;
                webGroup.Name     = obj.Name;
                webGroup.WebMenus = new List <WebMenu>();
                List <Guid> temp  = new List <Guid>();
                //Check menu con lấy menu cha
                foreach (Guid t in obj.WebMenuIds)
                {
                    WebMenu menu = session.Query <WebMenu>().Where(p => p.Id == t).SingleOrDefault();
                    temp.Add(menu.Id);
                    if (menu.ParentMenu != null)
                    {
                        temp.Add(menu.ParentMenu.Id);
                    }
                }
                obj.WebMenuIds = temp.Distinct().ToList();
                foreach (Guid w in obj.WebMenuIds)
                {
                    //Add menu con của hồ sơ, quá trình, đoàn thể
                    if ((w.ToString() == "00000000-0000-0000-0000-000000000017") || (w.ToString() == "00000000-0000-0000-0000-000000000018") || (w.ToString() == "00000000-0000-0000-0000-000000000020"))
                    {
                        WebMenu web = new WebMenu()
                        {
                            Id = w
                        };
                        webGroup.WebMenus.Add(web);
                        List <Guid> childList = ChildrenMenuIds(w);
                        foreach (Guid c in childList)
                        {
                            WebMenu cw = new WebMenu()
                            {
                                Id = c
                            };
                            webGroup.WebMenus.Add(cw);
                        }
                    }
                    else
                    {
                        WebMenu web = new WebMenu()
                        {
                            Id = w
                        };
                        webGroup.WebMenus.Add(web);
                    }
                }
                session.Update(webGroup);
                result = 1;
            });
            return(result);
        }
Пример #6
0
 public void UpdateGroup(string siteId, WebGroup group)
 {
     try
     {
         Log.WriteStart("'{0}' UpdateGroup", ProviderSettings.ProviderName);
         WebProvider.UpdateGroup(siteId, group);
         Log.WriteEnd("'{0}' UpdateGroup", ProviderSettings.ProviderName);
     }
     catch (Exception ex)
     {
         Log.WriteError(String.Format("'{0}' UpdateGroup", ProviderSettings.ProviderName), ex);
         throw;
     }
 }
Пример #7
0
        public object Get(RolesGrantGetRequest request)
        {
            List <WebRoleGrant> result = new List <WebRoleGrant> ();
            var context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);

            try {
                context.Open();
                context.LogInfo(this, string.Format("/role/grant GET"));

                Domain            domain    = Domain.FromId(context, request.DomainId);
                var               webdomain = new WebDomain(domain);
                EntityList <Role> roles     = new EntityList <Role> (context);
                roles.Load();

                foreach (var role in roles)
                {
                    var webrole = new WebRole(role);
                    //get users
                    var usrs = role.GetUsers(domain.Id);
                    foreach (var usrid in usrs)
                    {
                        var webuser = new WebUser(User.FromId(context, usrid));
                        result.Add(new WebRoleGrant {
                            Domain = webdomain,
                            Role   = webrole,
                            User   = webuser
                        });
                    }
                    //get groups
                    var grps = role.GetGroups(domain.Id);
                    foreach (var grpid in grps)
                    {
                        var webgroup = new WebGroup(Group.FromId(context, grpid));
                        result.Add(new WebRoleGrant {
                            Domain = webdomain,
                            Role   = webrole,
                            Group  = webgroup
                        });
                    }
                }

                context.Close();
            } catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
Пример #8
0
 public WebGroup GetGroup(string siteId, string groupName)
 {
     try
     {
         Log.WriteStart("'{0}' GetGroup", ProviderSettings.ProviderName);
         WebGroup result = WebProvider.GetGroup(siteId, groupName);
         Log.WriteEnd("'{0}' GetGroup", ProviderSettings.ProviderName);
         return(result);
     }
     catch (Exception ex)
     {
         Log.WriteError(String.Format("'{0}' GetGroup", ProviderSettings.ProviderName), ex);
         throw;
     }
 }
Пример #9
0
        public WebGroupDTO GetWebGroup(Guid id)
        {
            WebGroupDTO result = new WebGroupDTO();

            SessionManager.DoWork(session =>
            {
                WebGroup web      = session.Query <WebGroup>().Where(w => w.Id == id).SingleOrDefault();
                result.Id         = web.Id;
                result.Name       = web.Name;
                result.WebMenuIds = new List <Guid>();
                foreach (WebMenu w in web.WebMenus)
                {
                    result.WebMenuIds.Add(w.Id);
                }
            });
            return(result);
        }
Пример #10
0
        /// <summary>
        /// Get the specified group.
        /// </summary>
        /// <param name="request">Request.</param>
        public object Get(GetGroup request)
        {
            WebGroup result;

            var context = TepWebContext.GetWebContext(PagePrivileges.UserView);

            try {
                context.Open();
                context.LogInfo(this, string.Format("/group/{{Id}} GET Id='{0}'", request.Id));
                Group grp = Group.FromId(context, request.Id);
                result = new WebGroup(grp);

                context.Close();
            } catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
Пример #11
0
        /// <summary>
        /// Update the specified group.
        /// </summary>
        /// <param name="request">Request.</param>
        /// <returns>the group</returns>
        public object Put(UpdateGroup request)
        {
            var      context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);
            WebGroup result;

            try {
                context.Open();
                context.LogInfo(this, string.Format("/group PUT Id='{0}'", request.Id));
                Group grp = (request.Id == 0 ? null : Group.FromId(context, request.Id));
                grp = request.ToEntity(context, grp);
                grp.Store();
                context.LogDebug(this, string.Format("Group {0} updated by user {1}", grp.Name, User.FromId(context, context.UserId).Username));
                result = new WebGroup(grp);
                context.Close();
            } catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
Пример #12
0
        /// <summary>
        /// Post the specified request.
        /// </summary>
        /// <param name="request">Request.</param>
        public object Delete(RemoveUserFromGroup request)
        {
            var      context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);
            WebGroup result;

            try{
                context.Open();
                context.LogInfo(this, string.Format("/group/{{grpId}}/user/{{usrId}} DELETE grpId='{0}',usrId='{1}'", request.GrpId, request.UsrId));
                context.RemoveUserFromGroup(request.UsrId, request.GrpId);
                User  usr = User.FromId(context, request.UsrId);
                Group grp = Group.FromId(context, request.GrpId);
                result = new WebGroup(grp);
                context.LogDebug(this, string.Format("User {0} has been removed from group {1}", usr.Username, grp.Name));
                context.Close();
            }catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
Пример #13
0
        /// <summary>
        /// Post the specified request.
        /// </summary>
        /// <param name="request">Request.</param>
        public object Post(AddUserToGroup request)
        {
            var      context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);
            WebGroup result;

            try{
                context.Open();
                context.LogInfo(this, string.Format("/group/{{grpId}}/user POST grpId='{0}'", request.GrpId));

                User  usr = User.FromId(context, request.Id);
                Group grp = Group.FromId(context, request.GrpId);
                grp.AssignUser(usr);

                result = new WebGroup(grp);
                context.LogDebug(this, string.Format("User {0} has been added to group {1}", usr.Username, grp.Name));
                context.Close();
            }catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
Пример #14
0
 public int UpdateSecuredGroup(int siteItemId, WebGroup group)
 {
     return(WebServerController.UpdateGroup(siteItemId, group));
 }
Пример #15
0
 public int UpdateHeliconApeGroup(int siteItemId, WebGroup group)
 {
     return(WebServerController.UpdateHeliconApeGroup(siteItemId, group));
 }