Example #1
0
        public void UpdateScopeCondition(AUAdminScope scope, SCCondition condition)
        {
            AdminUnit unit = scope.GetOwnerUnit();

            CheckUnitPermission(AUOperationType.AddAdminUnit, "EditAdminScope", unit);

            if (condition.OwnerID != scope.ID)
            {
                throw new AUObjectValidationException("条件的OwnerID必须是Scope的ID");
            }

            AUUpdateConditionsExecutor executor = new AUUpdateConditionsExecutor(AUOperationType.UpdateScopeCondition, scope, condition)
            {
            };

            ExecuteWithActions(AUOperationType.UpdateScopeCondition, () => SCActionContext.Current.DoActions(() => executor.Execute()));
        }
Example #2
0
        public static ClientConditionItem ToClientObject(this SCCondition pcCondition)
        {
            pcCondition.NullCheck("pcCondition");

            ClientConditionItem result = new ClientConditionItem()
            {
                Condition        = pcCondition.Condition,
                Description      = pcCondition.Description,
                OwnerID          = pcCondition.OwnerID,
                SortID           = pcCondition.SortID,
                Type             = pcCondition.Type,
                Status           = (ClientSchemaObjectStatus)pcCondition.Status,
                VersionEndTime   = pcCondition.VersionEndTime,
                VersionStartTime = pcCondition.VersionStartTime
            };

            return(result);
        }
        private string GetUpdateSql(string ownerID, string type, SCConditionCollection conditions)
        {
            if (type.IsNullOrEmpty())
            {
                type = "Default";
            }

            conditions.ForEach(c => { c.OwnerID = ownerID; c.Type = type; });

            return(VersionStrategyUpdateSqlHelper.ConstructUpdateSql(null, (strB, context) =>
            {
                ConnectiveSqlClauseCollection connectiveBuilder = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder();

                WhereSqlClauseBuilder keyBuilder = new WhereSqlClauseBuilder();

                keyBuilder.AppendItem("OwnerID", ownerID);
                keyBuilder.AppendItem("type", type);

                connectiveBuilder.Add(keyBuilder);

                strB.AppendFormat("UPDATE {0} SET VersionEndTime = {1} WHERE {2}",
                                  this.GetMappingInfo().TableName, "@currentTime", connectiveBuilder.ToSqlString(TSqlBuilder.Instance));

                for (int i = 0; i < conditions.Count; i++)
                {
                    SCCondition condition = conditions[i];

                    condition.SortID = i;
                    strB.Append(TSqlBuilder.Instance.DBStatementSeperator);

                    condition.VersionEndTime = ConnectionDefine.MaxVersionEndTime;
                    condition.Type = type;
                    InsertSqlClauseBuilder insertBuilder = ORMapping.GetInsertSqlClauseBuilder(condition, this.GetMappingInfo(), "VersionStartTime");

                    insertBuilder.AppendItem("VersionStartTime", "@currentTime", "=", true);

                    strB.AppendFormat("INSERT INTO {0}{1}", this.GetMappingInfo().TableName, insertBuilder.ToSqlString(TSqlBuilder.Instance));
                }
            }));
        }
Example #4
0
		public void UpdateScopeCondition(AUAdminScope scope, SCCondition condition)
		{
			AdminUnit unit = scope.GetOwnerUnit();
			CheckUnitPermission(AUOperationType.AddAdminUnit, "EditAdminScope", unit);

			if (condition.OwnerID != scope.ID)
				throw new AUObjectValidationException("条件的OwnerID必须是Scope的ID");

			AUUpdateConditionsExecutor executor = new AUUpdateConditionsExecutor(AUOperationType.UpdateScopeCondition, scope, condition)
			{
			};

			ExecuteWithActions(AUOperationType.UpdateScopeCondition, () => SCActionContext.Current.DoActions(() => executor.Execute()));
		}
 public AUUpdateConditionsExecutor(AUOperationType opType, AUAdminScope scope, SCCondition condition)
     : base(opType)
 {
     (this.scope = scope).NullCheck("scope");
     (this.condition = condition).NullCheck("condition");
 }
		public AUUpdateConditionsExecutor(AUOperationType opType, AUAdminScope scope, SCCondition condition)
			: base(opType)
		{
			(this.scope = scope).NullCheck("scope");
			(this.condition = condition).NullCheck("condition");
		}