private void RunScript(string script) { try { ExecutionStart?.Invoke(this, EventArgs.Empty); lock (_script) { _script.DoString(script, codeFriendlyName: "script"); } ExecutionComplete?.Invoke(this, ExitCondition.ProgramEnd); } catch (InterpreterException e) { LuaError?.Invoke(this, e); ExecutionComplete?.Invoke(this, ExitCondition.ScriptError); } catch (ThreadAbortException) { // Ignore } catch (Exception e) { CsError?.Invoke(this, e); ExecutionComplete?.Invoke(this, ExitCondition.CsError); } }
private DateTimeOffset CalculatePhaseTimes(TimeUnit timeUnit, DateTimeOffset?startTime = null, bool doForward = true) { int length = timeUnit.Length; if (!doForward) { length *= -1; } switch (timeUnit.Unit) { case TimeUnitsType.Day: return(startTime?.AddDays(length) ?? ExecutionStart.AddDays(length)); case TimeUnitsType.Week: return(startTime?.AddDays(length * 7) ?? ExecutionStart.AddDays(length * 7)); case TimeUnitsType.Month: return(startTime?.AddMonths(length) ?? ExecutionStart.AddMonths(length)); } return(DateTime.Now); }
/// <summary> /// Fires the execution start event. /// </summary> private void FireExecutionStartEvent() { ExecutionStart?.Invoke(this, new ExecutionStartEventArgs()); }
public void CheckActiveConfiguration(ValidationResults results) { if (CapacityCycleConfiguration == null) { var errorMessage = string.Format(Translations.CapacityCycleNoActiveConfiguration, ExecutionStart.ToString("d")); var validationResult = new ValidationResult(errorMessage, this, "ExecutionStart", null, EntityValidator); results.AddResult(validationResult); SetValidationError(validationResult); } ClearValidationErrors(); }
public void CheckCapacityCycles(ValidationResults results) { if (ContractModel?.AreOverlappingsAllowed ?? false) { return; } if (OtherCapacityCyles == null || !OtherCapacityCyles.Any()) { return; } bool hasOverlap = false; foreach (var capacityCycle in OtherCapacityCyles) { if (Equals(capacityCycle)) { continue; } hasOverlap = (capacityCycle.ExecutionStart <= ExecutionStart && capacityCycle.ExecutionEnd >= ExecutionStart) || (capacityCycle.ExecutionStart <= ExecutionEnd && capacityCycle.ExecutionEnd >= ExecutionEnd); if (hasOverlap) { break; } } if (hasOverlap) { var errorMessage = string.Format(Translations.CapacityCycleExecutionOverlap, ExecutionStart.ToString("d")); var validationResult = new ValidationResult(errorMessage, this, "ExecutionStart", null, EntityValidator); results.AddResult(validationResult); SetValidationError(validationResult); } ClearValidationErrors(); }