public async Task Configurate() { using (UnitOfWork unitOfWork = new UnitOfWork(this.dbContext)) { var htmlorders = unitOfWork.HtmlOrderRepository.GetAll(); var serverorders = unitOfWork.ServerOrderRepository.GetAll(); foreach (var order in htmlorders) { var addingHtmlProvider = new AddingOrderProvider < HtmlJobDetailComposer <HtmlOrderJob>, SimpleTriggerComposer, HtmlOrderJob>( new HtmlJobDetailComposer <HtmlOrderJob>(order.Id, order.TargetAddress, order.SubjectOfQuestion), new SimpleTriggerComposer(order.Frequency, order.Id)); await addingHtmlProvider.AddOrder(); } foreach (var order in serverorders) { var addingServerProvider = new AddingOrderProvider < ServerJobDetailComposer <ServerOrderJob>, SimpleTriggerComposer, ServerOrderJob>( new ServerJobDetailComposer <ServerOrderJob>(order.Id, order.TargetAddress), new SimpleTriggerComposer(order.Frequency, order.Id)); await addingServerProvider.AddOrder(); } } }
public async Task <IActionResult> AddServerOrder([FromBody] ServerOrder order) { Debug.WriteLine("Adding new order with frequency= " + order.Frequency + " , orderTarget= " + order.TargetAddress); if (!ModelState.IsValid) { return(BadRequest("Request body is not correct!")); } using (UnitOfWork unitOfWork = new UnitOfWork(this._databaseContext)) { unitOfWork.ServerOrderRepository.Add(order); await unitOfWork.Save(); } var addingServerProvider = new AddingOrderProvider < ServerJobDetailComposer <ServerOrderJob>, SimpleTriggerComposer, ServerOrderJob>( new ServerJobDetailComposer <ServerOrderJob>(order.Id, order.TargetAddress), new SimpleTriggerComposer(order.Frequency, order.Id)); await addingServerProvider.AddOrder(); return(new JsonResult(order.Id)); }
public static async Task Execute() { await Task.Delay(30000); //initializing new provider for adding order with specific implementation of composers and job. var addingProvider = new AddingOrderProvider < ServerJobDetailComposer <ServerOrderJob>, SimpleTriggerComposer, ServerOrderJob>( new ServerJobDetailComposer <ServerOrderJob>(1, "172.217.16.14"), new SimpleTriggerComposer(5, 1) ); //asynchronous adding order. await addingProvider.AddOrder(); await Task.Delay(15100); //deleting order from schedule after delay. var deletingProvider = new DeletingOrderProvider(); await deletingProvider.DeleteOrder(1); //adding new provider with implementations for html order var addingHtmlProvider = new AddingOrderProvider < HtmlJobDetailComposer <HtmlOrderJob>, SimpleTriggerComposer, HtmlOrderJob>( new HtmlJobDetailComposer <HtmlOrderJob>(2, "http://www.nordlearn.com.pl", "1"), new SimpleTriggerComposer(5, 2)); //asynchronous adding order to schedule. await addingHtmlProvider.AddOrder(); await Task.Delay(15100); //deleting order from schedule after delay. var deletingHtmlProvider = new DeletingOrderProvider(); await deletingHtmlProvider.DeleteOrder(2); }