CodeImp.Gluon.AgendaItemDisplayPanel.acceptbutton_Click C# (CSharp) Метод

acceptbutton_Click() приватный Метод

private acceptbutton_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
Результат void
        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();
        }