public JsonResult GetBizObjectAclPageData(string schemaCode, string aclID) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); if (!this.ParseParam(schemaCode)) { result.Success = false; result.Message = "EditBizObjectSchema.Msg0"; return Json(result, JsonRequestBehavior.AllowGet); } List <Item> orgScopes = InitOrgScopes(); FunctionNode functionNode = this.UserValidator.GetFunctionNode(schemaCode, false); string schemaName = functionNode != null ? functionNode.DisplayName : string.Empty; if (string.IsNullOrEmpty(aclID))//新增 { result.Extend = new { OrgScopeTypes = orgScopes, BizObjectAcl = new BizObjectAclViewModel() { SchemaCode = schemaCode, OrgScopeType = "0", SchemaName = schemaName, IsView = true, IsAdmin = true, IsCreate = true } }; result.Success = true; } else//编辑 { BizObjectAclViewModel model = new BizObjectAclViewModel(); BizObjectAcl acl = this.Engine.BizObjectManager.GetBizObjectAcl(schemaCode, null, aclID); if (null != acl) { model = new BizObjectAclViewModel() { ObjectID = acl.ObjectID, IsAdmin = acl.Administrator, OrgScope = acl.OrgScope, OrgScopeType = ((int)acl.OrgScopeType).ToString(), UserID = acl.UserID, IsView = acl.ViewData, FolderId = acl.FolderId, IsCreate = acl.CreateBizObject, SchemaCode = acl.SchemaCode, SchemaName = schemaName }; } result.Extend = new { OrgScopeTypes = orgScopes, BizObjectAcl = model }; result.Success = true; } return Json(result, JsonRequestBehavior.AllowGet); })); }
public JsonResult SaveBizObjectAcl(BizObjectAclViewModel model) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); result.Success = true; BizObjectAcl acl = null; List <string> errors = new List <string>();//错误信息数组 if (string.IsNullOrEmpty(model.UserID)) { result.Success = false; result.Message = "BizObjectAcl.NameRequired"; return Json(result, JsonRequestBehavior.AllowGet); } if (string.IsNullOrEmpty(model.ObjectID))//新增 { string[] UserIDarray = model.UserID.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (model.OrgScopeType == ((int)OrgScopeType.Specific).ToString()) { string[] scopes = model.OrgScopeArr; if (scopes == null || scopes.Length == 0 || scopes.All(s => s == "")) { result.Success = false; result.Message = "BizObjectAcl.Msg6"; } else { for (int i = 0; i < UserIDarray.Length; i++) { foreach (string scope in scopes) { acl = new BizObjectAcl(); acl.SchemaCode = model.SchemaCode; acl.UserID = UserIDarray[i]; acl.OrgScope = scope; acl.OrgScopeType = OrgScopeType.Specific; acl.CreateBizObject = model.IsCreate; acl.ViewData = model.IsView; acl.Administrator = model.IsAdmin; if (!this.Engine.BizObjectManager.AddBizObjectAcl(acl)) { //result.Success = false; //result.Message = "BizObjectAcl.AddFailed"; //errors.Add(this.Engine.Organization.GetFullName(scope)); } } } //result.Extend = errors; } } else { for (int i = 0; i < UserIDarray.Length; i++) { acl = new BizObjectAcl(); acl.SchemaCode = model.SchemaCode; acl.UserID = UserIDarray[i]; acl.OrgScopeType = model.OrgScopeType == "1" ? OrgScopeType.Self : OrgScopeType.All; acl.CreateBizObject = model.IsCreate; acl.ViewData = model.IsView; acl.Administrator = model.IsAdmin; if (!this.Engine.BizObjectManager.AddBizObjectAcl(acl)) { //result.Success = false; //result.Message = "BizObjectAcl.AddFailed"; //errors.Add("BizObjectAcl.OrgScopes." + acl.OrgScopeType.ToString()); //result.Extend = errors; } } } } else { acl = this.Engine.BizObjectManager.GetBizObjectAcl(model.SchemaCode, null, model.ObjectID); acl.CreateBizObject = model.IsCreate; acl.ViewData = model.IsView; acl.Administrator = model.IsAdmin; if (!this.Engine.BizObjectManager.UpdateBizObjectAcl(acl)) { result.Success = false; result.Message = "msgGlobalString.UpdateFailed"; } } return Json(result, JsonRequestBehavior.AllowGet); })); }