/// <summary> /// Saves user settings. /// </summary> /// <param name="uid">The uid of user.</param> /// <param name="userSettings">The user settings to be saved.</param> public void SaveSettings(long uid, UserSettingsRequest userSettings) { UserSettingsEntry userSettingsEntry = new UserSettingsEntry(); userSettingsEntry.ChartBeginTime = userSettings.BeginDate; userSettingsEntry.ChartEndTime = userSettings.EndDate; userSettingsEntry.CookieUid = uid; ExplorerRepository.RemoveCorrespondanceEntries(userSettingsEntry); //userSettingsEntry.CurrencyCodes = ExplorerRepository.GetCodeEntries().Where(x => userSettings.CurrencyValues.Contains(x.Value)).ToList(); UserLanguageEntry newUserLanguageEntry = new UserLanguageEntry(); newUserLanguageEntry.Language = userSettings.Language.ToString(); ExplorerRepository.AddUserLanguage(newUserLanguageEntry); userSettingsEntry.Language = newUserLanguageEntry; ExplorerRepository.SaveUserSettings(userSettingsEntry); var correspCurrencyCodes = ExplorerRepository.GetCodeEntries().Where(x => userSettings.CurrencyValues.Contains(x.Value)).ToList(); foreach (CurrencyCodeEntry currencyCode in correspCurrencyCodes) { CorrespondanceEntry correspondanceEntry = new CorrespondanceEntry(); correspondanceEntry.UserSettings = userSettingsEntry; correspondanceEntry.CurrencyCode = currencyCode; ExplorerRepository.AddCorrespondenceEntry(correspondanceEntry); } }
public void AddUserLanguage(UserLanguageEntry userLanguageEntry) { UserLanguageEntry dbEntry = _currencyDataContext.UserLanguageEntries.FirstOrDefault(x => x.Equals(userLanguageEntry)); if (dbEntry == null) { _currencyDataContext.UserLanguageEntries.Add(userLanguageEntry); _currencyDataContext.SaveChanges(); } else { // DANGEROUS! userLanguageEntry.Id = dbEntry.Id; } }