public bool CheckPostponeIsPossible(int performanceId, DateTime date, int venueId) { IPerformanceDao dao = DALFactory.CreatePerformanceDao(database); IVenueDao venueDao = DALFactory.CreateVenueDao(database); Performance toPostpone = dao.findById(performanceId); IList <Performance> otherPerformances = dao.FindPerormanceByDay(date); bool foundConflict = false; foreach (Performance p in otherPerformances) { if (p.Id == toPostpone.Id) { continue; } DateTime postPoneDate = new DateTime(date.Year, date.Month, date.Day, date.Hour, 0, 0); DateTime currentDate = new DateTime(p.StagingTime.Year, p.StagingTime.Month, p.StagingTime.Day, p.StagingTime.Hour, 0, 0); if (toPostpone.Artist.Id == p.Artist.Id) { if (postPoneDate >= currentDate.AddHours(-2) && postPoneDate <= currentDate.AddHours(2)) { foundConflict = true; break; } } if (p.Venue.Id == venueId && postPoneDate == currentDate) { foundConflict = true; break; } } return(!foundConflict); }
private static void CreatePerformances() { Console.WriteLine("Insert Performances "); IVenueDao venueDao = DALFactory.CreateVenueDao(DALFactory.CreateDatabase()); IPerformanceDao performanceDao = DALFactory.CreatePerformanceDao(DALFactory.CreateDatabase()); IArtistDao artistDao = DALFactory.CreateArtistDao(DALFactory.CreateDatabase()); int year = 2016; int month = 01; int day = 23; for (int i = 0; i < 3; i++) { int count = 1; int hour = 14; int min = 00; int second = 00; for (int j = 1; j <= 40; j++) { count++; if (count == 10) { hour = hour + 2; count = 1; } DateTime dt = new DateTime(year, month, day, hour, min, second); Venue venue = venueDao.findById(j); Artist artist = artistDao.findById(j); Performance p = new Performance(); p.Artist = artist; p.Venue = venue; p.StagingTime = dt; performanceDao.Insert(p); } day++; } }
public bool DeletePerformancesByDay(DateTime day) { IPerformanceDao dao = DALFactory.CreatePerformanceDao(database); return(dao.DeletePerformancesByDay(day)); }
private bool canDeleteVenue(Venue venue) { IPerformanceDao dao = DALFactory.CreatePerformanceDao(database); return(dao.findByProperty(typeof(Performance).GetProperty("Venue"), venue).Count <= 0); }
public IList <Performance> QueryPerformances() { IPerformanceDao dao = DALFactory.CreatePerformanceDao(database); return(dao.findAll()); }
public IList <Performance> QueryPerfomancesByDay(DateTime day) { IPerformanceDao dao = DALFactory.CreatePerformanceDao(database); return(dao.FindPerormanceByDay(day)); }
public IList <Performance> QueryPerformancesByVenueAndDay(Venue venue, DateTime day) { IPerformanceDao dao = DALFactory.CreatePerformanceDao(database); return(dao.FindPerformanceForVenueByDay(venue, day)); }