public Album CreateAlbum(string name, string description, bool isPublic, IEnumerable<Tag> tags, int categoryId) { var oldAlbum = UnitOfWork.Albums.Get(album => album.Name.Equals(name)); if (oldAlbum != null) throw new DataException("Album name already exists."); if (tags == null) { tags = new Tag[] { }; } var newAlbum = new AlbumEntity { CategoryId = categoryId, CreatedOn = DateTime.UtcNow, Description = description, IsPublic = isPublic, Name = name, Tags = tags.Select(tag => new TagEntity { Id = tag.Id }).ToList(), }; newAlbum = UnitOfWork.Albums.Add(newAlbum); UnitOfWork.Commit(); return newAlbum.ToModel(); }
public Tag UpdateTag(Tag tag) { var oldTag = UnitOfWork.Tags.GetById(tag.Id); if (oldTag == null) { throw new DataException(string.Format("Tag {0} does not exist.", tag.Name)); } oldTag.Name = tag.Name; oldTag.Description = tag.Description; return UnitOfWork.Tags.Update(oldTag).ToModel(); }
public Album UpdateAlbum(int albumId, string name, string description, bool isPublic, IEnumerable<Tag> tags) { var oldAlbum = UnitOfWork.Albums.GetById(albumId); if (oldAlbum == null) throw new DataException("Album could not be retrieved."); if (tags == null) { tags = new Tag[]{}; } oldAlbum.Name = name; oldAlbum.Description = description; oldAlbum.IsPublic = isPublic; oldAlbum.Tags = tags.Select(tag => new TagEntity { Id = tag.Id }).ToList(); oldAlbum = UnitOfWork.Albums.Update(oldAlbum); UnitOfWork.Commit(); return oldAlbum.ToModel(); }