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 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)); } })); }
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"); }