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); }