public async Task<ActionResult> Preferences(PreferencesViewModel preferences) { List<User_Instrument> user_instruments = new List<User_Instrument>(); List<User_MusicalStyle> user_styles = new List<User_MusicalStyle>(); User user = (await _usrrep.FindAsync(x => x.UserName == WebSecurity.CurrentUserName)); try { if (ModelState.IsValid) { await _instrep.DeleteAsync(x => x.User.UserName == WebSecurity.CurrentUserName); await _musicrep.DeleteAsync(x => x.User.UserName == WebSecurity.CurrentUserName); foreach (MusicalStyle style in preferences.MusicalStyles) { user_styles.Add(new User_MusicalStyle() { MusicalStyle = style, User = user }); } foreach (Instrument instrument in preferences.Instruments) { user_instruments.Add(new User_Instrument() { Instrument = instrument, User = user }); } await _instrep.CreateAsync(user_instruments); await _musicrep.CreateAsync(user_styles); return View(); } } catch(Exception ex) { ModelState.AddModelError("", "There was an error while updating the data.\n Please try again later."); return View(preferences); } return View(preferences); }
public async Task<ActionResult> MyPreferences(string user) { PreferencesViewModel preferences = new PreferencesViewModel(); preferences.Instruments = (await _instrep.FilterAsync(x => x.User.UserName == user)) .Select(x => x.Instrument) .ToList(); preferences.MusicalStyles = (await _musicrep.FilterAsync(x => x.User.UserName == user)) .Select(x => x.MusicalStyle) .ToList(); return View(preferences); }
public async Task<ActionResult> Preferences(string user) { PreferencesViewModel preferences = new PreferencesViewModel(); IEnumerable<MusicalStyle> styles = (await _musicrep.FilterAsync(x => x.User.UserName == user)) .Select(x => x.MusicalStyle) .ToList(); IEnumerable<Instrument> instruments = (await _instrep.FilterAsync(x => x.User.UserName == user)) .Select(x => x.Instrument) .ToList(); if(styles != null) { foreach(MusicalStyle style in styles) { preferences.MusicalStyles.Add(style); } } if(instruments != null) { foreach(Instrument instrument in instruments) { preferences.Instruments.Add(instrument); } } return View(preferences); }