public async Task <IActionResult> Delete(string id)
        {
            bool lockedChildExists = queueManager.CheckReferentialIntegrity(id);

            if (lockedChildExists)
            {
                ModelState.AddModelError("Delete Agent", "Referential Integrity in QueueItems table, please remove any locked items associated with this queue first");
                return(BadRequest(ModelState));
            }
            return(await base.DeleteEntity(id));
        }
        public async Task <IActionResult> Delete(string id)
        {
            try
            {
                var existingQueue = _queueManager.CheckReferentialIntegrity(id);
                await _webhookPublisher.PublishAsync("Queues.QueueDeleted", existingQueue.Id.ToString(), existingQueue.Name).ConfigureAwait(false);

                return(await base.DeleteEntity(id));
            }
            catch (Exception ex)
            {
                return(ex.GetActionResult());
            }
        }
Beispiel #3
0
        public async Task <IActionResult> Delete(string id)
        {
            Guid entityId      = new Guid(id);
            var  existingQueue = repository.GetOne(entityId);

            if (existingQueue == null)
            {
                return(NotFound());
            }

            bool lockedChildExists = queueManager.CheckReferentialIntegrity(id);

            if (lockedChildExists)
            {
                ModelState.AddModelError("Delete Agent", "Referential Integrity in QueueItems table, please remove any locked items associated with this queue first");
                return(BadRequest(ModelState));
            }
            await webhookPublisher.PublishAsync("Queues.QueueDeleted", existingQueue.Id.ToString(), existingQueue.Name).ConfigureAwait(false);

            return(await base.DeleteEntity(id));
        }