public async Task <ActionResult> AlertSettings(AlertSettingsModel model) { try { if (ModelState.IsValid) { var entity = await db.AlertSettings.FindAsync(model.Id); if (entity == null) { return(HttpNotFound()); } entity.NotificationEmails = model.NotificationEmails; entity.DataPercentage = model.DataPercentage; entity.LastUpdate = DateTime.Now; db.Entry(entity).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); } catch (Exception e) { AddAlert($"Oops! something went wrong. Error code: {e.HResult}", "Edit(model)", this.GetType().ToString(), AlertType.error, e); return(View(model)); } }
public static SettingsModel GetDefaultSettings() { GeneralSettingsModel general = new GeneralSettingsModel() { ThemeBase = new ThemeBaseModel { Name = "BaseLight", DisplayName = "Light", SourceUri = "pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" }, ThemeAccent = new ThemeAccentModel { Name = "Cobalt", ColorCode = "#FF0050EF", SourceUri = "pack://application:,,,/MahApps.Metro;component/Styles/Accents/Cobalt.xaml" }, TopMost = false }; AlertSettingsModel alerts = new AlertSettingsModel() { BuyTypeColor = media.Brushes.Green, SellTypeColor = media.Brushes.Red, OtherTypesColor = media.Brushes.Yellow, PriceColor = media.Brushes.SlateGray, SymbolColor = media.Brushes.DarkGoldenrod, TriggeredByColor = media.Brushes.DeepPink, TimeFrameColor = media.Brushes.DarkMagenta, TimeColor = media.Brushes.DimGray, MaxAlertNumber = 100, MaxPriceDecimalPlacesNumber = 5, CommentFontModel = new FontModel() { Family = media.Fonts.SystemFontFamilies.FirstOrDefault(family => family.Source.Equals("Arial", StringComparison.InvariantCultureIgnoreCase)), WeightModel = new FontWeightModel() { Name = "Normal", Weight = windows.FontWeights.Normal }, StyleModel = new FontStyleModel() { Name = "Normal", Style = windows.FontStyles.Normal }, Size = 20 }, TimeFormat = TimeFormat.TwentyFourHour, TimeZone = TimeZoneInfo.GetSystemTimeZones().FirstOrDefault(tz => tz.BaseUtcOffset.Equals(DateTimeOffset.Now.Offset)), }; SoundSettingsModel sound = new SoundSettingsModel(); EmailSettingsModel email = new EmailSettingsModel() { Template = GetDefaultEmailTemplate(), DefaultTemplate = GetDefaultEmailTemplate(), }; TelegramSettingsModel telegram = new TelegramSettingsModel() { DefaultMessageTemplate = GetDefaultTelegramMessageTemplate(), MessageTemplate = GetDefaultTelegramMessageTemplate(), Conversations = new ObservableCollection <TelegramConversation>() }; SettingsModel Settings = new SettingsModel() { General = general, Alerts = alerts, Sound = sound, Email = email, Telegram = telegram }; return(Settings); }