private async Task BuildMonitorsAsync() { Login(_testData.UserId1); var newMonitorStep = new MonitorStep( _testData.MonitorStepId1, _testData.MonitorId1, _testData.MonitorUrl1, _testData.MonitorInterval1, MonitorStepTypes.Request, MonitorStepStatusTypes.Unknown); var monitor = new Monitor( _testData.MonitorId1, _testData.MonitorName1, MonitorStatusTypes.Unknown, newMonitorStep ); await _monitorRepository.InsertAsync(monitor, true); var newMonitorStep2 = new MonitorStep( _testData.MonitorStepId2, _testData.MonitorId2, _testData.MonitorUrl2, _testData.MonitorInterval2, MonitorStepTypes.Request, MonitorStepStatusTypes.Unknown); var monitor2 = new Monitor( _testData.MonitorId2, _testData.MonitorName2, MonitorStatusTypes.Unknown, newMonitorStep2 ); await _monitorRepository.InsertAsync(monitor2, true); }
public async Task <Monitor> CreateAsync( Guid monitorId, Guid monitorStepId, 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 isExistingMonitorName = _monitorRepository.Any(x => x.CreatorId == userId && x.Name.Equals(name)); if (isExistingMonitorName) { throw new UserFriendlyException("This project name is already in use. Please choose a different name."); } var newMonitorStep = new MonitorStep( monitorStepId, monitorId, url, interval, MonitorStepTypes.Request, MonitorStepStatusTypes.Unknown); var newMonitor = new Monitor( monitorId, name, MonitorStatusTypes.Unknown, newMonitorStep); return(await _monitorRepository.InsertAsync(newMonitor)); }