protected virtual void SetButton_Click(object sender, EventArgs e) { //get selected settings for alarm AlarmSettings aSettings = new AlarmSettings(); aSettings.time = alarmTimePicker.Value; aSettings.description = descriptionTextbox.Text; aSettings.type = (AlarmSettings.aType)Enum.Parse(typeof(AlarmSettings.aType), TypeCombo.Text); aSettings.notifyMessageBox = notifyMessageCheck.Checked; if (notifySoundCheck.Checked && soundComboList.SelectedItem != null) { aSettings.playSound = notifySoundCheck.Checked; aSettings.soundPath = ((soundFile)soundComboList.SelectedItem).soundPath; } if (repeatCheck.Checked) { aSettings.repeat = true; switch (repeatFreqCombo.Text) { case("Every Day"): case("Every Weekday"): case("Every Week"): aSettings.repeatFreq = AlarmSettings.repeatFreqEnum.Weekly; break; case("Every Fortnight"): aSettings.repeatFreq = AlarmSettings.repeatFreqEnum.Fortnightly; break; case ("Every Month"): aSettings.repeatFreq = AlarmSettings.repeatFreqEnum.Monthly; break; default: Console.WriteLine("NewTimeEvent invalid repeat freq selection"); break; } aSettings.repeatDays[0] = dayMon.Checked; aSettings.repeatDays[1] = dayTue.Checked; aSettings.repeatDays[2] = dayWed.Checked; aSettings.repeatDays[3] = dayThu.Checked; aSettings.repeatDays[4] = dayFri.Checked; aSettings.repeatDays[5] = daySat.Checked; aSettings.repeatDays[6] = daySun.Checked; } //create and store alarm if (TypeCombo.Text == "Alarm") { Program.timeEvents.Add(new Alarm(aSettings)); } else if (TypeCombo.Text == "Chime") { aSettings.chimeInterval = TimeSpan.FromMinutes(double.Parse(chimeIntervalTextbox.Text)); aSettings.chimeEndTime = DateTime.Parse(chimeEndTimeTextbox.Text); Program.timeEvents.Add(new Chime(aSettings)); } if (newAlarmSet != null) //invoke event { newAlarmSet(this, EventArgs.Empty); } saveAlarms.writeAlarms(); this.Close(); }
public void AlarmConstructorTest() { AlarmSettings settings = new AlarmSettings(); System.DateTime testDate = System.DateTime.Now.AddHours(1); settings.time = testDate; settings.type = AlarmSettings.aType.Alarm; Alarm target = new Alarm(settings); Assert.IsNotNull(target); Assert.AreEqual(AlarmSettings.aType.Alarm, target.AlarmType); Assert.AreEqual(testDate, target.AlarmTime); }
//TODO: exception handling, validation private static void parseSave(string[] fileLines, int n) { AlarmSettings a = new AlarmSettings(); for (int i = n+1; i < fileLines.Length; i++) //parse each line, ignoring BEGIN { if (fileLines[i] == "END") break; //end of save string[] split = fileLines[i].Split(nameValueSeparators, 2); switch (split[0]) { case "type": a.type = (AlarmSettings.aType) Enum.Parse(typeof(AlarmSettings.aType), split[1]); break; case "time": a.time = DateTime.FromBinary(long.Parse(split[1])); break; case "description": a.description = split[1]; break; case "notifyMessageBox": a.notifyMessageBox = bool.Parse(split[1]); break; case "chimeInterval": a.chimeInterval = TimeSpan.Parse(split[1]); break; case "chimeEndTime": a.chimeEndTime = DateTime.FromBinary(long.Parse(split[1])); break; case "playSound": a.playSound = bool.Parse(split[1]); break; case "soundPath": a.soundPath = split[1]; break; default: break; } } if(a.type == AlarmSettings.aType.Alarm) Program.timeEvents.Add(new Alarm(a)); else if(a.type == AlarmSettings.aType.Chime) Program.timeEvents.Add(new Chime(a)); }
public Chime(AlarmSettings settings) : base(settings) { }
public Alarm(AlarmSettings settings) { alarmSettings = settings; alarmInit(); }