public SCUpdateObjectAclExecutor(SCOperationType opType, SCAclContainer container) : base(opType) { container.NullCheck("container"); this._Container = container; }
/// <summary> /// 更新一个容器下的Acl信息 /// </summary> /// <param name="containerID"></param> /// <param name="aclItems"></param> public void Update(SCAclContainer container) { container.NullCheck("container"); container.FillMembersProperties(); ORMappingItemCollection mappings = this.GetMappingInfo(); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("ContainerID", container.ContainerID); string sql = this.GetUpdateSql(container.ContainerID, container.Members); using (TransactionScope scope = TransactionScopeFactory.Create()) { DateTime dt = (DateTime)DbHelper.RunSqlReturnScalar( sql, this.GetConnectionName()); SCActionContext.Current.TimePoint.IsMinValue(() => SCActionContext.Current.TimePoint = dt); //foreach (SCAclItem aclItem in container.Members) //{ // SCSnapshotBasicAdapter.Instance.UpdateCurrentSnapshot(mappings.TableName, // mappings.TableName + "_Current", // ORMapping.GetWhereSqlClauseBuilderByPrimaryKey(aclItem, mappings)); //} scope.Complete(); } }
/// <summary> /// 更新一个容器下的Acl信息 /// </summary> /// <param name="containerID"></param> /// <param name="aclItems"></param> public void Update(SCAclContainer container) { container.NullCheck("container"); container.FillMembersProperties(); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("ContainerID", container.ContainerID); string sql = this.GetUpdateSql(container.ContainerID, container.Members); using (TransactionScope scope = TransactionScopeFactory.Create()) { DateTime dt = (DateTime)DbHelper.RunSqlReturnScalar(sql, this.GetConnectionName()); SCActionContext.Current.TimePoint.IsMinValue(() => SCActionContext.Current.TimePoint = dt); scope.Complete(); } }