public async Task <IActionResult> EnableWatcher(int watcherId, [FromBody] EnableWatcher request) { // Request request.UserId = "cesarbmx"; request.WatcherId = watcherId; // Reponse var response = await _watcherService.EnableWatcher(request); // Return return(Ok(response)); }
public async Task <Responses.Watcher> EnableWatcher(EnableWatcher request) { // Get watcher var watcher = await _mainDbContext.Watchers.FindAsync(request.WatcherId); // Watcher not found if (watcher == null) { throw new NotFoundException(WatcherMessage.WatcherNotFound); } // Watcher already enabled if (watcher.Enabled == request.Enabled && request.Enabled) { throw new ConflictException(new Conflict <EnableWatcherConflictReason>(EnableWatcherConflictReason.WATCHER_ALREADY_ENABLED, WatcherMessage.WatcherAlreadyEnabled)); } // Watcher already disabled if (watcher.Enabled == request.Enabled && !request.Enabled) { throw new ConflictException(new Conflict <EnableWatcherConflictReason>(EnableWatcherConflictReason.WATCHER_ALREADY_DISABLED, WatcherMessage.WatcherAlreadyDisabled)); } // Update watcher watcher.Enable(request.Enabled); // Update _mainDbContext.Watchers.Update(watcher); // Save await _mainDbContext.SaveChangesAsync(); // Response var response = _mapper.Map <Responses.Watcher>(watcher); if (request.Enabled) { // Log _logger.LogInformation("{@Event}, {@UserId}, {@Request}, {@Response}", "WatcherEnabled", request.UserId, request, response); } else { // Log _logger.LogInformation("{@Event}, {@UserId}, {@Request}, {@Response}", "WatcherDisabled", request.UserId, request, response); } // Return return(response); }