protected override void ValidateWrite(List <ValidationError> errors)
 {
     base.ValidateWrite(errors);
     if (base.IsModified(MailboxRegionalConfigurationSchema.Language) && this.Language == null)
     {
         errors.Add(new ObjectValidationError(ServerStrings.ErrorLanguageIsNull, this.Identity, string.Empty));
     }
     if (base.IsModified(MailboxRegionalConfigurationSchema.Language) || base.IsModified(MailboxRegionalConfigurationSchema.DateFormat) || base.IsModified(MailboxRegionalConfigurationSchema.TimeFormat))
     {
         if (this.Language != null)
         {
             this.Language.DateTimeFormat.Calendar = new GregorianCalendar();
             string[] value;
             if (!MailboxRegionalConfiguration.ValidateFormat(this.Language.DateTimeFormat, this.DateFormat, 'd', out value))
             {
                 errors.Add(new ObjectValidationError(ServerStrings.ErrorInvalidDateFormat(this.DateFormat, this.Language.ToString(), string.Join(", ", value)), this.Identity, string.Empty));
             }
             string[] value2;
             if (!MailboxRegionalConfiguration.ValidateFormat(this.Language.DateTimeFormat, this.TimeFormat, 't', out value2))
             {
                 errors.Add(new ObjectValidationError(ServerStrings.ErrorInvalidTimeFormat(this.TimeFormat, this.Language.ToString(), string.Join(", ", value2)), this.Identity, string.Empty));
                 return;
             }
         }
         else if (!string.IsNullOrEmpty(this.DateFormat) || !string.IsNullOrEmpty(this.TimeFormat))
         {
             errors.Add(new ObjectValidationError(ServerStrings.ErrorSetDateTimeFormatWithoutLanguage, this.Identity, string.Empty));
         }
     }
 }
        public static bool ValidateDateFormat(CultureInfo language, object dateFormat, out string defaultFormat)
        {
            DateTimeFormatInfo dateTimeInfo = MailboxRegionalConfiguration.GetDateTimeInfo(language);

            defaultFormat = dateTimeInfo.ShortDatePattern;
            string[] array;
            return(dateFormat != null && dateFormat is string && MailboxRegionalConfiguration.ValidateFormat(dateTimeInfo, (string)dateFormat, 'd', out array));
        }
 public static string GetDefaultTimeFormat(CultureInfo language)
 {
     return(MailboxRegionalConfiguration.GetDateTimeInfo(language).ShortTimePattern);
 }