public Artist Create(Artist artist) { DbCommand cmd = createInsertCommand(artist.Name, artist.Image, artist.Video, artist.CategoryId, artist.CountryId, artist.Email); db.ExecuteNonQuery(cmd); artist.Id = (int)(((MySqlCommand)cmd).LastInsertedId); return artist; }
public void Delete(Artist artist) { DbCommand cmd = createDeleteCommand(artist.Id); if (db.ExecuteNonQuery(cmd) != 1) { throw new EntityNotFoundException(); } }
public void SetUp() { transaction = new TransactionScope(); DALFactory factory = DALFactory.GetInstance(); db = factory.CreateDatabase(); dao = factory.CreateArtistDAO(db); artist1 = new Artist { Id = 1, Name = "Christoph The Wurst", Image = "some-image", Video = "some-video", CategoryId = 3, CountryId = 15, Email = "*****@*****.**", }; artist2 = new Artist { Id = 2, Name = "Stefan The Rösch", Image = "some-image", Video = "some-video", CategoryId = 4, CountryId = 7, Email = "*****@*****.**", }; var sqls = new List<string> { "SET FOREIGN_KEY_CHECKS=0", "DELETE FROM `artist`", "INSERT INTO `artist` VALUES (1, 'Christoph The Wurst', 'some-image', 'some-video', 3, 15, '*****@*****.**', 0)", "INSERT INTO `artist` VALUES (2, 'Stefan The Rösch', 'some-image', 'some-video', 4, 7, '*****@*****.**', 0)" }; runDbCommands(db, sqls); }
private static void TestArtist(IDatabase db, DALFactory dalFactory) { Console.WriteLine("*************************************"); Console.WriteLine("ARTIST TEST"); IArtistDAO artistDAO = dalFactory.CreateArtistDAO(db); Console.WriteLine("\nAll artists:"); foreach (var artist in artistDAO.GetAll()) { Console.WriteLine(artist); } Console.WriteLine("\nArtist with ID=1:"); Console.WriteLine(artistDAO.GetById(1)); Artist artist1 = new Artist() { Name = "Stefan the Rösch", CategoryId = 1, CountryId = 25 }; Artist newArtist = artistDAO.Create(artist1); Console.WriteLine("New Artist: " + newArtist); Console.WriteLine("Inserted Artist: " + artist1); artist1.Name = "Christoph the Wurst"; artistDAO.Update(artist1); Console.WriteLine("Updated artist: " + artist1); artistDAO.Delete(artist1); Console.WriteLine("\nArtist deleted"); }
public override Artist CreateArtist(Artist artist) { try { return dalFactory.CreateArtistDAO(db).Create(artist); } catch { throw new BusinessLogicException($"Could not create Artist {artist.Name}."); } }
public void TestCreate() { var newArtist = new Artist { Id = -1, Name = "Florian The Tremmel", Image = "the-image", Video = "the-video", CategoryId = 13, CountryId = 3, Email = "*****@*****.**" }; newArtist = dao.Create(newArtist); Assert.True(newArtist.Id != -1); Assert.True(dao.GetById(newArtist.Id).IsEqualTo(newArtist)); }
public override void DeleteArtist(Artist artist) { try { var aDao = dalFactory.CreateArtistDAO(db); var pDao = dalFactory.CreatePerformanceDAO(db); var dDao = dalFactory.CreateSpectacledayDAO(db); var dsDao = dalFactory.CreateSpectacledayTimeSlotDAO(db); var pArtist = pDao.GetForArtist(artist); var days = dDao.GetForPerformances(pArtist); var dSlot = dsDao.GetForPerformances(pArtist); List<int> dayIds = days.Where(d => d.Day >= DateTime.Now).Select(d => d.Id).ToList(); List<int> dSlotIds = dSlot.Where(ds => dayIds.Contains(ds.SpectacledayId)).Select(ds => ds.Id).ToList(); using (TransactionScope trans = new TransactionScope()) { aDao.Delete(artist); pArtist.ToList().ForEach(p => { if (dSlotIds.Contains(p.SpectacledayTimeSlot)) pDao.Delete(p); }); trans.Complete(); } } catch (EntityNotFoundException) { throw new BusinessLogicException($"Could not delete Artist {artist.Name}, Artist {artist.Name} not found."); } }
public void DeleteArtist(Artist artist) { bl.DeleteArtist(artist); }
public Artist CreateArtist(Artist artist) { return bl.CreateArtist(artist); }
public Artist UpdateArtist(Artist artist) { return bl.UpdateArtist(artist); }
public abstract Artist GetArtistById(Artist artist);
public override Artist GetArtistById(Artist artist) { return dalFactory.CreateArtistDAO(db).GetById(artist.Id); }
public Task<IEnumerable<Performance>> GetPerformancesForArtistAsync(Artist artist) { return Task.Run(() => GetPerformancesForArtist(artist)); }
public Artist Update(Artist artist) { DbCommand cmd = createUpdateCommand(artist.Id, artist.Name, artist.Image, artist.Video, artist.CategoryId, artist.CountryId, artist.Email); if (db.ExecuteNonQuery(cmd) != 1) { throw new EntityNotFoundException(); } return artist; }
private void InsertArtistsIntoCells(Venue venue, Row row) { try { int i = 0; foreach (var timeSlot in timeSlots) { i++; SpectacledayTimeSlot daySlot = spectacleDayTimeSlots.Where(s => s.TimeSlotId == timeSlot.Id).FirstOrDefault(); Performance performance = performances.Where(p => p.SpectacledayTimeSlot == daySlot.Id && p.VenueId == venue.Id).FirstOrDefault(); Artist currArtist = null; if (performance != null) { currArtist = artists.Where(a => a.Id == performance.ArtistId).FirstOrDefault(); } if (currArtist == null) { currArtist = new Artist() { Name = "" }; } row.Cells[i].AddParagraph(currArtist.Name); } } catch (Exception e) { throw new BusinessLogicException($"Could not create PDF-File table cell value for artist." + e.Message); } }
public IEnumerable<Performance> GetForArtist(Artist artist) { var result = new List<Performance>(); var cmd = CreateSelectForArtist(artist.Id); using (IDataReader reader = db.ExecuteReader(cmd)) { while (reader.Read()) { result.Add(CreatePerformanceFromReader(reader)); } return result; } }
public override IEnumerable<Performance> GetPerformancesForArtist(Artist artist) { return dalFactory.CreatePerformanceDAO(db).GetForArtist(artist); }
public abstract IEnumerable<Performance> GetPerformancesForArtist(Artist artist);
public abstract Artist UpdateArtist(Artist artist);
public abstract Artist CreateArtist(Artist artist);
public abstract void DeleteArtist(Artist artist);
public Task<Artist> UpdateArtistAsync(Artist artist) { return Task.Run(() => UpdateArtist(artist)); }
public Artist GetArtistById(Artist artist) { return bl.GetArtistById(artist); }
public void DeleteArtistAsync(Artist artist) { Task.Run(() => DeleteArtist(artist)); }
public List<Performance> GetPerformancesForArtist(Artist artist) { return bl.GetPerformancesForArtist(artist).ToList(); }
public Task<Artist> GetArtistByIdAsync(Artist artist) { return Task.Run(() => GetArtistById(artist)); }
public static bool IsEqualTo(this Artist a1, Artist a2) { return a1.Id == a2.Id && a1.Name == a2.Name && a1.Image == a2.Image && a1.Video == a2.Video && a1.CategoryId == a2.CategoryId && a1.CountryId == a2.CountryId && a1.Email == a2.Email; }