Пример #1
0
        public TaskResult Execute(TaskInstance taskInstance)
        {
            TaskResult taskResult = new TaskResult();

            try
            {
                using (var scope = _repositoryFactory.BeginRepositoryScope())
                {
                    StartActiveNotifier(taskInstance.Id);

                    TaskUtilities.UpdateTaskInstanceStatus(taskInstance.Id, _repositoryFactory, TaskInstanceStatues.InProgress, null);

                    var    autoBookRepository = scope.CreateRepository <IAutoBookRepository>();
                    string autoBookId         = taskInstance.Parameters["AutoBookId"].ToString();
                    var    autoBook           = autoBookRepository.Get(autoBookId);

                    _autoBooks.Delete(autoBook);

                    TaskUtilities.UpdateTaskInstanceStatus(taskInstance.Id, _repositoryFactory, TaskInstanceStatues.CompletedSuccess, DateTime.UtcNow);
                    taskResult.Status = TaskInstanceStatues.CompletedSuccess;
                }
            }
            catch (System.Exception exception)
            {
                TaskUtilities.UpdateTaskInstanceStatus(taskInstance.Id, _repositoryFactory, TaskInstanceStatues.CompletedError, DateTime.UtcNow);
                taskResult.Status    = TaskInstanceStatues.CompletedError;
                taskResult.Exception = exception;
            }
            finally
            {
                StopActiveNotifier();
            }
            return(taskResult);
        }
Пример #2
0
        /// <summary>
        /// It is called dynamically.
        /// </summary>
        public async Task Execute(CancellationToken cancellationToken, AutoBook autoBook)
        {
            try
            {
                _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForInformationMessage(0, 0,
                                                                                                     $"Deleting AutoBook (AutoBookID={autoBook.Id})"));
                var autobookDeleted = false;
                try
                {
                    _autoBooks.Delete(autoBook);
                    autobookDeleted = true;
                }
                catch (Exception ex)
                {
                    _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForException(0, 0,
                                                                                                $"Error deleting AutoBook (AutoBookID={autoBook.Id})", ex));
                }

                if (autobookDeleted)
                {
                    _auditEventRepository.Insert(
                        AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, "Deleted AutoBook"));
                }
            }
            finally
            {
                foreach (var dbContext in _tenantDbContexts)
                {
                    try
                    {
                        await dbContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false);
                    }
                    catch //ignore exception
                    {
                    }
                }
            }
        }
 public void DeleteAutoBook(AutoBook autoBook)
 {
     _autoBooks.Delete(autoBook);
     return;
 }