Exemplo n.º 1
0
        public ActionResult EditRole(FormCollection collection)
        {
            MyCreek.Platform.Role   brole = new MyCreek.Platform.Role();
            MyCreek.Data.Model.Role role  = null;
            string roleID = Request.QueryString["roleid"];
            Guid   roleGID;
            string name      = string.Empty;
            string useMember = string.Empty;
            string note      = string.Empty;

            if (roleID.IsGuid(out roleGID))
            {
                role = brole.Get(roleGID);
            }

            if (!Request.Form["Copy"].IsNullOrEmpty())
            {
                string tpl = Request.Form["ToTpl"];
                if (tpl.IsGuid())
                {
                    new MyCreek.Platform.RoleApp().CopyRoleApp(roleGID, tpl.ToGuid());
                    MyCreek.Platform.Log.Add("复制了模板应用", "源:" + roleID + "复制给:" + tpl, MyCreek.Platform.Log.Types.角色应用);
                    ViewBag.Script = "alert('复制成功!');";
                }
            }

            if (!Request.Form["Save"].IsNullOrEmpty() && role != null)
            {
                MyCreek.Platform.UsersRole busersRole = new MyCreek.Platform.UsersRole();
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    name      = Request.Form["Name"];
                    useMember = Request.Form["UseMember"];
                    note      = Request.Form["Note"];

                    role.Name      = name.Trim();
                    role.Note      = note.IsNullOrEmpty() ? null : note.Trim();
                    role.UseMember = useMember.IsNullOrEmpty() ? null : useMember;
                    brole.Update(role);
                    busersRole.DeleteByRoleID(role.ID);
                    if (!useMember.IsNullOrEmpty())
                    {
                        busersRole.DeleteByRoleID(role.ID);
                        var users = new MyCreek.Platform.Organize().GetAllUsers(useMember);
                        foreach (var user in users)
                        {
                            MyCreek.Data.Model.UsersRole ur = new MyCreek.Data.Model.UsersRole();
                            ur.IsDefault = true;
                            ur.MemberID  = user.ID;
                            ur.RoleID    = role.ID;
                            busersRole.Add(ur);
                        }
                    }
                    scope.Complete();
                }
                ViewBag.Script = "alert('保存成功!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
            }

            if (!Request.Form["Delete"].IsNullOrEmpty())
            {
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    brole.Delete(roleGID);
                    new MyCreek.Platform.RoleApp().DeleteByRoleID(roleGID);
                    new MyCreek.Platform.UsersRole().DeleteByRoleID(roleGID);
                    scope.Complete();
                }
                MyCreek.Platform.Log.Add("删除的角色其及相关数据", roleID, MyCreek.Platform.Log.Types.角色应用);
                ViewBag.Script = "new RoadUI.Window().reloadOpener();new RoadUI.Window().close();";
            }
            ViewBag.RoleOptions = brole.GetRoleOptions("", roleID);
            return(View(role));
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            MyCreek.Platform.Role   brole = new MyCreek.Platform.Role();
            MyCreek.Data.Model.Role role  = null;
            string roleID = Request.QueryString["roleid"];
            Guid   roleGID;
            string name      = string.Empty;
            string useMember = string.Empty;
            string note      = string.Empty;

            if (roleID.IsGuid(out roleGID))
            {
                role = brole.Get(roleGID);
            }

            if (IsPostBack)
            {
                if (!Request.Form["Copy"].IsNullOrEmpty())
                {
                    string tpl = Request.Form["ToTpl"];
                    if (tpl.IsGuid())
                    {
                        new MyCreek.Platform.RoleApp().CopyRoleApp(roleGID, tpl.ToGuid());
                        MyCreek.Platform.Log.Add("复制了模板应用", "源:" + roleID + "复制给:" + tpl, MyCreek.Platform.Log.Types.角色应用);
                        Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('复制成功!');", true);
                    }
                }

                if (!Request.Form["Save"].IsNullOrEmpty() && role != null)
                {
                    MyCreek.Platform.UsersRole busersRole = new MyCreek.Platform.UsersRole();
                    using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                    {
                        name      = Request.Form["Name"];
                        useMember = Request.Form["UseMember"];
                        note      = Request.Form["Note"];

                        role.Name      = name.Trim();
                        role.Note      = note.IsNullOrEmpty() ? null : note.Trim();
                        role.UseMember = useMember.IsNullOrEmpty() ? null : useMember;
                        brole.Update(role);
                        busersRole.DeleteByRoleID(role.ID);
                        if (!useMember.IsNullOrEmpty())
                        {
                            busersRole.DeleteByRoleID(role.ID);
                            var users = new MyCreek.Platform.Organize().GetAllUsers(useMember);
                            foreach (var user in users)
                            {
                                MyCreek.Data.Model.UsersRole ur = new MyCreek.Data.Model.UsersRole();
                                ur.IsDefault = true;
                                ur.MemberID  = user.ID;
                                ur.RoleID    = role.ID;
                                busersRole.Add(ur);
                            }
                        }
                        scope.Complete();
                    }
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('保存成功!');new RoadUI.Window().reloadOpener();new RoadUI.Window().close();", true);
                }

                if (!Request.Form["Delete"].IsNullOrEmpty())
                {
                    using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                    {
                        brole.Delete(roleGID);
                        new MyCreek.Platform.RoleApp().DeleteByRoleID(roleGID);
                        new MyCreek.Platform.UsersRole().DeleteByRoleID(roleGID);
                        scope.Complete();
                    }
                    MyCreek.Platform.Log.Add("删除的角色其及相关数据", roleID, MyCreek.Platform.Log.Types.角色应用);
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "new RoadUI.Window().reloadOpener();new RoadUI.Window().close();", true);
                }
            }
            if (role != null)
            {
                this.Name.Value      = role.Name;
                this.UseMember.Value = role.UseMember;
                this.Note.Value      = role.Note;
            }
            this.RoleOptions.Text = brole.GetRoleOptions("", roleID);
        }