public ResultCode UpdateLatest <T>(DatabaseSessionMetadata metadata, IStoredData <T> oldMiiData, SourceFlag flag, IStoredData <T> newMiiData) where T : unmanaged { if (!flag.HasFlag(SourceFlag.Database)) { return(ResultCode.NotFound); } if (metadata.IsInterfaceVersionSupported(1) && !oldMiiData.IsValid()) { return(oldMiiData.InvalidData); } ResultCode result = _miiDatabase.FindIndex(metadata, out int index, oldMiiData.CreateId); if (result == ResultCode.Success) { _miiDatabase.Get(metadata, index, out StoreData storeData); if (storeData.Type != oldMiiData.Type) { return(ResultCode.NotFound); } newMiiData.SetFromStoreData(storeData); if (oldMiiData == newMiiData) { return(ResultCode.NotUpdated); } } return(result); }
public RecyclingManager( IGarbageFactory garbageFactory, IGarbageProcessor garbageProcessor, IRecyclingManagementRequirement recyclingManagementRequirement, IStoredData storedData) { this.garbageFactory = garbageFactory; this.garbageProcessor = garbageProcessor; this.recyclingManagementRequirement = recyclingManagementRequirement; this.storedData = storedData; }
public bool AreRequirementsSatisfy(IStoredData storedData, IWaste garbage) { if (garbage.GetType() == this.targetGarbageType) { var isCapitalEnought = this.dataRequirements.CapitalBalance <= storedData.CapitalBalance; var isEnergyEnought = this.dataRequirements.EnergyBalance <= storedData.EnergyBalance; if (!isCapitalEnought || !isEnergyEnought) { return(false); } } return(true); }
public void ChangeManagementRequirement(IStoredData dataRequirements, Type targetGarbageType) { this.DataRequirements = dataRequirements; this.TargetGarbageType = targetGarbageType; }
public RecyclingManagementRequirement(IStoredData dataRequirements, Type targetGarbageType) { this.DataRequirements = dataRequirements; this.TargetGarbageType = targetGarbageType; }