public EComponentStatus CheckStatus(ISchemaInfo schema) { switch (Status) { case EComponentStatus.DISABLED: case EComponentStatus.WORKING: { return(Status); } default: { //Para la primera vez que se consulta if (!LastExecutions.ContainsKey(schema.Oid)) { UpdateLastExecution(schema); #if DEBUG LastExecutions[schema.Oid] = DateTime.MinValue; #endif } if (DateAndTime.DateDiff(DateInterval.Second, LastExecutions[schema.Oid], DateTime.Now) < Interval) { return(EComponentStatus.UNAVAILABLE); } return(EComponentStatus.READY); } } }
protected void UpdateLastExecution(ISchemaInfo schema) { if (LastExecutions.ContainsKey(schema.Oid)) { LastExecutions[schema.Oid] = DateTime.Now; } else { LastExecutions.Add(schema.Oid, DateTime.Now); } }