public Entity FromTriggerVolume(ScenarioTag.TriggerVolume tv) { var entity = TriggerFactory.FromScenarioTriggerVolume(this.Map.Scenario, tv); tv.GameObject = entity; return(entity); }
public async Task <IActionResult> Update(string jobId, [FromBody] Job value) { if (ModelState.IsValid) { if (string.IsNullOrWhiteSpace(jobId)) { return(new JsonResult(new ApiResult(ApiResult.Error, "Id is empty/null"))); } if (!await _store.CheckJobExists(jobId)) { return(new JsonResult(new ApiResult(ApiResult.Error, $"Job {jobId} not exists"))); } var qzJob = value.ToQuartzJob(); var trigger = TriggerFactory.Create(value.Trigger, jobId, value.Properties); // TODO: need test if need delete qzJob firstly? value.Id = jobId; await _store.UpdateJob(value); await _scheduler.UnscheduleJob(new TriggerKey(jobId)); await _scheduler.ScheduleJob(qzJob, trigger); return(new JsonResult(new ApiResult(ApiResult.SuccessCode, "success"))); } return(new JsonResult(new ApiResult(ApiResult.ModelNotValid, GetModelStateErrorMsg()))); }
public async Task <IActionResult> Create([FromBody] Job value) { if (ModelState.IsValid) { var apiResult = ValidateProperties(value); if (apiResult != null) { return(apiResult); } if (await _store.IsJobExists(value.Name, value.Group)) { return(new JsonResult(new ApiResult(ApiResult.Error, $"Job [{value.Name}, {value.Group}] exists"))); } await _store.AddJob(value); if (string.IsNullOrWhiteSpace(value.Id)) { return(new JsonResult(new ApiResult(ApiResult.DbError, "Save job failed"))); } var qzJob = value.ToQuartzJob(); var trigger = TriggerFactory.Create(value.Trigger, value.Id, value.Properties); await _scheduler.ScheduleJob(qzJob, trigger); _logger.LogInformation( $"Create job {JsonConvert.SerializeObject(value)} success"); return(new JsonResult(new ApiResult(ApiResult.SuccessCode, null, value.Id))); } return(new JsonResult(new ApiResult(ApiResult.ModelNotValid, GetModelStateErrorMsg()))); }
private void Iterate() { var factory = new TriggerFactory(this.Trigger); _next = factory.Forward(_last ?? DateTime.Now); this.Status = JobStatus.Ready; }
public AreaService( IHttpContextAccessor accessor, ApplicationDbContext context, TriggerFactory triggerFactory) { _context = context; _triggerFactory = triggerFactory; _accessor = accessor; }
/// <summary> /// Initializes a new instance of the <see cref="ObjectManager"/> class. /// </summary> /// <param name="client">The client to use for executing API requests.</param> internal ObjectManager(PrtgClient client) { Sensor = new SensorFactory(client); Device = new DeviceFactory(client); Group = new GroupFactory(client); Probe = new ProbeFactory(client); Trigger = new TriggerFactory(client); Property = new PropertyFactory(client); }
public static TRes Handle <TEvent, TRes>(TEvent input, ILambdaContext context, Func <TRes> handlerFn) { if (Utils.CurrentConfig == null || Utils.CurrentConfig.IsEpsagonDisabled) { return(handlerFn()); } var clientCodeExecuted = false; var returnValue = default(TRes); Exception exception = null; try { Utils.DebugLogIfEnabled("entered epsagon lambda handler"); // handle trigger event using (var scope = GlobalTracer.Instance.BuildSpan("").StartActive(finishSpanOnDispose: true)) { var trigger = TriggerFactory.CreateInstance(input.GetType(), input); trigger.Handle(context, scope); } // handle invocation event using (var scope = GlobalTracer.Instance.BuildSpan((typeof(TEvent).Name)).StartActive(finishSpanOnDispose: true)) using (var handler = new LambdaTriggerHandler <TEvent, TRes>(input, context, scope)) { handler.HandleBefore(); try { clientCodeExecuted = true; returnValue = handlerFn(); } catch (Exception e) { scope.Span.AddException(e); exception = e; } handler.HandleAfter(returnValue); } var trace = EpsagonConverter.CreateTrace(JaegerTracer.GetSpans()); EpsagonTrace.SendTrace(trace); JaegerTracer.Clear(); Utils.DebugLogIfEnabled("finishing epsagon lambda handler"); } catch (Exception ex) { HandleInstrumentationError(ex); } finally { if (exception != null) { throw exception; } if (!clientCodeExecuted) { returnValue = handlerFn(); } } return(returnValue); }
public void Resolve_FromInternalServices_FindsType() { var serviceProvider = new ServiceCollection() .AddTransient(typeof(ITriggerInstanceFactory <IBeforeSaveTrigger <object> >), _ => new TriggerInstanceFactory <SampleTrigger>(null)) .BuildServiceProvider(); var applicationServiceProvider = new ServiceCollection().BuildServiceProvider(); var subject = new TriggerFactory(serviceProvider); var triggers = subject.Resolve(applicationServiceProvider, typeof(IBeforeSaveTrigger <object>)); Assert.Single(triggers); }
public void Resolve_FromExternalServiceProvider_FindsType() { var serviceProvider = new ServiceCollection().BuildServiceProvider(); var applicationServiceProvider = new ServiceCollection() .AddTransient <IBeforeSaveTrigger <object>, SampleTrigger>() .BuildServiceProvider(); var subject = new TriggerFactory(serviceProvider); var triggers = subject.Resolve(applicationServiceProvider, typeof(IBeforeSaveTrigger <object>)); Assert.Single(triggers); }
public void Resolve_FromInternalServices_GetsConstructedUsingExternalServiceProvider() { var serviceProvider = new ServiceCollection() .AddLogging() .AddTransient(typeof(ITriggerInstanceFactory <IBeforeSaveTrigger <object> >), _ => new TriggerInstanceFactory <SampleTrigger2>(null)) .BuildServiceProvider(); var subject = new TriggerFactory(serviceProvider); var applicationServiceProvider = new ServiceCollection() .AddSingleton(subject) .BuildServiceProvider(); var trigger = subject.Resolve(applicationServiceProvider, typeof(IBeforeSaveTrigger <object>)).FirstOrDefault() as SampleTrigger2; Assert.NotNull(trigger); Assert.Equal(subject, trigger.TriggerFactory); }
public UpsertProfileExtended(Profile profile, IEnumerable <DeviceFullInfo> playbacks, IEnumerable <DeviceFullInfo> recordings, SettingsForm settingsForm, bool editing = false) { _oldProfile = editing ? profile : null; _profile = editing ? profile.Copy() : profile; _settingsForm = settingsForm; _editing = editing; _triggerFactory = new TriggerFactory(); InitializeComponent(); HideTriggerComponents(); hotKeyControl.Location = textInput.Location; LocalizeForm(); using var iconBitmap = new Bitmap(Resources.profile_menu_icon); Icon = Icon.FromHandle(iconBitmap.GetHicon()); InitializeFromProfile(); try { //Only let user on Windows 10 change the switch also default device //Since the feature isn't available on Windows 7 if (Environment.OSVersion.Version.Major < 10) { profile.AlsoSwitchDefaultDevice = true; switchDefaultCheckBox.Hide(); } } catch (Exception) { // ignored } descriptionLabel.Hide(); triggerLabel.Hide(); InitRecordingPlaybackComboBoxes(playbacks, recordings); switchDefaultCheckBox.DataBindings.Add(nameof(CheckBox.Checked), _profile, nameof(Profile.AlsoSwitchDefaultDevice), false, DataSourceUpdateMode.OnPropertyChanged); nameTextBox.DataBindings.Add(nameof(TextBox.Text), _profile, nameof(Profile.Name), false, DataSourceUpdateMode.OnPropertyChanged); notifyCheckbox.DataBindings.Add(nameof(CheckBox.Checked), _profile, nameof(Profile.NotifyOnActivation), false, DataSourceUpdateMode.OnPropertyChanged); restoreDevicesCheckBox.DataBindings.Add(nameof(CheckBox.Checked), _profile, nameof(Profile.RestoreDevices), false, DataSourceUpdateMode.OnPropertyChanged); }
/*============================================================================*/ /* Constructor */ /*============================================================================*/ /// <summary> /// Creates a command trigger map /// </summary> /// <param name="keyFactory">Factory function to creates keys</param> /// <param name="triggerFactory">Factory function to create triggers</param> public CommandTriggerMap(KeyFactory keyFactory, TriggerFactory triggerFactory) { _keyFactory = keyFactory; _triggerFactory = triggerFactory; }
/*============================================================================*/ /* Constructor */ /*============================================================================*/ /// <summary> /// Creates a command trigger map /// </summary> /// <param name="keyFactory">Factory function to creates keys</param> /// <param name="triggerFactory">Factory function to create triggers</param> public CommandTriggerMap (KeyFactory keyFactory, TriggerFactory triggerFactory) { _keyFactory = keyFactory; _triggerFactory = triggerFactory; }
public SampleTrigger2(TriggerFactory triggerFactory) { TriggerFactory = triggerFactory; }
public static async Task Handle <TEvent>(TEvent input, ILambdaContext context, Func <Task> handlerFn) { if (Utils.CurrentConfig == null || Utils.CurrentConfig.IsEpsagonDisabled) { await handlerFn(); return; } var clientCodeExecuted = false; Exception exception = null; try { if (Utils.CurrentConfig.IsEpsagonDisabled) { await handlerFn(); } Utils.DebugLogIfEnabled("entered epsagon lambda handler"); Utils.DebugLogIfEnabled("handling trigger event"); using (var scope = GlobalTracer.Instance.BuildSpan("").StartActive(finishSpanOnDispose: true)) { var trigger = TriggerFactory.CreateInstance(input.GetType(), input); trigger.Handle(context, scope); } // handle invocation event Utils.DebugLogIfEnabled("handling invocation event"); using (var scope = GlobalTracer.Instance.BuildSpan((typeof(TEvent).Name)).StartActive(finishSpanOnDispose: true)) using (var handler = new LambdaTriggerHandler <TEvent, string>(input, context, scope)) { Utils.DebugLogIfEnabled("handling before execution"); handler.HandleBefore(); Utils.DebugLogIfEnabled("calling client handler"); try { clientCodeExecuted = true; await handlerFn(); } catch (Exception e) { scope.Span.AddException(e); exception = e; } Utils.DebugLogIfEnabled("handling after execution"); handler.HandleAfter(""); } Utils.DebugLogIfEnabled("creating trace"); var trace = EpsagonConverter.CreateTrace(JaegerTracer.GetSpans()); EpsagonTrace.SendTrace(trace); JaegerTracer.Clear(); Utils.DebugLogIfEnabled("finishing epsagon lambda handler"); } catch (Exception ex) { HandleInstrumentationError(ex); } finally { if (exception != null) { throw exception; } if (!clientCodeExecuted) { await handlerFn(); } } }
public BackgroundJobService(ApplicationDbContext context, TriggerFactory triggerFactory) { _context = context; _triggerFactory = triggerFactory; }