public async Task <IActionResult> UpdateAsync(OptimizationRequestViewModel dto)
        {
            var Status  = false;
            var Message = string.Empty;
            var Result  = new Res();

            BackgroundJob.Enqueue(() => _optimizationEngineServices.Update(dto, out Status));

            await Task.Run(() => _optimizationEngineServices.Update(dto, out Status));

            if (Status)
            {
                Result.Status     = true;
                Result.Message    = MesssageContant.UPDATE_SUCCESS;
                Result.StatusCode = HttpStatusCode.OK;
            }
            else
            {
                Result.Data       = null;
                Result.Status     = Status;
                Result.Message    = MesssageContant.UPDATE_FAIL;
                Result.StatusCode = HttpStatusCode.InternalServerError;
            }
            return(Ok(Result));
        }
Example #2
0
        public async Task <IActionResult> UpdateAsync(OptimizationRequestViewModel dto)
        {
            var Status  = false;
            var Message = string.Empty;
            var Result  = new Res();

            await Task.Run(() => _optimizationEngineServices.Update(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.UPDATE_SUCCESS;
                Result.StatusCode = HttpStatusCode.OK;
            }
            else
            {
                Result.Data       = null;
                Result.Status     = Status;
                Result.Message    = MesssageContant.UPDATE_FAIL;
                Result.StatusCode = HttpStatusCode.InternalServerError;
            }
            return(Ok(Result));
        }
Example #3
0
        public void Update(OptimizationRequestViewModel dto, out bool Status)
        {
            try
            {
                Status = false;
                var data = GetByID(dto.Id);
                if (data != null)
                {
                    data.RequestDate           = dto.RequestDate;
                    data.ScheduleDate          = dto.ScheduleDate;
                    data.StatusId              = dto.StatusId;
                    data.OptimizeAfterMinuntes = dto.OptimizeAfterMinuntes;
                    data.OptimizeDateTime      = dto.OptimizeDateTime;
                    data.RecurringSchedule     = dto.RecurringSchedule;

                    _uow.OptimizationRequests.Update(data);
                    _uow.SaveChanges();
                    Status = true;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }