public async Task <IActionResult> InsertScheduleAsync(InsertOptimizationRequestViewModel dto) { var Status = false; var Result = new Res(); await Task.Run(() => _optimizationEngineServices.Insert(dto, out Status)); BackgroundJob.Schedule(() => _optimizationEngine.OptimizeDeliveries(_optimizationEngineServices.GetIdLasted().Id), TimeSpan.FromMinutes(dto.OptimizeAfterMinuntes)); if (Status) { Result.Status = true; Result.Message = MesssageContant.SAVE_SUCCESS; Result.StatusCode = HttpStatusCode.OK; } else { Result.Data = null; Result.Status = Status; Result.Message = MesssageContant.SAVE_FAIL; Result.StatusCode = HttpStatusCode.InternalServerError; } return(Ok(Result)); }
public async Task <IActionResult> InsertAsync(InsertOptimizationRequestViewModel dto) { var Status = false; var Result = new Res(); await Task.Run(() => _optimizationEngineServices.Insert(dto, out Status)); var cronType = GetCronFromRecurringType(dto.RecurringSchedule); RecurringJob.AddOrUpdate(_optimizationEngineServices.GetIdLasted().Id.ToString(), () => _optimizationEngine.OptimizeDeliveries(_optimizationEngineServices.GetIdLasted().Id), cronType); if (Status) { Result.Status = true; Result.Message = MesssageContant.SAVE_SUCCESS; Result.StatusCode = HttpStatusCode.OK; } else { Result.Data = null; Result.Status = Status; Result.Message = MesssageContant.SAVE_FAIL; Result.StatusCode = HttpStatusCode.InternalServerError; } return(Ok(Result)); }
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); } }