public async Task <IActionResult> Create(SongCreateViewModel vm) { if (!TryValidateModel(vm)) { return(View(vm)); } DotNetEnv.Env.Load(); var songToDb = new Song { Title = vm.SongTitle, NormalizedTitle = vm.SongTitle.ToUpper(), Duration = vm.Duration, SongLink = vm.Link.Replace(DotNetEnv.Env.GetString("YOUTUBE_LINK"), "") }; await _songService.ChangeAlbum(vm.AlbumTitle, songToDb); if (songToDb.Album != null && songToDb.Album.ReleaseDate == null && vm.ReleaseDate.HasValue) { songToDb.Album.ReleaseDate = vm.ReleaseDate.Value; } if (vm.PhotoUrl != null && songToDb.Album != null) { songToDb.Album.PhotoUrl = _photoService.AddPhoto(vm.PhotoUrl); } await _songService.ChangeBand(vm.BandName, songToDb); await _applicationDbContext.Songs.AddAsync(songToDb); await _applicationDbContext.SaveChangesAsync(); return(RedirectToAction("Index")); }