private void ImportRoleConditions(SCObjectSet objectSet, IImportContext context, PC.Executors.ISCObjectOperations executor, Dictionary <object, object> mappings, PC.SCRole[] roles) { if (roles.Length > 0 && objectSet.HasConditions) { foreach (var r in roles) { PC.SCRole role2 = r; if (mappings.ContainsKey(r)) { role2 = (PC.SCRole)mappings[r]; } var roleConditions = (from c in objectSet.Conditions where c.OwnerID == r.ID select c).ToArray(); if (roleConditions.Length > 0) { context.AppendLogFormat("正在替角色{0}添加条件\r\n", role2.ToDescription()); PC.Conditions.SCConditionOwner owner = new PC.Conditions.SCConditionOwner() { OwnerID = role2.ID, Type = "Default" }; foreach (var c in roleConditions) { owner.Conditions.Add(c); } PC.Adapters.SCConditionAdapter.Instance.UpdateConditions(owner); } } } }
public void UpdateRoleConditions(string ownerID, string conditionType, ClientConditionItem[] items) { PC.Conditions.SCConditionOwner owner = PC.Adapters.SCConditionAdapter.Instance.Load(ownerID, conditionType) ?? new PC.Conditions.SCConditionOwner() { OwnerID = ownerID, Type = conditionType }; PC.Conditions.SCConditionCollection conditions = new PC.Conditions.SCConditionCollection(); foreach (ClientConditionItem item in items) { if (item.OwnerID != ownerID) { throw new InvalidOperationException("不一致的OwnerID:" + item.OwnerID); } else if (item.Status == ClientSchemaObjectStatus.Normal) { conditions.Add(new PC.Conditions.SCCondition() { OwnerID = ownerID, Status = SchemaObjectStatus.Normal, Description = item.Description ?? string.Empty, Condition = item.Condition, SortID = item.SortID, Type = item.Type, VersionEndTime = item.VersionEndTime, VersionStartTime = item.VersionStartTime }); } } owner.Conditions.ReplaceItemsWith(conditions, ownerID, conditionType); Facade.UpdateRoleConditions(owner); }
private void ImportConditions(SCObjectSet objectSet, IImportContext context, SchemaObjectBase grp) { if (this.IncludeConditions && objectSet.HasConditions) { PC.Conditions.SCConditionOwner owner = new PC.Conditions.SCConditionOwner() { OwnerID = grp.ID, Type = "Default" }; var conditions = from c in objectSet.Conditions where c.OwnerID == grp.ID && c.Type == "Default" select c; foreach (var c in conditions) { owner.Conditions.Add(c); } context.AppendLog("正在添加条件表达式"); PC.Adapters.SCConditionAdapter.Instance.UpdateConditions(owner); context.AppendLog("添加条件表达式结束。"); } }
private void ImportRoleConditions(SCObjectSet objectSet, IImportContext context, PC.Executors.ISCObjectOperations exec, PC.SCRole roleRef, PC.SCRole roleActual) { var conditons = (from c in objectSet.Conditions where c.OwnerID == roleRef.ID select c).ToArray(); var owner = new PC.Conditions.SCConditionOwner() { OwnerID = roleActual.ID, Type = "Default" }; foreach (var c in conditons) { owner.Conditions.Add(new PC.Conditions.SCCondition() { Description = c.Description, Condition = c.Condition, OwnerID = roleActual.ID, Type = "Default" }); } context.AppendLogFormat("正在替角色 {0} 导入角色条件\r\n", roleActual.DisplayName); PC.Adapters.SCConditionAdapter.Instance.UpdateConditions(owner); }
private void ImportRoleConditions(SCObjectSet objectSet, IImportContext context, PC.Executors.ISCObjectOperations executor, Dictionary<object, object> mappings, PC.SCRole[] roles) { if (roles.Length > 0 && objectSet.HasConditions) { foreach (var r in roles) { PC.SCRole role2 = r; if (mappings.ContainsKey(r)) { role2 = (PC.SCRole)mappings[r]; } var roleConditions = (from c in objectSet.Conditions where c.OwnerID == r.ID select c).ToArray(); if (roleConditions.Length > 0) { context.AppendLogFormat("正在替角色{0}添加条件\r\n", role2.ToDescription()); PC.Conditions.SCConditionOwner owner = new PC.Conditions.SCConditionOwner() { OwnerID = role2.ID, Type = "Default" }; foreach (var c in roleConditions) { owner.Conditions.Add(c); } PC.Adapters.SCConditionAdapter.Instance.UpdateConditions(owner); } } } }