public bool IsValid() { LastError = string.Empty; try { if (String.IsNullOrEmpty(User)) { throw new MyFlightbookValidationException("No username specified"); } if (EventType == BasicMedEventType.Unknown) { throw new MyFlightbookValidationException("Must specify a valid eventtype"); } if (!EventDate.HasValue()) { throw new MyFlightbookValidationException(Resources.Profile.BasicMedErrNoDate); } if (EventDate.Subtract(DateTime.Now).TotalDays > 3) // allow up to 3 days in the future { throw new MyFlightbookValidationException(Resources.Profile.BasicMedErrEventInFuture); } if (EventDate.CompareTo(BasicMed.EarliestEventDate) < 0) { throw new MyFlightbookValidationException(Resources.Profile.BasicMedErrEventTooFarBack); } } catch (MyFlightbookValidationException ex) { LastError = ex.Message; return(false); } return(true); }