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(); //} }
//功能的父目录 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, "添加功能失败,可能是重复添加!"); } }
//此函数暂未用到(可删除) 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, "编辑功能失败,可能是重复添加!"); } }
/// <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); }