示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }