예제 #1
0
        /// <summary>
        /// 销售(服务)订单
        /// </summary>
        public string GetMenusByPMenuCode(string pRequest)
        {
            var    rp         = pRequest.DeserializeJSONTo <APIRequest <GetMenusByPMenuCodeRP> >();//不需要参数
            string userId     = rp.UserID;
            string customerId = rp.CustomerID;

            var menu_code = rp.Parameters.menu_code;

            var           loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            AppSysService appSysService      = new AppSysService(loggingSessionInfo);
            string        errMsg             = "";
            MenuModel     Menu = appSysService.GetRoleMenusByPMenuCode(loggingSessionInfo,
                                                                       loggingSessionInfo.CurrentUserRole.RoleId, menu_code, out errMsg);//根据当前用户的角色,来取他拥有的页面

            if (errMsg != "")
            {
                throw new APIException("errMsg:" + errMsg)
                      {
                          ErrorCode = 135
                      };
            }
            var rd = new GetMenusByPMenuCodeRD();

            rd.currentMenu = Menu;
            var rsp = new SuccessResponse <IAPIResponseData>(rd);

            return(rsp.ToJSON());
        }
예제 #2
0
    protected void LoadInfo(string roleid)
    {
        var item = new AppSysService().GetRoleById(loggingSessionInfo, roleid);

        drpAppSys.SelectedValue = item.Def_App_Id;
        tbRoleCode.Text         = item.Role_Code;
        tbRoleName.Text         = item.Role_Name;
        tbRoleNameEn.Text       = item.Role_Eng_Name;
        if (item.Is_Sys == 1)
        {
            tbIsSys1.Checked   = true;
            tbIsSys2.Checked   = false;
            tbIsSys1.Enabled   = false;
            tbIsSys2.Enabled   = false;
            drpAppSys.Enabled  = false;
            tbRoleCode.Enabled = false;
        }
        else
        {
            tbIsSys2.Checked = true;
            tbIsSys1.Checked = false;
        }
        //显示菜单树
        var select_menuids = (new AppSysService()).GetRoleMenus(loggingSessionInfo, roleid).Select(obj => obj.Menu_Id).ToArray();
        var menus          = (new cPos.Service.cAppSysServices()).GetAllMenusByAppSysCode(loggingSessionInfo, GetAppCodeByAppID(item.Def_App_Id));

        CreateTree(menus);

        ShowUnitCheckedNode(select_menuids);
    }
예제 #3
0
        /// <summary>
        /// 查询角色列表
        /// </summary>
        public string QueryMenuListData()
        {
            var form = Request("form").DeserializeJSONTo <MenuQueryEntity>();

            var appSysService      = new AppSysService(CurrentUserInfo);
            IList <MenuModel> list = new List <MenuModel>();

            string content = string.Empty;
            string key     = string.Empty;

            int       pageIndex   = Utils.GetIntVal(FormatParamValue(Request("page"))) - 1;
            MenuModel queryEntity = new MenuModel();

            queryEntity.Reg_App_Id     = form.app_sys_id;
            queryEntity.Parent_Menu_Id = FormatParamValue(Request("parent_menu_id"));
            queryEntity.Menu_Name      = form.menu_name;
            queryEntity.Menu_Code      = form.menu_code;
            list = appSysService.GetMenuList(queryEntity, pageIndex, PageSize);

            var jsonData = new JsonData();

            jsonData.totalCount = appSysService.GetMenuListCount(queryEntity).ToString();
            jsonData.data       = list;

            content = string.Format("{{\"totalCount\":{1},\"topics\":{0}}}",
                                    list.ToJSON(),
                                    jsonData.totalCount);
            return(content);
        }
예제 #4
0
        /// <summary>
        /// 通过ID获取角色信息
        /// </summary>
        public string GetMenuInfoByIdData()
        {
            var       service = new AppSysService(CurrentUserInfo);
            MenuModel data    = null;
            string    content = string.Empty;

            string key = string.Empty;

            if (Request("menu_id") != null && Request("menu_id") != string.Empty)
            {
                key = Request("menu_id").ToString().Trim();
            }

            MenuModel queryEntity = new MenuModel();

            queryEntity.Menu_Id = key;
            var list = service.GetMenuList(queryEntity, 0, 1);

            if (list != null && list.Count > 0)
            {
                data = list[0];
            }

            var jsonData = new JsonData();

            jsonData.totalCount = "1";
            jsonData.data       = data;

            content = jsonData.ToJSON();
            return(content);
        }
예제 #5
0
        /// <summary>
        /// 查询角色列表
        /// </summary>
        public string QueryRoleListData()
        {
            var form = Request("form").DeserializeJSONTo <RoleQueryEntity>();

            var       appSysService = new AppSysService(CurrentUserInfo);
            RoleModel list          = new RoleModel();

            string content = string.Empty;
            string key     = string.Empty;

            if (form.app_sys_id != null && form.app_sys_id != string.Empty)
            {
                key = form.app_sys_id.Trim();
            }
            list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");

            var jsonData = new JsonData();

            jsonData.totalCount = list.RoleInfoList.Count.ToString();
            jsonData.data       = list.RoleInfoList;

            content = string.Format("{{\"totalCount\":{1},\"topics\":{0}}}",
                                    list.RoleInfoList.ToJSON(),
                                    list.RoleInfoList.Count);
            return(content);
        }
예제 #6
0
        /// <summary>
        /// 角色列表
        /// </summary>
        public string GetRoleListData()
        {
            var       loggininfo    = new SessionManager().CurrentUserLoginInfo;
            var       appSysService = new AppSysService(new SessionManager().CurrentUserLoginInfo);
            RoleModel list          = new RoleModel();

            string content = string.Empty;
            string key     = string.Empty;

            if (Request("app_sys_id") != null && Request("app_sys_id") != string.Empty)
            {
                key  = Request("app_sys_id").ToString().Trim();
                list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", loggininfo.UserID);
            }
            else
            {
                list = new RoleModel();
                list.RoleInfoList = new List <RoleModel>();
            }

            var jsonData = new JsonData();

            jsonData.totalCount = list.RoleInfoList.Count.ToString();
            jsonData.data       = list.RoleInfoList;

            content = jsonData.ToJSON();
            return(content);
        }
예제 #7
0
        /// <summary>
        /// 获取子节点数据
        /// </summary>
        /// <param name="pParentNodeID">父节点ID</param>
        /// <returns></returns>
        protected override TreeNodes GetNodes(string pParentNodeID)
        {
            TreeNodes nodes = new TreeNodes();

            string            typeCode    = "总部";
            AppSysService     unitService = new AppSysService(new SessionManager().CurrentUserLoginInfo);
            IList <MenuModel> units;

            string key     = string.Empty;
            string content = string.Empty;

            key = pParentNodeID;
            bool bl = false;

            if (!string.IsNullOrEmpty(key))
            {
                if (key.Substring(0, 1) == ",")
                {
                    bl = true;
                }
            }
            if (key == null || key == "-1" || key == "root" || key.Length == 0 || bl)
            {
                MenuModel queryEnity = new MenuModel();
                queryEnity.customer_id = CurrentUserInfo.CurrentUser.customer_id;

                queryEnity.Reg_App_Id = pParentNodeID;
                if (!string.IsNullOrEmpty(pParentNodeID))
                {
                    queryEnity.Reg_App_Id = pParentNodeID.Trim(',');
                }
                units = unitService.GetMenuList(queryEnity, 0, 1000);
            }
            else
            {
                MenuModel queryEnity = new MenuModel();
                queryEnity.Parent_Menu_Id = key;
                if (!string.IsNullOrEmpty(key))
                {
                    string[] str = key.Split(',');
                    if (str != null && str.Length > 1)
                    {
                        queryEnity.Parent_Menu_Id = str[0];
                        queryEnity.Reg_App_Id     = str[1];
                    }
                }
                queryEnity.customer_id = CurrentUserInfo.CurrentUser.customer_id;
                units = unitService.GetMenuList(queryEnity, 0, 1000);
            }

            foreach (var item in units)
            {
                nodes.Add(item.Menu_Id, item.Menu_Name, item.Parent_Menu_Id, false);
            }
            return(nodes);
        }
예제 #8
0
        protected override GetMenuListRD ProcessRequest(DTO.Base.APIRequest <EmptyRequestParameter> pRequest)
        {
            var rd = new GetMenuListRD();

            var           loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            AppSysService appSysService      = new AppSysService(loggingSessionInfo);

            rd.MenuList = appSysService.GetRoleMenus(this.CurrentUserInfo, CurrentUserInfo.CurrentUserRole.RoleId);//根据当前用户的角色,来取他拥有的页面
            return(rd);
        }
예제 #9
0
        /// <summary>
        /// 应用系统列表
        /// </summary>
        public string GetAppSysListData()
        {
            var responseData = new ResponseData();
            LoggingSessionInfo loggingSessionInfo = null;

            if (CurrentUserInfo != null)
            {
                loggingSessionInfo = CurrentUserInfo;
            }
            else
            {
                if (string.IsNullOrEmpty(Request("CustomerID")))
                {
                    responseData.success = false;
                    responseData.msg     = "缺少商户标识";
                    return(responseData.ToString());
                }
                else if (string.IsNullOrEmpty(Request("CustomerUserID")))
                {
                    responseData.success = false;
                    responseData.msg     = "缺少登陆员工的标识";
                    return(responseData.ToString());
                }
                else if (string.IsNullOrEmpty(Request("CustomerUserID")))
                {
                    responseData.success = false;
                    responseData.msg     = "缺少登陆员工的标识";
                    return(responseData.ToString());
                }
                else
                {
                    loggingSessionInfo = Default.GetBSLoggingSession(Request("CustomerID"), Request("CustomerUserID"));
                }
            }

            var appSysService        = new AppSysService(loggingSessionInfo);//用兼容模式
            IList <AppSysModel> list = new List <AppSysModel>();

            string content = string.Empty;

            list = appSysService.GetAllAppSyses();
            //list.Add(new AppSysModel() { Def_App_Id = "1", Def_App_Name = "1" });
            //list.Add(new AppSysModel() { Def_App_Id = "2", Def_App_Name = "2" });

            var jsonData = new JsonData();

            jsonData.totalCount = list.Count.ToString();
            jsonData.data       = list;
            jsonData.success    = true;
            jsonData.msg        = "";

            content = jsonData.ToJSON();
            return(content);
        }
예제 #10
0
        public string DeleteData()
        {
            var    service      = new AppSysService(CurrentUserInfo);
            string content      = string.Empty;
            string error        = "删除成功";
            var    responseData = new ResponseData();
            string key          = string.Empty;

            try
            {
                if (Request("ids") != null && Request("ids") != string.Empty)
                {
                    key = Request("ids").ToString().Trim();
                }
                if (key == null || key.Length == 0)
                {
                    responseData.success = false;
                    responseData.msg     = "请选择菜单";
                    return(responseData.ToJSON());;
                }

                var status = "-1";
                if (FormatParamValue(Request("status")) != null && FormatParamValue(Request("status")) != string.Empty)
                {
                    status = FormatParamValue(Request("status")).ToString().Trim();
                }
                if (!service.IsCheckMeauLast(key))
                {
                    responseData.success = false;
                    responseData.msg     = "存在子菜单,请先删除子菜单";
                    return(responseData.ToJSON());;
                }
                var idList = key.Split(',');
                foreach (var tmpId in idList)
                {
                    if (tmpId.Trim().Length > 0)
                    {
                        service.DeleteMenuById(tmpId.Trim());
                    }
                }
                responseData.success = true;
                responseData.msg     = error;
            }
            catch (Exception ex)
            {
                responseData.success = false;
                responseData.msg     = ex.Message;
            }
            content = responseData.ToJSON();
            return(content);
        }
예제 #11
0
        protected override Utility.Web.ComponentModel.TreeNodes GetNodes(string pParentNodeID)
        {
            string status = "";

            //var form = Request("form").DeserializeJSONTo<MenuQueryEntity>();

            if (Request("Status") != null && Request("Status") != "")
            {
                status = Request("Status");
            }
            //获取数据
            var       appSysService = new AppSysService(CurrentUserInfo);
            MenuModel queryEntity   = new MenuModel();

            string[] str = pParentNodeID.Split(',');
            if (str != null && str.Length > 1)
            {
                queryEntity.Reg_App_Id = str[1];
            }

            var list = appSysService.GetMenuList(queryEntity, 0, 1000);
            //组织数据
            TreeNodes nodes = new TreeNodes();

            if (list != null && list.Count > 0)
            {
                foreach (var item in list)
                {
                    TreeNode node = new TreeNode();
                    node.ID = item.Menu_Id;
                    //if (item.Menu_Level != 1)
                    //{
                    node.ParentID = item.Parent_Menu_Id;
                    //}

                    //node.Text = item.Menu_Name;
                    node.Text   = "  <a class=\"pointer z_col_light_text\" onclick=\"fnView('" + item.Menu_Id + "')\">" + item.Menu_Name + "</a>";
                    node.IsLeaf = true;
                    //
                    nodes.Add(node);
                }
            }
            //
            return(nodes);
        }
예제 #12
0
        public string GetRole(string pRequest)
        {
            var rd     = new APIResponse <GetRoleRD>();
            var rdData = new GetRoleRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetRoleRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                var       appSysService = new AppSysService(loggingSessionInfo);
                RoleModel list          = new RoleModel();
                string    key           = "D8C5FF6041AA4EA19D83F924DBF56F93";
                //if (form.app_sys_id != null && form.app_sys_id != string.Empty)
                //{
                //    key = form.app_sys_id.Trim();
                //}
                list            = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");
                rdData.RoleList = list.RoleInfoList;
                rdData.Count    = list.RoleInfoList.Count;
                rd.Data         = rdData;
                rd.ResultCode   = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #13
0
        /// <summary>
        /// 通过ID获取角色信息
        /// </summary>
        public string GetRoleInfoByIdData()
        {
            var       service = new AppSysService(CurrentUserInfo);
            RoleModel data;
            string    content = string.Empty;

            string key = string.Empty;

            if (Request("role_id") != null && Request("role_id") != string.Empty)
            {
                key = Request("role_id").ToString().Trim();
            }

            data = service.GetRoleById(CurrentUserInfo, key);

            var jsonData = new JsonData();

            jsonData.totalCount = "1";
            jsonData.data       = data;

            content = jsonData.ToJSON();
            return(content);
        }
예제 #14
0
    // 从UI 得到 数据对象
    private RoleModel GetModelFromUI()
    {
        var item = new AppSysService().GetRoleById(loggingSessionInfo, Request.QueryString["role_id"]);

        if (item != null)
        {
            item.Role_Code     = tbRoleCode.Text.Trim();
            item.Role_Name     = tbRoleName.Text.Trim();
            item.Role_Eng_Name = tbRoleNameEn.Text.Trim();
            item.Def_App_Id    = drpAppSys.SelectedValue;
            item.Is_Sys        = tbIsSys1.Checked ? 1 : 0;
            var menu_list = new List <RoleMenuModel>();

            GetSelectetMenus(menu_list, this.tvMenu.Nodes);
            item.RoleMenuInfoList = menu_list;
            item.Modify_Time      = new BaseService().GetCurrentDateTime();
            item.Modify_User_id   = loggingSessionInfo.CurrentUser.User_Id;
            item.Modify_User_Name = loggingSessionInfo.CurrentUser.User_Name;
        }
        else
        {
            item               = new RoleModel();
            item.Role_Code     = tbRoleCode.Text.Trim();
            item.Role_Name     = tbRoleName.Text.Trim();
            item.Role_Eng_Name = tbRoleNameEn.Text.Trim();
            item.Def_App_Id    = drpAppSys.SelectedValue;
            item.Is_Sys        = tbIsSys1.Checked ? 1 : 0;
            var menu_list = new List <RoleMenuModel>();

            GetSelectetMenus(menu_list, this.tvMenu.Nodes);
            item.RoleMenuInfoList = menu_list;
            item.Create_Time      = new BaseService().GetCurrentDateTime();
            item.Create_User_Id   = loggingSessionInfo.CurrentUser.User_Id;
            item.Create_User_Name = loggingSessionInfo.CurrentUser.User_Name;
        }
        return(item);
    }
예제 #15
0
        /// <summary>
        /// 通过RoleID获取菜单列表
        /// </summary>
        public string GetSysMenuListByRoleIdData()
        {
            var appSysService         = new AppSysService(CurrentUserInfo);
            IList <MenuModel> data    = new List <MenuModel>();
            string            content = string.Empty;

            IList <MenuModel> src = new List <MenuModel>();

            string appSysId = "";
            string key      = string.Empty;

            if (Request("role_id") != null && Request("role_id") != string.Empty)
            {
                key = Request("role_id").ToString().Trim();
            }

            if (Request("app_sys_id") != null && Request("app_sys_id") != string.Empty)
            {
                appSysId = Request("app_sys_id").ToString().Trim();
            }

            src = appSysService.GetAllMenusByAppSysId(appSysId);

            IList <MenuModel> roleMenuList = new List <MenuModel>();

            roleMenuList = appSysService.GetRoleMenus(CurrentUserInfo, key);

            foreach (var tmpSrcMenuObj in src)
            {
                foreach (var tmpRoleMenuObj in roleMenuList)
                {
                    if (tmpRoleMenuObj.Menu_Id == tmpSrcMenuObj.Menu_Id)
                    {
                        tmpSrcMenuObj.check_flag = "true";
                        break;
                    }
                    else
                    {
                        tmpSrcMenuObj.check_flag = "false";
                    }
                }
            }

            data = src.Where(c => c.Menu_Level == 1).ToList();
            foreach (var tmpMenuObj in data)
            {
                tmpMenuObj.leaf_flag     = tmpMenuObj.Menu_Level == 1 ? "false" : "true";
                tmpMenuObj.expanded_flag = tmpMenuObj.Menu_Level == 1 ? "true" : "false";
                //tmpMenuObj.cls_flag = tmpMenuObj.Menu_Level == 1 ? "folder" : "";

                foreach (var tmpSrcMenuObj in src)
                {
                    if (tmpSrcMenuObj.Parent_Menu_Id == tmpMenuObj.Menu_Id)
                    {
                        if (tmpMenuObj.children == null)
                        {
                            tmpMenuObj.children = new List <MenuModel>();
                        }
                        tmpSrcMenuObj.leaf_flag = "true";
                        tmpSrcMenuObj.cls_flag  = "";
                        tmpMenuObj.children.Add(tmpSrcMenuObj);
                    }
                }
            }

            var jsonData = new JsonData();

            jsonData.totalCount = data.Count.ToString();
            jsonData.data       = data;

            content = jsonData.ToJSON();
            return(content);
        }
예제 #16
0
        /// <summary>
        /// 保存角色
        /// </summary>
        public string SaveMenuData()
        {
            var       menuService  = new AppSysService(CurrentUserInfo);
            MenuModel obj          = new MenuModel();
            string    content      = string.Empty;
            string    error        = "";
            var       responseData = new ResponseData();

            string key     = string.Empty;
            string menu_id = string.Empty;

            if (Request("menu") != null && Request("menu") != string.Empty)
            {
                key = Request("menu").ToString().Trim();
            }
            if (Request("menu_id") != null && Request("menu_id") != string.Empty)
            {
                menu_id = Request("menu_id").ToString().Trim();
            }

            obj = key.DeserializeJSONTo <MenuModel>();

            //obj.Def_App_Id = "";
            //if (Request["app_sys_id"] != null && Request["app_sys_id"] != string.Empty)
            //{
            //    obj.Def_App_Id = Request["app_sys_id"].ToString().Trim();
            //}

            if (menu_id.Trim().Length == 0 || menu_id == "null" || menu_id == "undefined")
            {
                obj.Menu_Id     = Utils.NewGuid();
                obj.Status      = 1;
                obj.User_Flag   = 1;
                obj.customer_id = CurrentUserInfo.CurrentUser.customer_id;
            }
            else
            {
                obj.Menu_Id   = menu_id;
                obj.Status    = 1;
                obj.User_Flag = 1;
            }

            obj.Menu_Level = 1;
            if (obj.Parent_Menu_Id != null && obj.Parent_Menu_Id.Trim().Length > 0)
            {
                var tmpParentObj = menuService.GetMenuList(new MenuModel()
                {
                    Menu_Id = obj.Parent_Menu_Id
                }, 0, 1);
                if (tmpParentObj != null && tmpParentObj.Count > 0)
                {
                    obj.Menu_Level = tmpParentObj[0].Menu_Level + 1;
                }
            }
            else
            {
                obj.Parent_Menu_Id = "--";
            }

            if (obj.Menu_Code == null || obj.Menu_Code.Trim().Length == 0)
            {
                responseData.success = false;
                responseData.msg     = "编码不能为空";
                return(responseData.ToJSON());
            }
            if (obj.Menu_Name == null || obj.Menu_Name.Trim().Length == 0)
            {
                responseData.success = false;
                responseData.msg     = "名称不能为空";
                return(responseData.ToJSON());
            }

            obj.Create_Time    = Utils.GetNow();
            obj.Create_User_Id = CurrentUserInfo.CurrentUser.User_Id;
            obj.Modify_Time    = Utils.GetNow();
            obj.Modify_User_id = CurrentUserInfo.CurrentUser.User_Id;

            menuService.SetMenuInfo(obj, true, "", out error);

            responseData.success = true;
            responseData.msg     = error;

            content = responseData.ToJSON();
            return(content);
        }
예제 #17
0
        /// <summary>
        /// pageload
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            string content = string.Empty;

            if (string.IsNullOrEmpty(Request["method"]))
            {
                //MenuList = DataLoader.LoadFrom<ClientMenuButtonEntity>(
                //    new SessionManager().CurrentUserLoginInfo.UserOPRight.Tables[0],
                //    new DirectPropertyNameMapping()).Where(c =>
                //        string.IsNullOrEmpty(c.ButtonText)).ToArray();

                //var loggingSessionInfo = this.Session["loggingSessionInfo"] as LoggingSessionInfo;
                var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
                if (loggingSessionInfo == null)
                {
                    this.Response.Redirect("~/GoSso.aspx");
                }
                else
                {
                    if (lblLoginUserName != null)
                    {
                        lblLoginUserName.InnerText = loggingSessionInfo.CurrentUser.User_Name;//因为ChildPage.Master的前台页面Inherits="JIT.CPOS.BS.Web.Framework.MasterPage.CPOS" 但是不含有 lblLoginUserName
                    }
                }
                AppSysService appSysService = new AppSysService(loggingSessionInfo);
                this.MenuList = appSysService.GetRoleMenusList(loggingSessionInfo,
                                                               loggingSessionInfo.CurrentUserRole.RoleId);//根据当前用户的角色,来取他拥有的页面

                var dbMenuIds = appSysService.GetMenuIds(Request.Url);
                if (dbMenuIds.Count == 0 && !string.IsNullOrWhiteSpace(Mid))
                {
                    dbMenuIds.Add(Mid);
                }
                foreach (var dbMenuId in dbMenuIds)
                {
                    string tempMid     = string.Empty;
                    string tempPMenuID = string.Empty;
                    string tempMMenuID = string.Empty;
                    if (!string.IsNullOrWhiteSpace(dbMenuId))
                    {
                        tempMid = dbMenuId;
                    }
                    //PMenuId
                    {
                        var currentMenu = MenuList.Where(p => p.Menu_Id == tempMid).SingleOrDefault();
                        if (currentMenu != null)
                        {
                            if (!string.IsNullOrWhiteSpace(currentMenu.Parent_Menu_Id))
                            {
                                tempPMenuID = currentMenu.Parent_Menu_Id;
                            }
                        }
                    }
                    //MMenuId
                    {
                        var currentMenu = MenuList.Where(p => p.Menu_Id == tempPMenuID).SingleOrDefault();
                        if (currentMenu != null)
                        {
                            if (!string.IsNullOrWhiteSpace(currentMenu.Parent_Menu_Id))
                            {
                                tempMMenuID = currentMenu.Parent_Menu_Id;
                            }
                        }
                    }
                    //防止多条menuId
                    if (!string.IsNullOrWhiteSpace(tempMMenuID))
                    {
                        Mid     = tempMid;
                        PMenuID = tempPMenuID;
                        MMenuID = tempMMenuID;
                        break;
                    }
                    else if (!string.IsNullOrWhiteSpace(tempPMenuID) && string.IsNullOrWhiteSpace(PMenuID))
                    {
                        Mid     = tempMid;
                        PMenuID = tempPMenuID;
                    }
                    else if (!string.IsNullOrWhiteSpace(tempMid) && string.IsNullOrWhiteSpace(Mid))
                    {
                        Mid = tempMid;
                    }
                }

                #region 旧代码
                //this.MenuList = appSysService.GetRoleMenusList(loggingSessionInfo,
                //    loggingSessionInfo.CurrentUserRole.RoleId);//根据当前用户的角色,来取他拥有的页面
                //MMenuID = Request.QueryString["MMenuID"] == null ? "" : Request.QueryString["MMenuID"].ToString();
                //PMenuID = Request.QueryString["PMenuID"] == null ? "" : Request.QueryString["PMenuID"].ToString();
                //if (PMenuID == "")
                //{
                //    var currentMenu = MenuList.Where(p => p.Menu_Id == Mid).SingleOrDefault();
                //    if (currentMenu != null)
                //    {
                //        PMenuID = currentMenu.Parent_Menu_Id;
                //    }



                //}
                //if (MMenuID == "")
                //{
                //    var currentMenu = MenuList.Where(p => p.Menu_Id == PMenuID).SingleOrDefault();
                //    if (currentMenu != null)
                //    {
                //        MMenuID = currentMenu.Parent_Menu_Id;
                //    }

                //}
                #endregion
                if (!IsPostBack)
                {
                    //Jermyn20140703 修改logo图片来源
                    CustomerBasicSettingBLL customerBSServer = new CustomerBasicSettingBLL(loggingSessionInfo);
                    var customerBSList = customerBSServer.QueryByEntity(new CustomerBasicSettingEntity
                    {
                        CustomerID    = loggingSessionInfo.CurrentUser.customer_id.Trim()
                        , SettingCode = "WebLogo"
                        , IsDelete    = 0
                    }, null);
                    if (customerBSList == null || customerBSList.Length == 0 || customerBSList[0] == null ||
                        customerBSList[0].SettingValue == null ||
                        customerBSList[0].SettingValue.Equals(""))
                    {
                        //Jermyn20131202 添加logo图片
                        PropService propServer = new PropService(loggingSessionInfo);
                        string      strLogo    = propServer.GetWebLogo();
                        if (strLogo == null || strLogo.Equals(""))
                        {
                        }
                        else
                        {
                            strWebLogo = strLogo;
                        }
                    }
                    else
                    {
                        strWebLogo = customerBSList[0].SettingValue;
                    }
                }
            }
            else
            {
                switch (Request["method"])
                {
                case "LogOut": content = LogOut(); break;

                case "KeepSession": content = ""; break;
                }
                Response.Write(content);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
                //Response.End();
            }
        }
예제 #18
0
        /// <summary>
        /// 查询角色列表
        /// </summary>
        public string QueryRoleListData()
        {
            var responseData = new ResponseData();
            LoggingSessionInfo loggingSessionInfo = null;

            if (CurrentUserInfo != null)
            {
                loggingSessionInfo = CurrentUserInfo;
            }
            else
            {
                if (string.IsNullOrEmpty(Request("CustomerID")))
                {
                    responseData.success = false;
                    responseData.msg     = "缺少商户标识";
                    return(responseData.ToString());
                }
                else if (string.IsNullOrEmpty(Request("CustomerUserID")))
                {
                    responseData.success = false;
                    responseData.msg     = "缺少登陆员工的标识";
                    return(responseData.ToString());
                }
                else if (string.IsNullOrEmpty(Request("CustomerUserID")))
                {
                    responseData.success = false;
                    responseData.msg     = "缺少登陆员工的标识";
                    return(responseData.ToString());
                }
                else
                {
                    loggingSessionInfo = Default.GetBSLoggingSession(Request("CustomerID"), Request("CustomerUserID"));
                }
            }

            var form = Request("form").DeserializeJSONTo <RoleQueryEntity>();

            var       appSysService = new AppSysService(loggingSessionInfo);//使用兼容模式
            RoleModel list          = new RoleModel();

            string content = string.Empty;
            string key     = string.Empty;

            if (form.app_sys_id != null && form.app_sys_id != string.Empty)
            {
                key = form.app_sys_id.Trim();
            }
            int maxRowCount = PageSize;                          //每页数量
            int limit       = Utils.GetIntVal(Request("limit")); //传过来的参数

            if (limit != 0)
            {
                maxRowCount = PageSize = limit;
            }


            int page = Utils.GetIntVal(Request("page"));//第几页面

            if (page == 0)
            {
                page = 1;
            }
            int startRowIndex = (page - 1) * PageSize + 1;//因为row_number()从1开始


            list = appSysService.GetRolesByAppSysId(key, maxRowCount, startRowIndex
                                                    , form.type_id ?? "", form.role_name ?? "", loggingSessionInfo.UserID);
            //在为用户配置门店角色关系时
            //多加一个参数,在这里选择门店,必须重新加载角色列表,因为创建用户角色门店关系时,角色必须和门店同一个type_level上
            if (!string.IsNullOrEmpty(form.unit_id))
            {
                t_unitBLL    t_unitBll = new t_unitBLL(CurrentUserInfo);
                t_unitEntity t_unitEn  = t_unitBll.GetByID(form.unit_id);

                if (t_unitEn != null)
                {
                    T_TypeBLL    T_TypeBLL = new T_TypeBLL(CurrentUserInfo);
                    T_TypeEntity t_typeEn  = T_TypeBLL.GetByID(t_unitEn.type_id);
                    list.RoleInfoList = list.RoleInfoList.Where(p => p.org_level == t_typeEn.type_Level).ToList();
                }
            }

            var jsonData = new JsonData();

            jsonData.totalCount = list.RoleInfoList.Count.ToString();
            jsonData.data       = list.RoleInfoList;

            content = string.Format("{{\"totalCount\":{1},\"TotalPage\":{2},\"topics\":{0}}}",
                                    list.RoleInfoList.ToJSON(),
                                    list.ICount,
                                    list.TotalPage);
            return(content);
        }
예제 #19
0
        /// <summary>
        /// 保存角色
        /// </summary>
        public string SaveRoleData()
        {
            var       roleService  = new RoleService(CurrentUserInfo);
            RoleModel obj          = new RoleModel();
            string    content      = string.Empty;
            string    error        = "";
            var       responseData = new ResponseData();

            string key     = string.Empty;
            string role_id = string.Empty;

            if (Request("role") != null && Request("role") != string.Empty)
            {
                key = Request("role").ToString().Trim();
            }
            if (Request("role_id") != null && Request("role_id") != string.Empty)
            {
                role_id = Request("role_id").ToString().Trim();
            }

            obj = key.DeserializeJSONTo <RoleModel>();

            //obj.Def_App_Id = "";
            //if (Request["app_sys_id"] != null && Request["app_sys_id"] != string.Empty)
            //{
            //    obj.Def_App_Id = Request["app_sys_id"].ToString().Trim();
            //}

            if (role_id.Trim().Length == 0 || role_id == "null" || role_id == "undefined")
            {
                obj.Role_Id = Utils.NewGuid();
            }
            else
            {
                obj.Role_Id = role_id;
            }


            if (obj.type_id == null || obj.type_id.Trim().Length == 0)
            {
                //responseData.success = false;
                //responseData.msg = "所属组织层级不能为空";
                //return responseData.ToJSON();
                obj.type_id   = "";
                obj.org_level = 99;
            }
            else
            {
                T_TypeBLL    typeBll = new T_TypeBLL(CurrentUserInfo);
                T_TypeEntity en      = typeBll.GetByID(obj.type_id);
                if (en != null)
                {
                    obj.org_level = (int)en.type_Level;
                }
            }

            if (obj.Def_App_Id == null || obj.Def_App_Id.Trim().Length == 0)
            {
                responseData.success = false;
                responseData.msg     = "应用系统不能为空";
                return(responseData.ToJSON());
            }

            if (obj.Role_Name == null || obj.Role_Name.Trim().Length == 0)
            {
                responseData.success = false;
                responseData.msg     = "角色名称不能为空";
                return(responseData.ToJSON());
            }

            //根据role_id 获取角色信息,系统保留角色的编码不允许修改,主要是admin、administrator等默认角色
            RoleModel roleOld = new AppSysService(CurrentUserInfo).GetRoleById(CurrentUserInfo, role_id);

            if (roleOld != null && roleOld.Is_Sys == 1)
            {
                //throw (new System.Exception("不能删除系统保留的角色"));
                obj.Role_Code = roleOld.Role_Code;//还用原来的,不用role_name
                obj.Is_Sys    = 1;
            }
            //if (obj.Is_Sys == null)
            //{
            //    responseData.success = false;
            //    responseData.msg = "是否系统保留不能为空";
            //    return responseData.ToJSON();
            //}
            if (obj.Role_Code == null || obj.Role_Code.Trim().Length == 0)
            {
                //responseData.success = false;
                //responseData.msg = "角色编码不能为空";
                //return responseData.ToJSON();
                obj.Role_Code = obj.Role_Name;
            }


            if (obj.RoleMenuInfoList != null)
            {
                foreach (var tmpRoleMenuObj in obj.RoleMenuInfoList)
                {
                    tmpRoleMenuObj.Role_Id = obj.Role_Id;
                }
            }

            obj.Create_Time    = Utils.GetNow();
            obj.Create_User_Id = CurrentUserInfo.CurrentUser.User_Id;
            obj.Modify_Time    = Utils.GetNow();
            obj.Modify_User_id = CurrentUserInfo.CurrentUser.User_Id;
            string strError = "";

            //
            roleService.SetRoleInfo(obj, out strError);
            //
            var menuList = new JIT.CPOS.BS.DataAccess.AppSysService(CurrentUserInfo).GetRoleMenus(CurrentUserInfo.ClientID, obj.Role_Id);

            if (menuList != null && menuList.Count > 0)
            {
                new RedisRoleBLL().SetRole(CurrentUserInfo.ClientID, obj.Role_Id, menuList);
            }
            //roleService.SetRoleInfo(obj, out strError);

            if (strError != "" && strError != "成功")
            {
                responseData.success = false;
                responseData.msg     = strError;
                return(responseData.ToJSON());
            }

            responseData.success = true;
            responseData.msg     = error;

            content = responseData.ToJSON();
            return(content);
        }
예제 #20
0
        public string GetUserList(string pRequest)
        {
            var rd     = new APIResponse <GetUserRD>();
            var rdData = new GetUserRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetUserRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                //获取普通员工employee角色标识
                string    roleId        = string.Empty;
                var       appSysService = new AppSysService(loggingSessionInfo);
                RoleModel list          = new RoleModel();
                string    key           = "D8C5FF6041AA4EA19D83F924DBF56F93";
                list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");

                foreach (var item in list.RoleInfoList)
                {
                    if (item.Role_Code.ToLower() == "employee")
                    {
                        roleId = item.Role_Id;
                        break;
                    }
                }
                if (string.IsNullOrEmpty(roleId) || roleId == "")
                {
                    throw new APIException("employee的roleId未获取到")
                          {
                              ErrorCode = 103
                          }
                }
                ;

                T_UserBLL userBll = new T_UserBLL(loggingSessionInfo);
                //string typeID = System.Configuration.ConfigurationManager.AppSettings["TypeID"].ToString();
                int             totalPage = 0;
                QueryUserEntity entity    = new QueryUserEntity();
                entity.QUserName      = rp.Parameters.Keyword;
                entity.QUnitID        = rp.Parameters.UnitID;
                entity.QJobFunctionID = rp.Parameters.JobFunctionID;
                entity.QRoleID        = roleId;
                DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity);

                //排序
                DataView dv   = dTable.DefaultView;
                string   sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort;
                sort    = "UserStatus desc," + sort;
                dv.Sort = sort;
                DataTable dt2 = dv.ToTable();
                dTable = dt2;


                if (dTable != null)
                {
                    rdData.UserList = DataTableToObject.ConvertToList <UserInfo>(dTable);
                }
                rdData.TotalPage = totalPage;
                rd.Data          = rdData;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #21
0
        public string ExportStaff(string pRequest)
        {
            var rd     = new APIResponse <ExportStaffRD>();
            var rdData = new ExportStaffRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <ExportStaffRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                //获取普通员工employee角色标识
                string    roleId        = string.Empty;
                var       appSysService = new AppSysService(loggingSessionInfo);
                RoleModel list          = new RoleModel();
                string    key           = "D8C5FF6041AA4EA19D83F924DBF56F93";
                list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");

                foreach (var item in list.RoleInfoList)
                {
                    if (item.Role_Code.ToLower() == "employee")
                    {
                        roleId = item.Role_Id;
                        break;
                    }
                }

                if (string.IsNullOrEmpty(roleId) || roleId == "")
                {
                    throw new APIException("employee的roleId未获取到")
                          {
                              ErrorCode = 103
                          }
                }
                ;

                rp.Parameters.ExportType = rp.Parameters.ExportType.ToLower();
                //所有页
                if (rp.Parameters.ExportType == "allpage")
                {
                    rp.Parameters.PageIndex = 0;
                    rp.Parameters.PageSize  = 5000;
                }

                //数据获取
                T_UserBLL       userBll   = new T_UserBLL(loggingSessionInfo);
                int             totalPage = 0;
                QueryUserEntity entity    = new QueryUserEntity();
                entity.QUserName      = rp.Parameters.Keyword;
                entity.QUnitID        = rp.Parameters.UnitID;
                entity.QJobFunctionID = rp.Parameters.JobFunctionID;
                entity.QRoleID        = roleId;
                DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity);

                //过滤选择的员工
                if (rp.Parameters.ExportType == "select")
                {
                    string[] ids    = rp.Parameters.StaffIds.Split(',');
                    string   strIds = "'',";
                    for (int i = 0; i < ids.Length; i++)
                    {
                        strIds += "'" + ids[i] + "',";
                    }
                    strIds = strIds.Substring(0, strIds.Length - 1);
                    DataRow[] drs = dTable.Select("UserID in (" + strIds + ")");
                    DataTable d   = dTable.Clone();
                    foreach (var item in drs)
                    {
                        d.ImportRow(item);
                    }
                    dTable = d;
                }
                else
                if (rp.Parameters.ExportType == "noselect")
                {
                    dTable = dTable.Clone();
                }

                //排序
                DataView dv   = dTable.DefaultView;
                string   sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort;
                sort    = "UserStatus desc," + sort;
                dv.Sort = sort;
                DataTable dt2 = dv.ToTable();
                dTable = dt2;

                //表格标题设置
                DataTable lastTable = dTable.DefaultView.ToTable(false, "UserCode", "UserName", "UserNameEn", "UserEmail", "UserGenderT", "UserBirthday", "UserTelephone", "UserCellphone", "DeptName", "JobFuncName", "UserStatusDesc");
                //重置标题名称
                lastTable.Columns["UserCode"].ColumnName       = "用户编码";
                lastTable.Columns["UserName"].ColumnName       = "姓名";
                lastTable.Columns["UserNameEn"].ColumnName     = "英文名";
                lastTable.Columns["UserEmail"].ColumnName      = "邮箱";
                lastTable.Columns["UserGenderT"].ColumnName    = "性别";
                lastTable.Columns["UserBirthday"].ColumnName   = "生日";
                lastTable.Columns["UserTelephone"].ColumnName  = "手机";
                lastTable.Columns["UserCellphone"].ColumnName  = "电话";
                lastTable.Columns["DeptName"].ColumnName       = "部门";
                lastTable.Columns["JobFuncName"].ColumnName    = "职务";
                lastTable.Columns["UserStatusDesc"].ColumnName = "状态";

                //数据获取
                Workbook wb       = DataTableExporter.WriteXLS(lastTable, 0);
                string   savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel");
                if (!System.IO.Directory.Exists(savePath))
                {
                    System.IO.Directory.CreateDirectory(savePath);
                }
                savePath = savePath + "\\企信员工-" + lastTable.TableName + ".xls";
                wb.Save(savePath);//保存Excel文件
                new ExcelCommon().OutPutExcel(HttpContext.Current, savePath);

                HttpContext.Current.Response.End();

                rd.ResultCode = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #22
0
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        cPos.Service.AppSysService appSysService = new AppSysService();
        cPos.Service.UnitService   unitService   = new UnitService();

        //设置用户角色
        //按角色登录
        if (e.CommandName == "Go")
        {
            this.UserRoleInfo        = new UserRoleInfo();
            this.UserRoleInfo.RoleId = e.CommandArgument.ToString();

            this.UserRoleInfo.RoleName = appSysService.GetRoleById(loggingSessionInfo, this.UserRoleInfo.RoleId).Role_Name;

            this.UserRoleInfo.UserId   = this.UserInfo.User_Id;
            this.UserRoleInfo.UserName = this.UserInfo.User_Name;

            try
            {
                this.UserRoleInfo.UnitId = userService.GetDefaultUnitByUserIdAndRoleId(this.UserRoleInfo.UserId, this.UserRoleInfo.RoleId);
            }
            catch (Exception ex)
            {
                PageLog.Current.Write(ex);
                Response.Write("找不到默认单位");
                Response.End();
            }

            try
            {
                this.UserRoleInfo.UnitName = unitService.GetUnitById(loggingSessionInfo, UserRoleInfo.UnitId).ShortName;
            }

            catch (Exception ex)
            {
                PageLog.Current.Write(ex);
                Response.Write("找不到单位");
                Response.End();
            }
            //将注册信息写入LoggingSessionInfo 2008-9-19
            this.loggingSessionInfo                  = new LoggingSessionInfo();
            loggingSessionInfo.CurrentUser           = this.UserInfo;
            loggingSessionInfo.CurrentUserRole       = this.UserRoleInfo;
            loggingSessionInfo.CurrentLanguageKindId = this.CurrentLanguageKindId;
            loggingSessionInfo.CurrentLoggingManager = this.LoggingManagerInfo;

            //判断有没有菜单权限
            IList <MenuModel> menus = appSysService.GetRoleMenus(loggingSessionInfo, e.CommandArgument.ToString());
            if (menus.Count == 0)
            {
                this.Label1.Text = "没有菜单" + "&nbsp;<a href=\"~/common/homepage.aspx\">返回首页</a>";
            }
            else
            {
                //转到主页
                if (Request["ReturnPath"] == null)
                {
                    Response.Redirect("~/common/homepage.aspx");
                }
                else
                {
                    Response.Redirect(Request["ReturnPath"].ToString());
                }
            }
        }

        //按单位登录
        //UserService.CheckUserRole
        if (e.CommandName == "UnitGo")
        {
            this.UserRoleInfo          = new UserRoleInfo();
            this.UserRoleInfo.RoleId   = e.CommandArgument.ToString();
            this.UserRoleInfo.RoleName = appSysService.GetRoleById(loggingSessionInfo, this.UserRoleInfo.RoleId).Role_Name;
            this.UserRoleInfo.UserId   = this.UserInfo.User_Id;
            this.UserRoleInfo.UserName = this.UserInfo.User_Name;

            GridViewRow row    = (e.CommandSource as LinkButton).NamingContainer as GridViewRow;
            string      unitId = ((HiddenField)row.FindControl("hfUnitId")).Value;
            try
            {
                this.UserRoleInfo.UnitId = unitId;
            }
            catch (Exception ex)
            {
                PageLog.Current.Write(ex);
                Response.Write("找不到默认单位");
                Response.End();
            }
            try
            {
                this.UserRoleInfo.UnitName = unitService.GetUnitById(loggingSessionInfo, UserRoleInfo.UnitId).ShortName;
            }
            catch (Exception ex)
            {
                PageLog.Current.Write(ex);
                this.UserRoleInfo.UnitName = "单位信息加载出错";
                //throw (ex);
            }

            //检查单位角色信息,没有,添加
            userService.CheckUserRole(this.UserRoleInfo);

            //将注册信息写入LoggingSessionInfo 2008-9-19
            this.loggingSessionInfo                  = new LoggingSessionInfo();
            loggingSessionInfo.CurrentUser           = this.UserInfo;
            loggingSessionInfo.CurrentUserRole       = this.UserRoleInfo;
            loggingSessionInfo.CurrentLanguageKindId = this.CurrentLanguageKindId;
            loggingSessionInfo.CurrentLoggingManager = this.LoggingManagerInfo;

            //判断有没有菜单权限
            IList <MenuModel> menus = appSysService.GetRoleMenus(loggingSessionInfo, e.CommandArgument.ToString());
            if (menus.Count == 0)
            {
                this.Label1.Text = "没有菜单";
            }
            else
            {
                //转到主页
                if (Request["ReturnPath"] == null)
                {
                    Response.Redirect("~/common/homepage.aspx");
                }
                else
                {
                    Response.Redirect(Request["ReturnPath"].ToString());
                }
            }
        }
    }