Example #1
0
        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);
        }
Example #5
0
        public IList <Performance> QueryPerformances()
        {
            IPerformanceDao dao = DALFactory.CreatePerformanceDao(database);

            return(dao.findAll());
        }
Example #6
0
        public IList <Performance> QueryPerfomancesByDay(DateTime day)
        {
            IPerformanceDao dao = DALFactory.CreatePerformanceDao(database);

            return(dao.FindPerormanceByDay(day));
        }
Example #7
0
        public IList <Performance> QueryPerformancesByVenueAndDay(Venue venue, DateTime day)
        {
            IPerformanceDao dao = DALFactory.CreatePerformanceDao(database);

            return(dao.FindPerformanceForVenueByDay(venue, day));
        }