public async Task <Result <AlbumDto> > UpdateAlbumAsync(int albumId, Album newAlbum) { var result = new AlbumValidator().Validate(newAlbum); if (!result.IsValid) { return(new Result <AlbumDto>(ResultType.Invalid, string.Join("; ", result.Errors))); } var albums = await _unitOfWork.AlbumRepository .GetAsync(a => a.Id == albumId) .ConfigureAwait(false); var album = albums.FirstOrDefault(); if (album == null) { return(new Result <AlbumDto>(ResultType.Invalid, "Could not find album!")); } album.Id = albumId; album.Name = newAlbum.Name; album.TotalTime = newAlbum.TotalTime; album.ReleaseYear = newAlbum.ReleaseYear; album.Rate = newAlbum.Rate; _unitOfWork.AlbumRepository.Edit(album); await _unitOfWork.SaveAsync().ConfigureAwait(false); return(new Result <AlbumDto>(Auto.Mapper.Map <AlbumDto>(album))); }
public AlbumAppService( IAlbumRepository repository, AlbumValidator validator ) : base(repository) { Validator = validator; }
private void ReleaseYear_Validating(object sender, CancelEventArgs e) { var validator = new AlbumValidator(); var result = validator.ReleaseYearCheck(txtReleaseYear.Text); errorProviderReleaseYear.SetError(txtReleaseYear, result.Message); e.Cancel = !result.IsValid; }
private void Name_Validating(object sender, CancelEventArgs e) { var validator = new AlbumValidator(); var result = validator.NameCheck(txtName.Text); errorProviderName.SetError(txtName, result.Message); e.Cancel = !result.IsValid; }
public async Task <Result <AlbumDto> > AddAlbumAsync(Album album) { var result = new AlbumValidator().Validate(album); if (!result.IsValid) { return(new Result <AlbumDto>(ResultType.Invalid, string.Join("; ", result.Errors))); } _unitOfWork.AlbumRepository.Add(album); await _unitOfWork.SaveAsync().ConfigureAwait(false); return(new Result <AlbumDto>(Auto.Mapper.Map <AlbumDto>(album))); }
public AlbumForEditContract(Album album, ContentLanguagePreference languagePreference) : base(album, languagePreference) { ArtistLinks = album.Artists.Select(a => new ArtistForAlbumContract(a, languagePreference)).OrderBy(a => a.Name).ToArray(); Deleted = album.Deleted; Description = album.Description; Names = new NameManagerEditContract(album.Names); OriginalRelease = (album.OriginalRelease != null ? new AlbumReleaseContract(album.OriginalRelease) : null); Pictures = album.Pictures.Select(p => new EntryPictureFileContract(p)).ToArray(); PVs = album.PVs.Select(p => new PVContract(p)).ToArray(); Songs = album.Songs .OrderBy(s => s.TrackNumber).OrderBy(s => s.DiscNumber) .Select(s => new SongInAlbumEditContract(s, languagePreference)).ToArray(); TranslatedName = new TranslatedStringContract(album.TranslatedName); UpdateNotes = string.Empty; ValidationResult = AlbumValidator.Validate(album); WebLinks = album.WebLinks.Select(w => new WebLinkContract(w)).OrderBy(w => w.DescriptionOrUrl).ToArray(); }
public int UpdateEntryStatuses() { VerifyAdmin(); SysLog("updating entry statuses"); return(HandleTransaction(session => { int count = 0; var artists = session.Query <Artist>().Where(a => !a.Deleted).ToArray(); foreach (var artist in artists) { var result = ArtistValidator.Validate(artist); if (result.Passed && artist.Status == EntryStatus.Draft) { artist.Status = EntryStatus.Finished; session.Update(artist); count++; } else if (!result.Passed && artist.Status == EntryStatus.Finished) { artist.Status = EntryStatus.Draft; session.Update(artist); count++; } } var albums = session.Query <Album>().Where(a => !a.Deleted).ToArray(); foreach (var album in albums) { var result = AlbumValidator.Validate(album); if (result.Passed && album.Status == EntryStatus.Draft) { album.Status = EntryStatus.Finished; session.Update(album); count++; } else if (!result.Passed && album.Status == EntryStatus.Finished) { album.Status = EntryStatus.Draft; session.Update(album); count++; } } var songs = session.Query <Song>().Where(a => !a.Deleted).ToArray(); foreach (var song in songs) { var result = SongValidator.Validate(song); if (result.Passed && song.Status == EntryStatus.Draft) { song.Status = EntryStatus.Finished; session.Update(song); count++; } else if (!result.Passed && song.Status == EntryStatus.Finished) { song.Status = EntryStatus.Draft; session.Update(song); count++; } } return count; })); }