internal FBucket RemoveOperations(FBucket bucket, List <FOperation> operationsToRemove) { foreach (var operation in operationsToRemove) { DecreaseBucketSize(operation.RequiredCapability.Id, operation.Operation.Duration); bucket = bucket.RemoveOperation(operation); } return(bucket); }
public (FBucket, List <FOperation>) RemoveNotSatisfiedOperations(FBucket bucket, Agent agent) { List <FOperation> notSatisfiedOperations = new List <FOperation>(); var bucketOperations = bucket.Operations.ToList(); foreach (var operation in bucketOperations) { agent.DebugMessage(msg: $"In RemoveNotSatisfiedOperations check the operation {operation.Key} {operation.Operation.Name} in {bucket.Name} has" + $"| Satisfied: {operation.StartConditions.Satisfied} " + $"| ArticleProvided: {operation.StartConditions.ArticlesProvided} " + $"| PreCondition: {operation.StartConditions.PreCondition} ", CustomLogger.JOB, LogLevel.Warn); if (!operation.StartConditions.Satisfied) { agent.DebugMessage(msg: $"Operation {operation.Key} in {operation.Operation.Name} in {bucket.Name} will be removed because it is not satisfied!", CustomLogger.JOB, LogLevel.Warn); notSatisfiedOperations.Add(operation); bucket = bucket.RemoveOperation(operation); } } return(bucket, notSatisfiedOperations); }