public async Task SetCycleSettingsAsync(CycleSettings settings, OnSetCycleSettingsDelegate onSetCycleSettings) { _cycleSettingsToSet = settings ?? throw new ArgumentNullException(nameof(settings)); _onSetCycleSettings = onSetCycleSettings ?? throw new ArgumentNullException(nameof(onSetCycleSettings)); // Checking if cycle settings changed await LoadCycleSettingsAsync(OnGetCycleSettings_SetCycleSettingsPathway); }
private void OnGetCycleResponse(bool isContinuous, TimeSpan txTime, TimeSpan pauseTime) { _cycleSettings = new CycleSettings { IsContinuous = isContinuous, TxDuration = txTime, PauseDuration = pauseTime }; _getEndingToneDurationCommand.SetResponseDelegate(OnGetEndingToneDurationResponse); _getEndingToneDurationCommand.SendGetEndingToneDurationCommand(); }
private void OnGetCycleSettings_SetCycleSettingsPathway(CycleSettings settings) { if (settings.IsContinuous == _cycleSettingsToSet.IsContinuous && settings.TxDuration == _cycleSettingsToSet.TxDuration && settings.PauseDuration == _cycleSettingsToSet.PauseDuration && settings.EndingToneDuration == _cycleSettingsToSet.EndingToneDuration) { _onSetCycleSettings(); return; } _setCycleCommand.SetResponseDelegate(OnSetCycleResponse); _setCycleCommand.SendSetCycleCommand(_cycleSettingsToSet.IsContinuous, _cycleSettingsToSet.TxDuration, _cycleSettingsToSet.PauseDuration); }