public static DateAndTime TestDate(string dateAndTime) { string[] date_time = dateAndTime.Replace(Quotes, string.Empty) .Split(new[] { PlusSign }, StringSplitOptions.RemoveEmptyEntries); bool containsBoth = date_time.Length == 2 && !string.IsNullOrEmpty(date_time[0]) && !string.IsNullOrEmpty(date_time[1]); bool containsNone = date_time.Length == 0; if (!containsBoth && !containsNone) { throw new Exception("Missing data for Dates"); } else if (containsBoth && !DateTime.TryParse($"{date_time[0]} {date_time[1]}", out DateTime testDate)) { throw new Exception("Invalid data for Dates"); } Date date = null; Time time = null; if (containsBoth) { date = TimeAndDateUtility.ConvertString_Date(date_time[0]); time = TimeAndDateUtility.ConvertString_Time(date_time[1]); } return(new DateAndTime(date, time)); }
private void Confirm_Click(object sender, EventArgs e) { bool error = false; Label title = Title.GetControl(); if (TitleTB.Text == string.Empty) { Title.SetText(title.Text.Contains("*") ? title.Text : string.Format("{0}*", title.Text)); error = true; } else { Title.SetText(title.Text.Contains("*") ? title.Text.Remove(title.Text.Length - 1) : title.Text); } Label start = Start.GetControl(); Label end = End.GetControl(); if (CheckStartAndEndDate()) { Start.SetText(start.Text.Contains("*") ? start.Text : string.Format("{0}*", start.Text)); End.SetText(end.Text.Contains("*") ? end.Text : string.Format("{0}*", end.Text)); error = true; } else if (CheckMinDate()) { Start.SetText(start.Text.Contains("*") ? start.Text : string.Format("{0}*", start.Text)); End.SetText(end.Text.Contains("*") ? end.Text : string.Format("{0}*", end.Text)); error = true; } else { Start.SetText(start.Text.Contains("*") ? start.Text.Remove(start.Text.Length - 1) : start.Text); End.SetText(end.Text.Contains("*") ? end.Text.Remove(end.Text.Length - 1) : end.Text); } if (error) { Data.DialogResult = DialogResult.None; Data.Error = true; } else { Data.DialogResult = DialogResult.OK; Data.Results = new SavedEvent() { Title = TitleTB.Text, Comment = CommentTB.Text, ActivationDate = new DateAndTime(TimeAndDateUtility.ConvertString_Date(StartPicker.Date), TimeAndDateUtility.ConvertString_Time(StartPicker.Time)), DeactivationDate = new DateAndTime(TimeAndDateUtility.ConvertString_Date(EndPicker.Date), TimeAndDateUtility.ConvertString_Time(StartPicker.Time)) }; Data.Error = false; ((Form)TopLevelControl).Close(); } }