Пример #1
0
        public ActionResult MyCustomPostBack(string type, JArray gridFields, JObject typeParams, int gridIndex, int gridPageSize)
        {
            var    Grid1     = UIHelper.Grid("Grid1");
            string sql       = string.Empty;
            var    ttbSearch = UIHelper.TwinTriggerBox("ttbSearchMessage");

            if (type == "trigger1")
            {
                ttbSearch.Text(String.Empty);
                ttbSearch.ShowTrigger1(false);
            }
            else if (type == "trigger2")
            {
                ttbSearch.ShowTrigger1(true);
                var triggerValue = typeParams.Value <string>("triggerValue");
                sql = " and (Name like '%" + triggerValue + "%' or Title like '%" + triggerValue + "%')";
            }

            Hashtable table = Sys_PowersDal.Search(gridIndex, gridPageSize, "Name", "DESC", sql);

            Grid1.DataSource(table["data"], gridFields);
            Grid1.RecordCount(Int32.Parse(table["total"].ToString()));
            Grid1.PageSize(gridPageSize);
            return(UIHelper.Result());
        }
Пример #2
0
        private void UpdateGrid(JArray Grid1_fields, int gridIndex, int gridPageSize)
        {
            var    Grid1 = UIHelper.Grid("Grid1");
            string sql   = string.Empty;

            //sql = sql + " and FDictID = " + Grid1_selectedRows;
            Hashtable table = Sys_PowersDal.Search(gridIndex, gridPageSize, "Name", "DESC", sql);

            Grid1.DataSource(table["data"], Grid1_fields);
            Grid1.RecordCount(Int32.Parse(table["total"].ToString()));
        }
Пример #3
0
        public ActionResult Index()
        {
            ViewBag.CorePowerNew    = CheckPower("CorePowerNew");
            ViewBag.CorePowerEdit   = CheckPower("CorePowerEdit");
            ViewBag.CorePowerDelete = CheckPower("CorePowerDelete");
            Hashtable table = Sys_PowersDal.Search(0, 20, "Name", "DESC", "");

            ViewBag.Grid1DataSource  = table["data"];
            ViewBag.Grid1RecordCount = Int32.Parse(table["total"].ToString());
            return(View());
        }
Пример #4
0
        private string RolePower_GetRolePowerIds(string grid1SelectedRowID)
        {
            //// 当前选中角色拥有的权限列表
            DataTable dt = Sys_PowersDal.SearchRolePowerTable(" RoleID=" + grid1SelectedRowID);
            var       q  = from z in dt.AsEnumerable()
                           select new
            {
                RoleID  = z.Field <int>("RoleID"),
                PowerID = z.Field <int>("PowerID")
            };

            return(new JArray(q.Select(x => x.PowerID)).ToString(Newtonsoft.Json.Formatting.None));
        }
Пример #5
0
        public ActionResult Grid1_PageIndexChanged(JArray Grid1_fields, int Grid1_pageIndex, int gridPageSize)
        {
            var Grid1 = UIHelper.Grid("Grid1");

            string sql = string.Empty;

            //sql = sql + " and FDictID = " + selectedRowId;
            Hashtable table = Sys_PowersDal.Search(Grid1_pageIndex, gridPageSize, "Name", "DESC", sql);

            Grid1.DataSource(table["data"], Grid1_fields);
            Grid1.RecordCount(Int32.Parse(table["total"].ToString()));

            return(UIHelper.Result());
        }
Пример #6
0
        /// <summary>
        /// 获取当前登录用户拥有的全部权限列表
        /// </summary>
        /// <param name="roleIDs"></param>
        /// <returns></returns>
        protected List <string> GetRolePowerNames()
        {
            // 将用户拥有的权限列表保存在Session中,这样就避免每个请求多次查询数据库
            if (Session["UserPowerList"] == null)
            {
                List <string> rolePowerNames = new List <string>();

                // 超级管理员拥有所有权限
                if (GetIdentityName() == "admin")
                {
                    ArrayList PowerNames = Sys_PowersDal.GetPowerNameList();
                    foreach (Hashtable a in PowerNames)
                    {
                        rolePowerNames.Add(a["Name"].ToString());
                    }
                }
                else
                {
                    if (User.Identity.IsAuthenticated)
                    {
                        FormsAuthenticationTicket ticket = ((FormsIdentity)User.Identity).Ticket;
                        string userData = ticket.UserData;
                        if (!String.IsNullOrEmpty(userData))
                        {
                            ArrayList PowerNames = Sys_PowersDal.GetPowerNameList(userData);
                            if (PowerNames != null)
                            {
                                foreach (Hashtable a in PowerNames)
                                {
                                    rolePowerNames.Add(a["Name"].ToString());
                                }
                            }
                        }
                    }
                }

                Session["UserPowerList"] = rolePowerNames;
            }
            return((List <string>)Session["UserPowerList"]);
        }
Пример #7
0
        public ActionResult btnCreate_Click()
        {
            try
            {
                string    fname     = Request["tbxName"];
                int       ParentID  = Convert.ToInt32(Request["ddlParent"]);
                int       SortIndex = Convert.ToInt32(Request["tbxSortIndex"]);
                Hashtable hasDataID = new Hashtable();
                hasDataID = Sys_PowersDal.Get(Request["tbxViewPower"].ToString(), "A");
                int ViewPowerID = 0;
                if (hasDataID != null)
                {
                    ViewPowerID = Convert.ToInt32(hasDataID["FID"].ToString());
                }
                string Url    = Request["tbxUrl"];
                string Icon   = Request["tbxIcon"];
                string Remark = Request["tbxRemark"];

                sys_Menus model = new sys_Menus();
                model.Name        = fname;
                model.ParentID    = ParentID == -1 ? 0 : ParentID;
                model.SortIndex   = SortIndex;
                model.ViewPowerID = ViewPowerID;
                model.ImageUrl    = Icon;
                model.NavigateUrl = Url;
                model.Remark      = Remark;
                db.sys_Menus.Add(model);
                db.SaveChanges();

                ShowNotify("添加成功!");
                // 关闭本窗体(触发窗体的关闭事件)
                PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
            }
            catch
            {
                ShowNotify("添加失败!");
            }

            return(UIHelper.Result());
        }
Пример #8
0
        public ActionResult Grid1_RowSelect(string selectedRowId, JArray Grid2_fields)
        {
            // 当前选中角色拥有的权限列表
            _currentRolePowers.Clear();
            Hashtable table = Sys_PowersDal.SearchRolePower(0, 0, "Name", "DESC", " and RoleID=" + selectedRowId);
            DataTable dt    = (DataTable)table["data"];

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string powerName = dt.Rows[i]["Name"].ToString();;
                if (!_currentRolePowers.ContainsKey(powerName))
                {
                    _currentRolePowers.Add(powerName, true);
                }
            }

            Hashtable tableGroup = Sys_PowersDal.SearchGroupName(0, 0, "GroupName", "ASC", "");
            DataTable dtGroup    = (DataTable)tableGroup["data"];

            UIHelper.Grid("Grid2").DataSource(dtGroup, Grid2_fields);
            return(UIHelper.Result());
        }
Пример #9
0
        private List <GroupPowerViewModel> RolePower_GetData()
        {
            string sql1 = string.Empty;
            string sql2 = string.Empty;

            if (GetUserType().Equals("3"))  //如果登录用户是客户
            {
                sql1 = sql1 + " IsCustomerLook=1";
                sql2 = sql2 + " and b.IsCustomerLook=1";
            }
            Hashtable tableGroup = Sys_PowersDal.SearchGroupName(0, 0, "GroupName", "ASC", sql1);
            DataTable dtGroup    = (DataTable)tableGroup["data"];

            List <GroupPowerViewModel> groupPowers = new List <GroupPowerViewModel>();

            for (int i = 0; i < dtGroup.Rows.Count; i++)
            {
                var groupPower = new GroupPowerViewModel();
                groupPower.GroupName = dtGroup.Rows[i][0].ToString();
                Hashtable table = Sys_PowersDal.SearchGroupList(0, 0, "Name", "DESC", " and a.GroupName='" + dtGroup.Rows[i][0].ToString() + "'" + sql2);
                DataTable dt    = (DataTable)table["data"];
                JArray    ja    = new JArray();
                for (int j = 0; j < dt.Rows.Count; j++)
                {
                    JObject jo = new JObject();
                    jo.Add("id", dt.Rows[j]["ID"].ToString());
                    jo.Add("name", dt.Rows[j]["Name"].ToString());
                    jo.Add("title", dt.Rows[j]["Title"].ToString());
                    ja.Add(jo);
                }
                groupPower.Powers = ja;

                groupPowers.Add(groupPower);
            }
            return(groupPowers);
        }
Пример #10
0
        public ActionResult RolePower_Grid2_DoPostBack(JArray Grid1_fields, JArray Grid2_fields, string Grid2_sortField, string Grid2_sortDirection,
                                                       string actionType, string ttbSearchCustomer, int selectedRoleId, JArray selectedPowerIds)
        {
            // 保存角色权限时,不需要重新加载表格数据
            if (actionType == "ttbSearchCustomer")
            {
                string sql1 = "";
                if (!ttbSearchCustomer.Equals(""))
                {
                    sql1 = " and RType=1 and b.Name='" + ttbSearchCustomer + "'";
                }
                else
                {
                    sql1 = " and RType=0";
                }
                DataTable dt1 = sys_rolesDal.SearchTable(sql1);
                if (dt1.Rows.Count > 0)
                {
                    selectedRoleId = Convert.ToInt32(dt1.Rows[0]["ID"].ToString());
                }
                else
                {
                    selectedRoleId = 0;
                }

                var grid1UI = UIHelper.Grid("Grid1");
                grid1UI.DataSource(dt1, Grid1_fields);
                grid1UI.SelectedRowIndexArray(0);
                PageContext.RegisterStartupScript("updateRolePowers(" + RolePower_GetRolePowerIds(selectedRoleId.ToString()) + ");");
                return(UIHelper.Result());
            }
            else if (actionType == "saveall")
            {
                if (selectedRoleId == 0)
                {
                    Alert.ShowInTop("请选择角色再进行权限设置!");
                }
                else
                {
                    //// 在操作之前进行权限检查
                    if (!CheckPower("CoreRolePowerEdit"))
                    {
                        CheckPowerFailWithAlert();
                        return(UIHelper.Result());
                    }

                    // 当前角色新的权限列表
                    int[] newPowerIDs = selectedPowerIds.ToObject <int[]>();

                    Sys_PowersDal dal = new Sys_PowersDal();
                    dal.DeleteRowerPower(selectedRoleId);

                    foreach (var item in newPowerIDs)
                    {
                        Hashtable hasData = new Hashtable();

                        hasData["RoleID"]  = selectedRoleId; //tbxName.Text;
                        hasData["PowerID"] = item;           //tbxGroupName.Text;

                        Sys_PowersDal.InsertRolePowers(hasData);
                    }

                    Alert.ShowInTop("当前角色的权限更新成功!");
                }
            }
            else
            {
                var grid2UI = UIHelper.Grid("Grid2");

                grid2UI.DataSource(RolePower_GetData(), Grid2_fields);

                // 更新当前角色的权限
                PageContext.RegisterStartupScript("updateRolePowers(" + RolePower_GetRolePowerIds(selectedRoleId.ToString()) + ");");
            }

            return(UIHelper.Result());
        }