예제 #1
0
        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);
        }