示例#1
0
        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);
                    }
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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("添加条件表达式结束。");
            }
        }
示例#4
0
        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 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 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);
					}
				}
			}
		}
		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);
		}