private void LoadParentData()
        {
            id = WX.Request.rFunctionId;
            if (id == 0)
            {
                Response.Redirect("Func_ListFunctions.aspx");
            }
            WX.Model.Function.MODEL funNew = WX.Request.rFunction;
            WX.Data.Dict.BindListCtrl_FuncList(this.ui_ParentID, null, "0#最顶层", funNew.ParentID.ToString());
            DataTable dt = WX.Model.Function.GetTypeList("");

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DropType.Items.Add(new ListItem(dt.Rows[i]["TypeName"].ToString(), dt.Rows[i]["ID"].ToString()));
            }
            DropType.SelectedValue = funNew.TypeID.ToString();
            ui_Name.Value          = funNew.Name.ToString();
            try
            {
                ui_State.SelectedIndex = int.Parse(funNew.State.value.ToString());
            }
            catch
            {
            }
            ui_Urls.Value = funNew.Urls.ToString();
            // ui_HTMLS.Value = funNew.Htmls.value.ToString();
            ui_OrderID.Value = funNew.OrderID.value.ToString();
            //}
        }
示例#2
0
        //功能的父目录
        private static int GetFuncState(WX.Model.Function.MODEL funcM)
        {
            int perm = int.Parse(funcM.State.value.ToString());

            if (perm == 0)
            {
                return(0);
            }

            int upId = int.Parse(funcM.ParentID.value.ToString());

            while (perm > 0 && upId > 0)
            {
                WX.Model.Function.MODEL pmodel = WX.Model.Function.GetCache(upId);//WX.Model.Function.NewDataModel(pid);
                if (pmodel != null)
                {
                    perm = int.Parse(pmodel.State.value.ToString());
                    upId = int.Parse(pmodel.ParentID.value.ToString());
                }
                else
                {
                    perm = 0;
                }
            }
            return(perm);
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //1.验证用户权限
            //2.取得用户变量
            string name     = ui_Name.Value;
            int    parentID = String.IsNullOrEmpty(ui_ParentID.SelectedValue) ? 0 : Convert.ToInt32(ui_ParentID.SelectedValue);
            int    state    = Convert.ToInt32(ui_State.Value);
            string urls     = Convert.ToString(ui_Urls.Value);
            int    degree   = parentID == 0 ? 1 : 2;
            int    orderid  = (ui_OrderID.Value.Trim() == ""?0:Convert.ToInt32(ui_OrderID.Value.Trim()));

            //以下代码由后台开发人员填写
            //3.验证用户变量,包含Request.QueryString及Request.Form

            //4.业务处理过程
            if (ULCode.QDA.XSql.IsHasRow("select * from TE_Functions where ParentID=" + parentID + " and Name='" + name + "'") == true)
            {
                ULCode.Debug.AjaxAlert(this, "同一目录下功能名称重复,请重新输入功能名称!");
                return;
            }
            WX.Model.Function.MODEL funNew = WX.Model.Function.NewDataModel();
            funNew.Name.set(name);
            funNew.ParentID.set(parentID);
            funNew.State.set(state);
            funNew.Urls.set(urls);
            funNew.Degree.set(degree);;
            funNew.OrderID.set(orderid);
            funNew.TypeID.set(DropType.SelectedValue);
            int iR = funNew.Insert(true);

            if (iR > 0)
            {
                funNew.SaveIntoCaches();
                //5.(用户及业务对象)统计与状态

                //6.登记日志
                WX.Main.AddLog(WX.LogType.Default, "添加功能成功!", "");
                //7.返回处理结果或返回其它页面。
                ULCode.Debug.Confirm(this, "功能添加成功!是否继续添加??", this.Request.RawUrl, "Func_ListFunctions.aspx");
            }
            else
            {
                ULCode.Debug.Alert(this, "添加功能失败,可能是重复添加!");
            }
        }
示例#4
0
        //此函数暂未用到(可删除)
        public static int GetPermission(int funcID)
        {
            int flag = 0;

            WX.WXUser user = WX.Main.NewCurUser();
            user.LoadDutyUser(false);
            WX.Model.Function.MODEL funcM = WX.Model.Function.GetCache(funcID);
            if (funcM != null)
            {
                if (GetFuncState(funcM) > 0)
                {
                    flag = GetPermission(user.DutyUser, funcM);
                }
                else
                {
                    flag = 0;
                }
            }
            else
            {
                flag = 3;
            }
            return(flag);
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //1.验证用户权限
            //2.取得用户变量
            int    id       = WX.Request.rFunctionId;
            string name     = ui_Name.Value;
            int    parentID = String.IsNullOrEmpty(ui_ParentID.SelectedValue) ? 0 : Convert.ToInt32(ui_ParentID.SelectedValue);
            int    state    = Convert.ToInt32(ui_State.Value);
            string urls     = Convert.ToString(ui_Urls.Value);
            //if (ui_ParentID.SelectedItem.Text.IndexOf("│├") == -1)
            //{
            //    urls = "";
            //}
            int degree  = Convert.ToInt32(ui_degree.Value);
            int orderid = (ui_OrderID.Value.Trim() == "" ? 0 : Convert.ToInt32(ui_OrderID.Value.Trim()));

            //以下代码由后台开发人员填写
            //3.验证用户变量,包含Request.QueryString及Request.Form

            //4.业务处理过程
            WX.Model.Function.MODEL funNew = WX.Model.Function.NewDataModel(WX.Request.rFunctionId); //WX.Model.Function.GetModel("select * from TE_Functions where ID=" + Request["id"]);
            //if (ULCode.QDA.XSql.IsHasRow("select * from TE_Functions where ParentID=" + parentID + " and Name='" + name + "' and ID!=" + funNew.ID.value.ToString())==true)
            if (WX.Model.Function.Caches.Find(delegate(WX.Model.Function.MODEL dele) { return(dele.ParentID.ToInt32() == parentID && dele.ID.ToInt32() != id && dele.Name.ToString() == name); }) != null)
            {
                ULCode.Debug.Alert(this, "功能名称已存在,请重新输入!");
                return;
            }
            bool bDeal = false;

            funNew.Name.set(name);
            funNew.ParentID.set(parentID);
            funNew.State.set(state);
            funNew.Urls.set(urls);
            funNew.Degree.set(degree);
            funNew.OrderID.set(orderid);
            funNew.TypeID.set(DropType.SelectedValue);
            if (CheckBox1.Checked)
            {
                funNew.UpdateChild();
            }
            int iR = funNew.Update();

            funNew.SaveIntoCaches();
            if (iR != 0)
            {
                bDeal = true;
                //6.登记日志
                if (bDeal)
                {
                    WX.Main.AddLog(WX.LogType.Default, "编辑功能成功!", "");
                }
                //7.返回处理结果或返回其它页面。
                ULCode.Debug.Confirm(this, "成功修改功能,是否返回功能列表页?", "Func_ListFunctions.aspx", this.Request.RawUrl);
                //Response.Redirect("Func_ListFunctions.aspx");
            }
            else
            {
                funNew.RestoreInitial();
                ULCode.Debug.Alert(this, "编辑功能失败,可能是重复添加!");
            }
        }
示例#6
0
        /// <summary>
        /// 获取当前用户的功能权限
        /// </summary>
        /// <param name="functionId">使用功能ID</param>
        /// <returns></returns>
        //public static int GetPermission() { return GetPermission(false); }
        public static int GetPermission(bool IsServiceInterFace)
        {
            int    flag    = 0;
            string pageurl = HttpContext.Current.Request.Url.AbsolutePath;

            //个人信息直接允许
            //if (pageurl.ToLower().Contains("/private/")) return 3;

            WX.Model.Function.MODEL funcM = WX.Model.Function.GetCache(pageurl);
            if (funcM != null && funcM.TypeID.ToInt32() > 1 && funcM.State.ToInt32() == 1)
            {
                WX.Main.CurUser.LoadMyCompany();
                object authcode = System.Configuration.ConfigurationManager.AppSettings["AuthCode"];
                if (authcode != null)
                {
                    try
                    {
                        string[] array = authcode.ToString().Split('-');
                        if (Decrypt(array[0], WX.Main.CurUser.MyCompany.ID.ToString() + "-" + array[1]) == System.Configuration.ConfigurationManager.AppSettings["SalesCode"].ToString())
                        {
                            if (Convert.ToInt32(array[1]) >= funcM.TypeID.ToInt32())
                            {
                                return(3);
                            }
                        }
                    }
                    catch { }
                }
                return(-2);//返回-2说明此功能为付费功能,且没有有效授权,不可使用
            }
            WX.WXUser user;
            if (IsServiceInterFace)
            {
                user = WX.Main.NewCurUser();
            }
            else
            {
                user = WX.Main.CurUser;
            }

            //管理员直接允许
            if (user.IsAdministratorUser)
            {
                return(3);
            }

            user.LoadUserModel(false);
            //系统管理员直接返回
            if (user.UserModel.DutyId.ToInt32() == 0)
            {
                return(3);
            }
            user.LoadDutyUser(false);
            //从页找到功能功能
            // WX.Model.Function.MODEL funcM = WX.Model.Function.GetCurFunciton(pageurl);
            if (funcM != null)
            {
                if (GetFuncState(funcM) > 0)
                {   //其它父目录是否打开
                    flag = GetPermission(user.DutyUser, funcM);
                }
                else
                {
                    flag = -1;
                }
            }
            else
            {
                //找不到此页暂为3,正式运营后请改为0
                flag = 3;
            }
            if (IsServiceInterFace)
            {
                user = null;
            }
            return(flag);
        }