public IActionResult Create(MusicCreateViewModel model) { if (!TryValidateModel(model)) { return(View(model)); } var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User); Music newMusic = new Music() { Titel = model.Titel, ZangersName = model.ZangersName, Lied = model.Lied, MediaUser = _currentMediaUser, MediaUserId = currentUserId }; _mediaService.InsertMedia(newMusic); _mediaService.SaveChanges(); Music muzFrmDb = _mediaService.GetAllMedia().OfType <Music>().FirstOrDefault(x => x.Id == newMusic.Id); if (model.Photo != null) { using var memoryStream = new MemoryStream(); model.Photo.CopyTo(memoryStream); muzFrmDb.Photo = memoryStream.ToArray(); } _mediaService.SaveChanges(); return(RedirectToAction("Details", new { muzFrmDb.Id })); }
public async Task <IActionResult> Create(MusicCreateViewModel model) { if (ModelState.IsValid) { Music toBeAddedMusic = new Music { Artist = model.Artist, ReleaseDate = model.ReleaseDate, Genre = model.Genre, Title = model.Title, Url = model.Url }; var user = await _userManager.GetUserAsync(HttpContext.User); _mediaDbContext.MusicList.Add(toBeAddedMusic); await _mediaDbContext.SaveChangesAsync(); UserMusic newConnection = new UserMusic { User = user, UserId = user.Id, Music = toBeAddedMusic, MusicId = toBeAddedMusic.Id }; _mediaDbContext.UserMusicList.Add(newConnection); await _mediaDbContext.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <IActionResult> Create(MusicCreateViewModel createModel) { List <string> songsFromDb = await _mediaWebDbContext.Songs.Select(s => s.Title).ToListAsync(); List <string> artistFromDb = await _mediaWebDbContext.Artists.Select(a => a.Name).ToListAsync(); //check for duplicates if (songsFromDb.Contains(StringEdits.FirstLettterToUpper(createModel.Title))) { return(RedirectToAction("Index")); } Song newSong = new Song() { Title = StringEdits.FirstLettterToUpper(createModel.Title), ReleaseDate = createModel.ReleaseDate, SongFile = UploadUtility.UploadFile(createModel.Song, "songs", _hostingEnvironment) }; //add artists to song var songArtists = new List <SongArtist>(); //create only if new artists if (createModel.createdArtists != null) { var createdArtists = StringEdits.FirstLettterToUpper(createModel.createdArtists); var createdArtistsArray = createdArtists.Split(", "); var newArtists = new List <Artist>(); var artistsFromDb = await _mediaWebDbContext.Artists.ToListAsync(); foreach (var createdArtist in createdArtistsArray) { if (!artistsFromDb.Select(g => g.Name).Contains(createdArtist)) { newArtists.Add(new Artist() { Name = createdArtist }); } else { songArtists.Add(new SongArtist() { Artist = artistsFromDb.Find(g => g.Name == createdArtist) }); } } foreach (var newArtist in newArtists) { songArtists.Add(new SongArtist() { ArtistId = newArtist.Id, Artist = newArtist }); } } newSong.SongArtists = songArtists; _mediaWebDbContext.Update(newSong); await _mediaWebDbContext.SaveChangesAsync(); return(RedirectToAction("Index")); }
public IActionResult Create() { MusicCreateViewModel Muz = new MusicCreateViewModel(); return(View(Muz)); }
public IActionResult Create() { MusicCreateViewModel model = new MusicCreateViewModel(); return(View(model)); }