예제 #1
0
        public async Task <IActionResult> Delete(int id, int localId)
        {
            if (localId <= 0)
            {
                return(BadRequest($"{nameof(localId)} must be greater than 0"));
            }

            try
            {
                await _eventInfoService.GetEventInfoByIdAsync(id);
            }
            catch (InvalidOperationException)
            {
                return(NotFound());
            }

            var externalEvent = await _externalEventManagementService.FindExternalEventByLocalIdAsync(localId);

            if (externalEvent == null)
            {
                return(Ok()); // may be already removed
            }

            if (externalEvent.EventInfoId != id)
            {
                return(NotFound());
            }

            await _externalEventManagementService.DeleteExternalEventReferenceAsync(localId);

            return(Ok());
        }