public ActionResult Create(OptimizationRequest newOptimizationRequest) { if (ModelState.IsValid) { _uof.OptimizationRequests.Add(newOptimizationRequest); _uof.SaveChanges(); var cronType = GetCronFromRecurringType(newOptimizationRequest.RecurringSchedule); RecurringJob.AddOrUpdate(newOptimizationRequest.ID.ToString(), () => _optiEngine.OptimizeDeliveries(new OptimizeDeliveriesRequest() { RequestID = newOptimizationRequest.ID, ScheduleDate = newOptimizationRequest.RequestDate }), cronType); return(RedirectToAction("Index")); } return(View(newOptimizationRequest)); }
public void Insert(InsertOptimizationRequestViewModel dto, out bool Status) { try { var model = new OptimizationRequest { RequestDate = dto.RequestDate, ScheduleDate = dto.ScheduleDate, StatusId = dto.StatusId, OptimizeAfterMinuntes = dto.OptimizeAfterMinuntes, OptimizeDateTime = dto.OptimizeDateTime, RecurringSchedule = dto.RecurringSchedule }; _uow.OptimizationRequests.Add(model); _uow.SaveChanges(); Status = true; } catch (Exception ex) { throw new Exception(ex.Message); } }
public RecipesOptimization OptimizeWaste([FromBody] OptimizationRequest request) { return(NodeExplorator.CalculateCountByRecipeOptimizeWaste(request)); }
public RecipesOptimization GetCountByRecipeOptimizeWaste() { return(OptimizationRequest.SendRequestToOptimization("http://localhost:8081/recipes/optimize-total-waste")); }
public ActionResult Create() { var optimizationRequest = new OptimizationRequest(); return(View(optimizationRequest)); }
public void ProcessOptimizationRequest(OptimizationRequest newOptimizationRequest) { BackgroundJob.Enqueue(() => _optiEngine.OptimizeDeliveries(newOptimizationRequest.ID)); }