private void acceptbutton_Click(object sender, EventArgs e)
{
// General
result.description = description.Text;
if(assigned == 1)
result.color = ColorIndex.ControlColorPascal;
else if(assigned == 2)
result.color = ColorIndex.ControlColorMarlies;
else if(assigned == 3)
result.color = ColorIndex.ControlColorAffirmative;
else
result.color = ColorIndex.WindowText;
// Start
DateTime date;
TimeSpan stime;
if(!DateFromInput(startday.Text, startmonth.Text, startyear.Text, out date)) { PlayFailSound(); return; }
if(!TimeFromInput(starthour.Text, startminute.Text, out stime)) { PlayFailSound(); return; }
result.startdate = date.Add(stime);
// Duration
TimeSpan dur;
if(!GetDuration(out dur))
{
PlayFailSound();
return;
}
result.duration = dur;
// Alarm
result.alarm = alarmbutton.IsInfoFlashing;
result.alarmdate = result.startdate;
try
{
TimeSpan advance = new TimeSpan(0, int.Parse(alarmminutes.Text), 0);
result.alarmdate = result.startdate.Subtract(advance);
}
catch(Exception) { PlayFailSound(); return; }
// Recurring
try
{
result.recur = (AgendaItemRecur)Enum.Parse(typeof(AgendaItemRecur), recurbutton.Text);
}
catch(Exception) { PlayFailSound(); return; }
// Store in database
General.Agenda.AddOrUpdateItem(result);
General.MainWindow.OverviewPanel.UpdateAgenda();
if(AcceptEvent != null)
AcceptEvent();
// Close
General.MainWindow.ShowTaggedPanel(returnpanel);
AcceptEvent = null;
CancelEvent = null;
Clear();
}