示例#1
0
 private void FilmsCopy(TmpData tmpData)
 {
     foreach (FilmData films in tmpData.FilmDatas)
     {
         FilmTmp.Add(films);
     }
 }
示例#2
0
 public void CreateSchedule()
 {
     for (int i = 0; i < Halls.Count; i++)
     {
         TmpData tmpData = new TmpData(new List <FilmData>(), Halls[i].AllTimeWorkInMinutes);
         CreateGraph(Halls[i], tmpData);
     }
 }
示例#3
0
        private void  WriteInHall(Hall hall, TmpData tmpData)
        {
            bool isLast = CheckLastElement(tmpData);

            if (isLast)
            {
                Write(hall, tmpData);
            }
        }
示例#4
0
        private bool CheckLastElement(TmpData tmpData)
        {
            bool isLast = true;

            foreach (FilmData film in Films)
            {
                if (film.Time <= tmpData.Times)
                {
                    isLast = false;
                }
            }
            return(isLast);
        }
示例#5
0
 private void CreateGraph(Hall hall, TmpData tmpData)
 {
     foreach (FilmData film in Films)
     {
         if (film.Time <= tmpData.Times)
         {
             FilmTmp.Clear();
             if (tmpData.FilmDatas != null)
             {
                 FilmsCopy(tmpData);
             }
             FilmTmp.Add(film);
             TmpData DataTmp = new TmpData(FilmTmp, tmpData.Times - film.Time);
             CreateGraph(hall, DataTmp);
         }
     }
     WriteInHall(hall, tmpData);
 }
示例#6
0
 private void Write(Hall hall, TmpData tmpData)
 {
     hall.SetFilms = tmpData.FilmDatas;
     tmpData.FilmDatas.Clear();
     hall.AllFreeTime.Add(tmpData.Times);
 }