public async Task <IActionResult> Edit(int id, [Bind("Id,Name,CronExpression,EnvironmentId,JobDefinitionId")] TriggerViewModel model) { if (id != model.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var env = await _context.ExecutionEnvironments.FindAsync(model.EnvironmentId); var job = await _context.Jobs.FindAsync(model.JobDefinitionId); var entity = new TriggerDefinition { Id = model.Id, Name = model.Name, Environment = env, JobDefinition = job, CronExpression = model.CronExpression }; await _scheduler.DeregisterTrigger(entity); _context.Update(entity); await _context.SaveChangesAsync(); await _scheduler.RegisterTrigger(entity); } catch (DbUpdateConcurrencyException) { if (!TriggerDefinitionExists(model.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(model)); }
public void Load(BinaryReaderBE reader) { ItemType = reader.ReadInt16(); PowerupType = reader.ReadInt16(); WeaponClass = reader.ReadInt16(); Flags = reader.ReadInt16(); FiringLightIntensity = reader.ReadFixed(); FiringIntensityDecayTicks = reader.ReadInt16(); IdleHeight = reader.ReadFixed(); BobAmplitude = reader.ReadFixed(); KickHeight = reader.ReadFixed(); ReloadHeight = reader.ReadFixed(); IdleWidth = reader.ReadFixed(); HorizontalAmplitude = reader.ReadFixed(); Collection = reader.ReadInt16(); IdleShape = reader.ReadInt16(); FiringShape = reader.ReadInt16(); ReloadingShape = reader.ReadInt16(); Unused = reader.ReadInt16(); ChargingShape = reader.ReadInt16(); ChargedShape = reader.ReadInt16(); ReadyTicks = reader.ReadInt16(); AwaitReloadTicks = reader.ReadInt16(); LoadingTicks = reader.ReadInt16(); FinishLoadingTicks = reader.ReadInt16(); PowerupTicks = reader.ReadInt16(); for (int i = 0; i < 2; ++i) { Triggers[i] = new TriggerDefinition(); Triggers[i].Load(reader); } }
public override void AddTrigger(TriggerDefinition trg) { if (string.IsNullOrEmpty(trg.Name)) { return; } if (TriggerExists(trg.Name)) { return; } //sequence trigger //string triggerBody = String.Format("as begin if (NEW.{0} is NULL) then NEW.{1} = GEN_ID({2}, 1); end", quotedColumn, quotedColumn, quoter.QuoteSequenceName(sequenceName)); string triggerSql = String.Format(@"CREATE TRIGGER {0} FOR {1} ACTIVE {2} {3} POSITION 0 {4} ", trg.Name, trg.Table, trg.OnAfter ? "after" : "before", trg.Type.ToString().ToLower(), trg.TriggerBody ); ExecuteNonQuery(triggerSql); }
public override IEnumerable <TransitionDefinition> ParseTransitions(XElement schemeMedium, IEnumerable <ActorDefinition> actorDefinitions, IEnumerable <CommandDefinition> commandDefinitions, IEnumerable <ActionDefinition> actionDefinitions, IEnumerable <ActivityDefinition> activityDefinitions, IEnumerable <TimerDefinition> timerDefinitions) { if (schemeMedium == null) { throw new ArgumentNullException("schemeMedium"); } if (commandDefinitions == null) { throw new ArgumentNullException("commandDefinitions"); } if (actionDefinitions == null) { throw new ArgumentNullException("actionDefinitions"); } if (activityDefinitions == null) { throw new ArgumentNullException("activityDefinitions"); } var transitionElements = schemeMedium.SingleOrDefault("Transitions"); if (transitionElements == null) { throw new ArgumentNullException(""); } var commandDefinitionsList = commandDefinitions.ToList(); var actionDefinitionsList = actionDefinitions.ToList(); var activityDefinitionsList = activityDefinitions.ToList(); var actorDefinitionsList = actorDefinitions.ToList(); var timerDefinitionsList = timerDefinitions.ToList(); var transitions = new List <TransitionDefinition>(); foreach (var transitionElement in transitionElements.Elements().ToList()) { var fromActivity = activityDefinitionsList.Single(ad => ad.Name == GetFrom(transitionElement)); var toActivity = activityDefinitionsList.Single(ad => ad.Name == GetTo(transitionElement)); TriggerDefinition trigger = null; var triggersElement = transitionElement.Element("Triggers"); if (triggersElement != null) { var triggerElement = triggersElement.Element("Trigger"); if (triggerElement != null) { trigger = TriggerDefinition.Create(GetType(triggerElement)); if (trigger.Type == TriggerType.Command) { (trigger as CommandTriggerDefinition).Command = commandDefinitionsList.Single(cd => cd.Name == GetNameRef(triggerElement)); } else if (trigger.Type == TriggerType.Timer) { (trigger as TimerTriggerDefinition).Timer = timerDefinitionsList.Single(cd => cd.Name == GetNameRef(triggerElement)); } } } ConditionDefinition condition = null; var conditionsElement = transitionElement.Element("Conditions"); if (conditionsElement != null) { var conditionElement = conditionsElement.Element("Condition"); if (conditionElement != null) { condition = !string.IsNullOrEmpty(GetNameRefNullable(conditionElement)) ? ConditionDefinition.Create(GetType(conditionElement), actionDefinitionsList.Single(ad => ad.Name == GetNameRef(conditionElement)), GetResultOnPreExecution(conditionElement)) : ConditionDefinition.Create(GetType(conditionElement), GetResultOnPreExecution(conditionElement)); } } var transition = TransitionDefinition.Create(GetName(transitionElement), GetClassifier(transitionElement), fromActivity, toActivity, trigger, condition); var restrictionsElement = transitionElement.Element("Restrictions"); if (restrictionsElement != null) { foreach (var element in restrictionsElement.Elements("Restriction")) { transition.AddRestriction(RestrictionDefinition.Create(GetType(element), actorDefinitionsList.Single(ad => ad.Name == GetNameRef(element)))); } } var onErrorsElement = transitionElement.Element("OnErrors"); if (onErrorsElement != null) { foreach (var element in onErrorsElement.Elements("OnError")) { //TODO Only One Type Of OnErrorHandler transition.AddOnError(OnErrorDefinition.CreateSetActivityOnError(GetName(element), GetNameRef(element), GetPriority(element), GetTypeName(element) /*, GetIsExecuteImplementation(element),GetIsRethrow(element)*/)); } } transitions.Add(transition); } return(transitions); }
private static string GetEscapedTriggerName(this TriggerDefinition trigger) { return(trigger.Name.Replace(' ', '_')); }
public static string GetTriggerActionsFunctionName(this TriggerDefinition trigger) { return($"Trig_{trigger.GetEscapedTriggerName()}_Actions"); }
public static string GetInitTrigFunctionName(this TriggerDefinition trigger) { return($"InitTrig_{trigger.GetEscapedTriggerName()}"); }
public static string GetVariableName(this TriggerDefinition trigger) { return($"gg_trg_{trigger.GetEscapedTriggerName()}"); }
public void TriggerInRuleMatch(TriggerDefinition trigger, RuleDefinition rule, List<Link> _links) { List<string> matches = new List<string>(); //Build up list of stirng pattern matches based on trigger access code matches = TriggerCodeConversion(trigger, matches); foreach (string s in matches) { if (rule.Body.StartsWith(s)) { string triggerName = trigger.TableName.ToString() + ", " + trigger.RuleName.ToString() + ", " + trigger.Access.ToString(); Link record = new Link(rule.Name, triggerName); bool exists = CheckLinkExists(_links, record); if (!exists) { _links.Add(record); } } } }
public List<string> TriggerCodeConversion(TriggerDefinition trigger, List<string> matches) { string tableToken = " " + trigger.TableName + ";"; switch (trigger.Access) { case "I": matches.Add("INSERT" + tableToken); break; case "D": matches.Add("DELETE" + tableToken); break; case "R": matches.Add("REPLACE" + tableToken); break; case "W": matches.Add("INSERT" + tableToken); matches.Add("DELETE" + tableToken); matches.Add("REPLACE" + tableToken); break; case "G": matches.Add("GET" + tableToken); matches.Add("FORALL" + tableToken); break; default: matches.Add(" "); Console.WriteLine("Invalid triggerCode"); break; //TriggerCodeConversion(trigger) + " " + trigger.TableName + ";" } return matches; }
public TriggerWrapper(BuildDefinition buildDefinition, TriggerDefinition triggerDefinition) { this.buildDefinition = buildDefinition; this.triggerDefinition = triggerDefinition; }
public Trigger(TriggerDefinition triggerDefinition) : this() { Conditions.AddRange(triggerDefinition.Conditions); Actions.AddRange(triggerDefinition.Actions); }
private TriggerKey GetTriggerKey(TriggerDefinition triggerDefinition) => new TriggerKey(triggerDefinition.Name, triggerDefinition.JobDefinition?.Group.GetNameOrDefault());