public async Task DeleteAsync(Guid id) { var monitor = await _monitorRepository.GetAsync(id); if (CurrentUser.GetId() != monitor.CreatorId) { return; } await _monitorRepository.DeleteAsync(id); }
public async Task <IActionResult> GetMonitorAsync(Guid id) { try { var result = await _monitorRepository.GetAsync(id.ToString()); if (result.Id.Equals(Guid.Empty)) { return(NotFound()); } return(Ok(result)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetMonitorAsync: {ex.Message}"); return(StatusCode(500, "Internal server error.")); } }
// GET: Monitor/Zone?group=A1 public async Task <ActionResult> Zone(string group) { var monitors = await repository.GetAsync(m => m.DISPLAY_GROUP == group, null, c => c.MST_LOSS_GROUP); var viewModel = new MonitorViewModel { Monitors = monitors.ToList() }; return(View(viewModel)); }
public async Task <Monitor> UpdateAsync( Guid id, Guid userId, [NotNull] string name, [NotNull] string url, int interval) { Check.NotNullOrWhiteSpace(name, nameof(name)); Check.NotNullOrWhiteSpace(url, nameof(url)); if (interval < 1) { throw new UserFriendlyException("Interval value cannot be less than one"); } var monitor = await _monitorRepository.GetAsync(id); if (monitor.CreatorId != userId) { return(null); } var isExistingMonitorName = _monitorRepository .Any(x => x.CreatorId == monitor.CreatorId && x.Id != id && x.Name.Equals(name)); if (isExistingMonitorName) { throw new UserFriendlyException("This project name is already in use. Please choose a different name."); } monitor.SetName(name); monitor.MonitorStep.SetUrl(url); monitor.MonitorStep.Interval = interval; return(await _monitorRepository.UpdateAsync(monitor)); }