public bool ClaimResources( BankProcess bankProcess) { lock (_lockObject) { foreach (var systemResource in _systemResources) { var resourceMaxAmount = bankProcess.GetResourceMaxAmount(systemResource.Name); if (resourceMaxAmount > systemResource.CurrentAmount) { _systemLog.Info(string.Format("Not enought resources for {0}", bankProcess.ProcessName)); _systemLog.Info(GetSystemSummary()); return(false); } } foreach (var systemResource in _systemResources) { var resourceMaxAmount = bankProcess.GetResourceMaxAmount(systemResource.Name); systemResource.ClaimResourceCount(resourceMaxAmount); } _systemLog.Info(string.Format("Claimed Resources for {0}", bankProcess.ProcessName)); _systemLog.Info(GetSystemSummary()); return(true); } }
public void RestoreResources( BankProcess bankProcess) { lock (_lockObject) { foreach (var systemResource in _systemResources) { var resourceMaxAmount = bankProcess.GetResourceMaxAmount(systemResource.Name); systemResource.RestoreResourceCount(resourceMaxAmount); } _systemLog.Info(string.Format("Restored Resources for {0}", bankProcess.ProcessName)); _systemLog.Info(GetSystemSummary()); } }