Esempio n. 1
0
        /// <summary>
        /// Save BackgroundTask
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponseModel SaveBackgroundTask(BackgroundTaskManageModel model)
        {
            var backgroundTask = GetById(model.Id);

            if (backgroundTask != null)
            {
                backgroundTask.Description = model.Description;
                if (backgroundTask.Interval != model.Interval || backgroundTask.Status != model.Status ||
                    backgroundTask.ScheduleType != model.ScheduleType || backgroundTask.StartTime != model.StartTime)
                {
                    backgroundTask.ScheduleType = model.ScheduleType;
                    switch (model.ScheduleType)
                    {
                    case BackgroundTaskEnums.ScheduleType.Daily:
                        backgroundTask.StartTime = model.StartTime;
                        backgroundTask.Interval  = null;
                        break;

                    case BackgroundTaskEnums.ScheduleType.Interval:
                        backgroundTask.StartTime = null;
                        backgroundTask.Interval  = model.Interval;
                        break;
                    }
                    backgroundTask.Status = model.Status;

                    // Need to restart to apply changes
                    EzWorkContext.IsSystemChanged = true;
                }

                var response = Update(backgroundTask);

                if (!response.Success)
                {
                    EzWorkContext.IsSystemChanged = false;
                }

                return(response.SetMessage(response.Success
                    ? T("BackgroundTask_Message_UpdateSuccessfully")
                    : T("BackgroundTask_Message_UpdateFailure")));
            }

            return(new ResponseModel
            {
                Success = false,
                Message = T("BackgroundTask_Message_ObjectNotFound")
            });
        }
        public ActionResult Config(BackgroundTaskManageModel model, SubmitType submit)
        {
            if (ModelState.IsValid)
            {
                var response = _backgroundTaskService.SaveBackgroundTask(model);
                SetResponseMessage(response);
                if (response.Success)
                {
                    switch (submit)
                    {
                    case SubmitType.Save:
                        return(RedirectToAction("Index"));

                    default:
                        return(RedirectToAction("Config", new { id = model.Id }));
                    }
                }
            }
            return(View(model));
        }