public MailCheckPage(ConfigPage parent) : base(parent) { mShowNotifications = Settings.Default.ShowNotifications; mMailCheckUnit = Settings.Default.MailCheckUnit; mMailCheckInterval = ConvertUnits(Settings.Default.MailCheckInterval, MailCheckIntervalUnit.Seconds, mMailCheckUnit); mSupressNotificationsClient = Settings.Default.SupressNotificationsClient; mBackgroundEnabled = Settings.Default.BackgroundEnabled; mSupressNotificationsFullscreen = Settings.Default.SupressNotificationsFullscreen; mBackgroundMailCheckUnit = Settings.Default.BackgroundMailCheckUnit; mBackgroundMailCheckInterval = ConvertUnits(Settings.Default.BackgroundMailCheckInterval, MailCheckIntervalUnit.Seconds, mBackgroundMailCheckUnit); mInitialBackgroundMailCheckUnit = Settings.Default.InitialBackgroundMailCheckUnit; mInitialBackgroundMailCheckInterval = ConvertUnits(Settings.Default.InitialBackgroundMailCheckInterval, MailCheckIntervalUnit.Seconds, mInitialBackgroundMailCheckUnit); }
decimal ConvertUnits(decimal value, MailCheckIntervalUnit from, MailCheckIntervalUnit to) { if (from == to) { return(value); } switch (from) { case MailCheckIntervalUnit.Seconds: break; case MailCheckIntervalUnit.Minutes: value = value * 60; break; case MailCheckIntervalUnit.Hours: value = value * (60 * 60); break; } switch (to) { case MailCheckIntervalUnit.Seconds: break; case MailCheckIntervalUnit.Minutes: value = value / 60; break; case MailCheckIntervalUnit.Hours: value = value / (60 * 60); break; } return(Math.Round(value)); }