public ResResultModel GetMenusTreeGrid(MenusPermissionModel model) { try { var accessId = Guid.Empty; var accessType = ""; var isAdministrators = false; if (!string.IsNullOrWhiteSpace(model.AllowRole)) { accessType = "Roles"; SiteRoles rBll = new SiteRoles(); var roleInfo = rBll.GetAspnetModel(Membership.ApplicationName, model.AllowRole); accessId = roleInfo.Id; isAdministrators = roleInfo.LowerName == "administrators"; } if (!string.IsNullOrWhiteSpace(model.DenyUser)) { accessType = "Users"; accessId = Guid.Parse(Membership.GetUser(model.DenyUser).ProviderUserKey.ToString()); } var bll = new SiteMenus(); return(ResResult.Response(true, "", bll.GetTreeGridJson(Membership.ApplicationName, accessId, accessType, isAdministrators))); } catch (Exception ex) { return(ResResult.Response(false, ex.Message, "")); } }
public ResResultModel GetMenusTreeChildrenByParentId(Guid parentId) { try { var userMenuList = MenusDataProxy.GetUserMenus(); if (userMenuList == null || userMenuList.Count() == 0) { return(ResResult.Response(false, MC.Data_InvalidExist, "")); } var parentInfo = userMenuList.FirstOrDefault(m => m.Id.Equals(parentId)); if (parentInfo == null) { return(ResResult.Response(false, MC.Data_InvalidExist, "")); } var sb = new StringBuilder(); var bll = new SiteMenus(); bll.CreateTreeJson(userMenuList, parentInfo.Id, ref sb); return(ResResult.Response(true, "", sb.ToString())); } catch (Exception ex) { return(ResResult.Response(false, ex.Message, "")); } }
public ResResultModel DeleteMenus(Guid Id) { try { //MenusDataProxy.ValidateAccess((int)EnumData.EnumOperationAccess.删除, true); if (!HttpContext.Current.User.IsInRole("Administrators")) { throw new ArgumentException(MC.Role_InvalidError); } if (Id.Equals(Guid.Empty)) { return(ResResult.Response(false, MC.Request_Params_InvalidError, "")); } var bll = new SiteMenus(); bll.Delete(Id); return(ResResult.Response(true, "", "")); } catch (Exception ex) { return(ResResult.Response(false, ex.Message, "")); } }
public ResResultModel GetMenusTree() { try { var bll = new SiteMenus(); return(ResResult.Response(true, "", bll.GetTreeJson(Membership.ApplicationName))); } catch (Exception ex) { return(ResResult.Response(false, ex.Message, "")); } }
public void SetMigrateAnonymous() { var userId = WebCommon.GetUserId(); IList <SiteMenusInfo> smis = new List <SiteMenusInfo>(); UserProfileInfo upi = new UserProfileInfo(); var menuBll = new SiteMenus(); if (Roles.GetRolesForUser().Length == 0) { var guestRole = new SiteRoles().GetAspnetModel(Membership.ApplicationName, "guest"); string[] accessIds = { guestRole.Id.ToString() }; smis = menuBll.GetMenusAccess(Membership.ApplicationName, accessIds, false); upi = new UserProfileInfo { SiteCode = AppCode, SiteTitle = GlobalConfig.SiteTitle }; } else { var accessIds = new List <string>(); accessIds.Add(userId.ToString()); var roleIds = new SiteRoles().GetAspnetRoleIds(Membership.ApplicationName, Roles.GetRolesForUser()); foreach (var item in roleIds) { accessIds.Add(item.ToString()); } var isAdmin = HttpContext.Current.User.IsInRole("Administrators"); Task[] tasks = new Task[2]; tasks[0] = Task.Factory.StartNew(() => { var fuInfo = new FeatureUser().GetModel(userId, "UserProfile"); if (fuInfo != null) { upi.SiteCode = fuInfo.SiteCode; upi.SiteTitle = fuInfo.SiteTitle; upi.SiteLogo = string.IsNullOrWhiteSpace(fuInfo.SiteLogo) ? "" : WebCommon.GetSiteAppName() + fuInfo.SiteLogo; upi.CultureName = fuInfo.CultureName; } }); tasks[1] = Task.Factory.StartNew(() => { smis = menuBll.GetMenusAccess(Membership.ApplicationName, accessIds.ToArray(), isAdmin); }); Task.WaitAll(tasks); } var Profile = new CustomProfileCommon(); Profile.UserMenus = JsonConvert.SerializeObject(smis); Profile.UserInfo = JsonConvert.SerializeObject(upi); Profile.Save(); }
private void InitEdit(Guid Id) { var bll = new SiteMenus(); var model = bll.GetModel(Id); if (model != null) { hId.Value = model.Id.ToString(); hParentId.Value = model.ParentId.ToString(); txtTitle.Value = model.Title; txtUrl.Value = model.Url; txtDescr.Value = model.Descr; txtSort.Value = model.Sort.ToString(); } }
protected void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs args) { AnonymousIdentificationModule.ClearAnonymousIdentifier(); try { var userId = WebCommon.GetUserId(); var menuBll = new SiteMenus(); var accessIds = new List <string>(); accessIds.Add(userId.ToString()); Task[] tasks = new Task[3]; tasks[0] = Task.Factory.StartNew(() => { var roleIds = new SiteRoles().GetAspnetRoleIds(Roles.GetRolesForUser()); foreach (var item in roleIds) { accessIds.Add(item.ToString()); } }); var userProfileInfo = new UserProfileInfo(); tasks[1] = Task.Factory.StartNew(() => { var fuInfo = new FeatureUser().GetModel(userId, "UserProfile"); if (fuInfo != null) { userProfileInfo.SiteCode = fuInfo.SiteCode; userProfileInfo.SiteTitle = fuInfo.SiteTitle; userProfileInfo.SiteLogo = string.IsNullOrWhiteSpace(fuInfo.SiteLogo) ? "" : WebCommon.GetSiteAppName() + fuInfo.SiteLogo; userProfileInfo.CultureName = fuInfo.CultureName; } }); IList <SiteMenusInfo> maList = new List <SiteMenusInfo>(); tasks[2] = Task.Factory.StartNew(() => { maList = menuBll.GetMenusAccess(Membership.ApplicationName, accessIds.ToArray(), User.IsInRole("Administrators")); }); Task.WaitAll(tasks); var Profile = new CustomProfileCommon(); Profile.UserMenus = JsonConvert.SerializeObject(maList); Profile.UserInfo = JsonConvert.SerializeObject(userProfileInfo); Profile.Save(); } catch { } }
public static IList <SiteMenusInfo> GetList() { var appName = Membership.ApplicationName; var bll = new SiteMenus(); if (!enableCaching) { return(bll.GetMenus(appName)); } string key = "Menus_All_" + appName + ""; IList <SiteMenusInfo> data = (List <SiteMenusInfo>)HttpRuntime.Cache[key]; if (data == null || data.Count == 0) { data = bll.GetMenus(appName); if (data != null && data.Count > 0) { HttpRuntime.Cache.Add(key, data, null, DateTime.Now.AddHours(menusTimeout), Cache.NoSlidingExpiration, CacheItemPriority.High, null); } } return(data); }
public ResResultModel SaveMenus(MenusModel model) { try { if (!HttpContext.Current.User.IsInRole("Administrators")) { throw new ArgumentException(MC.Role_InvalidError); } if (model == null) { return(ResResult.Response(false, MC.Request_Params_InvalidError)); } if (string.IsNullOrWhiteSpace(model.Title)) { return(ResResult.Response(false, MC.Request_Params_InvalidError)); } var Id = Guid.Empty; var parentId = Guid.Empty; if (model.Id != null && !string.IsNullOrWhiteSpace(model.Id.ToString())) { Guid.TryParse(model.Id.ToString(), out Id); } if (model.ParentId != null && !string.IsNullOrWhiteSpace(model.ParentId.ToString())) { Guid.TryParse(model.ParentId.ToString(), out parentId); } var appBll = new Applications(); var appId = appBll.GetAspnetAppId(Membership.ApplicationName); var bll = new SiteMenus(); int effect = 0; var modelInfo = new SiteMenusInfo(Guid.Parse(appId.ToString()), Id, parentId, model.IdStep, model.Title, model.Url, model.Descr, model.Sort, DateTime.Now); if (Id.Equals(Guid.Empty)) { //MenusDataProxy.ValidateAccess((int)EnumData.EnumOperationAccess.新增, true); modelInfo.Id = Guid.NewGuid(); modelInfo.IdStep = (modelInfo.Id + "," + modelInfo.IdStep).Trim(','); effect = bll.InsertByOutput(modelInfo); } else { //MenusDataProxy.ValidateAccess((int)EnumData.EnumOperationAccess.编辑, true); var oldInfo = bll.GetModel(Id); effect = bll.Update(modelInfo); } if (effect < 1) { return(ResResult.Response(false, "操作失败,数据库操作异常")); } return(ResResult.Response(true, "操作成功", modelInfo.Id)); } catch (Exception ex) { return(ResResult.Response(false, "操作异常:" + ex.Message + "")); } }
//private void SaveBarcodeTemplate(HttpContext context) //{ // try // { // var isInsert = false; // Guid Id = Guid.Empty; // if (!string.IsNullOrWhiteSpace(context.Request.Form["Id"])) Guid.TryParse(context.Request.Form["Id"], out Id); // if (Id.Equals(Guid.Empty)) // { // Id = Guid.NewGuid(); // isInsert = true; // } // var sTypeName = context.Request.Form["TypeName"].Trim(); // var userId = WebCommon.GetUserId(); // BarcodeTemplateInfo modelInfo = null; // var sTitle = context.Request.Form["Title"].Trim(); // var sJContent = HttpUtility.UrlDecode(context.Request.Form["JContent"]).Trim(); // var isDefault = bool.Parse(context.Request.Form["IsDefault"]); // if (string.IsNullOrWhiteSpace(sTitle) && string.IsNullOrWhiteSpace(sJContent) && string.IsNullOrWhiteSpace(sTypeName)) // { // throw new ArgumentException(MC.M_RuleInvalidError); // } // if (sTypeName == "Barcode") // { // var sBarcode = context.Request.Form["Barcode"].Trim(); // var sBarcodeFormat = context.Request.Form["BarcodeFormat"].Trim(); // var width = int.Parse(context.Request.Form["Width"]); // var height = int.Parse(context.Request.Form["Height"]); // var margin = int.Parse(context.Request.Form["Margin"]); // var barcodeInfo = new BarcodeInfo(sBarcode, sBarcodeFormat, width, height, margin, ""); // barcodeInfo.ImageUrl = FilesHelper.GetRndUrl("Barcodes", // barcodeInfo.ImageUrl = ZxingHelper.CreateBarcode(barcodeInfo, Id.ToString(), true); // modelInfo = new BarcodeTemplateInfo(Id, userId, sTitle, JsonConvert.SerializeObject(barcodeInfo), isDefault, sTypeName, DateTime.Now); // } // else // { // modelInfo = new BarcodeTemplateInfo(Id, userId, sTitle, sJContent, isDefault, sTypeName, DateTime.Now); // } // var bll = new BarcodeTemplate(); // int effect = -1; // if (isInsert) // { // effect = bll.InsertByOutput(modelInfo); // } // else // { // effect = bll.Update(modelInfo); // } // if (effect < 1) context.Response.Write(ResResult.ResJsonString(false, MC.M_Save_Error, "")); // context.Response.Write(ResResult.ResJsonString(true, "", "")); // } // catch (Exception ex) // { // context.Response.Write(ResResult.ResJsonString(false, ex.Message, "")); // } //} #endregion #region 系统管理 private void SaveMenuAccess(HttpContext context) { if (!(HttpContext.Current.User.IsInRole("Administrators") || HttpContext.Current.User.IsInRole("System"))) { throw new ArgumentException(MC.Role_InvalidError); } var sRoleName = context.Request.Form["RoleName"]; var sUserName = context.Request.Form["UserName"]; var sMenuItemJson = context.Request.Form["MenuItemJson"]; if (string.IsNullOrWhiteSpace(sMenuItemJson)) { throw new ArgumentException(MC.Request_Params_InvalidError); } sMenuItemJson = HttpUtility.UrlDecode(sMenuItemJson); if (string.IsNullOrWhiteSpace(sRoleName) && string.IsNullOrWhiteSpace(sUserName)) { throw new ArgumentException(MC.Request_Params_InvalidError); } List <SiteMenusAccessItemInfo> list = JsonConvert.DeserializeObject <List <SiteMenusAccessItemInfo> >(sMenuItemJson); var accessId = Guid.Empty; var isRole = !string.IsNullOrWhiteSpace(sRoleName); var accessType = isRole ? "Roles" : "Users"; if (isRole) { if (sRoleName.ToLower() == "administrators") { throw new ArgumentException(MC.GetString(MC.Params_SaveRoleAccessError, sRoleName)); } var roleBll = new SiteRoles(); accessId = roleBll.GetAspnetModel(Membership.ApplicationName, sRoleName).Id; } else { if (Roles.GetRolesForUser(sUserName).Contains("administrators")) { throw new ArgumentException(MC.GetString(MC.Params_SaveUserAccessError, sUserName)); } accessId = Guid.Parse(Membership.GetUser(sUserName).ProviderUserKey.ToString()); } var menuBll = new SiteMenus(); var maBll = new SiteMenusAccess(); List <SiteMenusAccessItemInfo> maitems = null; var appId = new Applications().GetAspnetAppId(Membership.ApplicationName); var menusAccessInfo = maBll.GetModel(appId, accessId); if (menusAccessInfo != null) { maitems = JsonConvert.DeserializeObject <List <SiteMenusAccessItemInfo> >(menusAccessInfo.OperationAccess); } else { maitems = new List <SiteMenusAccessItemInfo>(); } foreach (var item in list) { var menuId = Guid.Parse(item.MenuId.ToString()); var itemIndex = maitems.FindIndex(m => m.MenuId.Equals(menuId)); if (itemIndex > -1) { maitems[itemIndex] = item; } else { maitems.Add(item); } } if (menusAccessInfo != null) { menusAccessInfo.OperationAccess = JsonConvert.SerializeObject(maitems); maBll.Update(menusAccessInfo); } else { menusAccessInfo = new SiteMenusAccessInfo(appId, accessId, JsonConvert.SerializeObject(maitems), accessType); maBll.Insert(menusAccessInfo); } context.Response.Write(ResResult.ResJsonString(true, "", "")); }