Example #1
0
        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));
        }
Example #2
0
 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);
     }
 }
Example #3
0
 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));
 }