public void ProcessRequest(HttpContext context)
        {
            try
            {
                NFMT.Common.UserModel user = Utility.UserUtility.CurrentUser;
                NFMT.Common.ResultModel result = new NFMT.Common.ResultModel();

                int empId = 0;
                if (!string.IsNullOrEmpty(context.Request.QueryString["empId"]))
                    int.TryParse(context.Request.QueryString["empId"], out empId);

                string menuIds = context.Request.QueryString["menuIds"];

                NFMT.User.BLL.AuthOperateBLL bll = new NFMT.User.BLL.AuthOperateBLL();
                result = bll.GetMenuList(user, empId, menuIds);

                context.Response.ContentType = "application/json; charset=utf-8";
                if (result.ResultStatus != 0)
                {
                    context.Response.Write(result.Message);
                    context.Response.End();
                }

                context.Response.Write(result.ReturnValue);
            }
            catch (Exception e)
            {
                context.Response.Write(e.Message);
            }
        }
Example #2
0
        public void JudgeOperate(System.Web.UI.Page page, int menuId, List<NFMT.Common.OperateEnum> operateTypes)
        {
            NFMT.Common.UserModel user = new SiteUtility.UserUtility().CurrentUser;

            try
            {
                NFMT.User.BLL.AuthOperateBLL bll = new NFMT.User.BLL.AuthOperateBLL();
                NFMT.Common.ResultModel result = bll.JudgeOperate(user, menuId, operateTypes);
                if (result.ResultStatus != 0)
                {
                    string oids = string.Empty;
                    foreach (NFMT.Common.OperateEnum operate in operateTypes)
                    {
                        oids += operate.ToString() + ",";
                    }

                    if (!string.IsNullOrEmpty(oids) && oids.IndexOf(',') > -1)
                        oids = oids.Substring(0, oids.Length - 1);

                    NFMT.User.BLL.MenuBLL menuBLL = new NFMT.User.BLL.MenuBLL();
                    result = menuBLL.Get(user, menuId);
                    if (result.ResultStatus != 0)
                        throw new Exception("获取菜单失败");

                    NFMT.User.Model.Menu menu = result.ReturnValue as NFMT.User.Model.Menu;

                    string redirectUrl = string.Format("{0}/ErrorPage.aspx?t={1}&r={2}", NFMT.Common.DefaultValue.NfmtSiteName, string.Format("用户无{0}-{1}权限", menu.MenuName, oids), "/MainForm.aspx");
                    page.Response.Redirect(redirectUrl, false);
                }
            }
            catch
            {
                page.Response.Redirect("/MainForm.aspx");
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            NFMT.Common.UserModel user = Utility.UserUtility.CurrentUser;
            NFMT.Common.ResultModel result = new NFMT.Common.ResultModel();

            string selectStr = context.Request.Form["select"];
            if (string.IsNullOrEmpty(selectStr))
            {
                result.ResultStatus = -1;
                result.Message = "菜单不能为空";
                context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
                context.Response.End();
            }

            if (string.IsNullOrEmpty(context.Request.Form["empId"]) || !int.TryParse(context.Request.Form["empId"], out empId) || empId <= 0)
            {
                result.ResultStatus = -1;
                result.Message = "员工信息错误";
                context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
                context.Response.End();
            }

            string exceptItemIds = context.Request.Form["exceptItemIds"];

            try
            {
                NFMT.User.BLL.AuthOperateBLL bll = new NFMT.User.BLL.AuthOperateBLL();
                System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                infos = serializer.Deserialize<List<AllotInfo>>(selectStr);
                if (infos == null || !infos.Any())
                {
                    result = bll.InvalidAll(user, empId, exceptItemIds);
                    if (result.ResultStatus == 0)
                        result.Message = "分配成功";
                    context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
                    context.Response.End();
                }
                List<NFMT.User.Model.AuthOperate> authOperates = new List<NFMT.User.Model.AuthOperate>();
                List<NFMT.User.Model.EmpMenu> empMenus = new List<NFMT.User.Model.EmpMenu>();

                foreach (AllotInfo info in infos)
                {
                    if (!string.IsNullOrEmpty(info.id) && info.id.StartsWith("op_"))
                    {
                        //AddParentInfo(info, ref authOperates, ref empMenus);

                        authOperates.Add(new NFMT.User.Model.AuthOperate()
                        {
                            //OperateCode = string.Format("{0}-{1}", parentInfo.label, info.label),
                            //OperateName = string.Format("{0}-{1}", parentInfo.label, info.label),
                            OperateType = Convert.ToInt32(info.id.Split('_')[2]),
                            MenuId = Convert.ToInt32(info.parentId),
                            EmpId = empId,
                            AuthOperateStatus = NFMT.Common.StatusEnum.已生效
                        });

                        if (!empMenus.Any(a => a.MenuId == Convert.ToInt32(info.parentId)))
                        {
                            empMenus.Add(new NFMT.User.Model.EmpMenu()
                            {
                                EmpId = empId,
                                MenuId = Convert.ToInt32(info.parentId),
                                RefStatus = NFMT.Common.StatusEnum.已生效
                            });
                        }
                    }
                    else if (!string.IsNullOrEmpty(info.id))
                    {
                        int i;
                        if (!int.TryParse(info.id, out i))
                            continue;

                        if (!empMenus.Any(a => a.MenuId == Convert.ToInt32(info.id)))
                        {
                            empMenus.Add(new NFMT.User.Model.EmpMenu()
                            {
                                EmpId = empId,
                                MenuId = Convert.ToInt32(info.id),
                                RefStatus = NFMT.Common.StatusEnum.已生效
                            });
                        }
                    }
                }

                //if (authOperates == null || !authOperates.Any())
                //{
                //    result.ResultStatus = -1;
                //    result.Message = "数据转换错误";
                //    context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
                //    context.Response.End();
                //}

                result = bll.Create(user, empId, authOperates, empMenus, exceptItemIds);
                if (result.ResultStatus == 0)
                {
                    result.Message = "分配成功";
                }
                //NFMT.User.MenuProvider.RefreshByEmpId(empId);
            }
            catch (Exception ex)
            {
                result.ResultStatus = -1;
                result.Message = ex.Message;
            }

            context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
        }