Пример #1
0
        public void Handle()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    var fields = _scheduleParamsHandler.ConvertToObject();

                    foreach (var item in fields)
                    {
                        if (ValidateScheduleField(item.Field))
                        {
                            _individualRepository.UpdateScheduleField(item.IndId, item.Field, item.Value);
                        }
                        else
                        {
                            throw new SchedulerException(item.Field + "is not scheduling property, please make sure field has SchedulerEnabled attribute.");
                        }

                        ViewModel.ScheduledTaskViewModel task = this._individualRepository.GetTask(item.TaskId);
                        if (task.StartDate.AddMinutes(5) < DateTime.Now)
                        {
                            this._individualRepository.BackDateIndividualChanges(item.IndId, item.Field, item.Value, task.StartDate);
                        }
                    }

                    scope.Complete();
                    Result = true;
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }