Ejemplo n.º 1
0
        private byte CheckAndReturnPosition(TableElement element)
        {
            byte input;

            if (element == TableElement.row)
            {
                do
                {
                    input = IO_Handler.EnterByte("Please, enter the number of rows: ");
                    if (input < 1 || input > OwnerAuditorium.Rows)
                    {
                        IO_Handler.ErrorMessage($"Invalid input. Pick from range [1-{OwnerAuditorium.Rows}]");
                    }
                } while (input < 1 || input > OwnerAuditorium.Rows);
            }
            else if (element == TableElement.column)
            {
                do
                {
                    input = IO_Handler.EnterByte("Please, enter the number of columns: ");
                    if (input < 1 || input > OwnerAuditorium.Columns)
                    {
                        IO_Handler.ErrorMessage($"Invalid input. Pick from range [1-{OwnerAuditorium.Columns}]");
                    }
                } while (input < 1 || input > OwnerAuditorium.Columns);
            }
            else
            {
                throw new InvalidOperationException("There's no such TableElement! Where the hell did you get that from???");
            }
            return((byte)(input - 1));
        }
Ejemplo n.º 2
0
        //In Main:
        void NewCinemaMenu()
        {
            MenuTitle newCinemaMenu = "New Cinema Menu";

            MenuItem[] newCinemaMenuItems = { };
            ShowMenu(newCinemaMenu, newCinemaMenuItems);
            string cinemaName = IO_Handler.EnterString("Please, enter the name of the new cinema: ");

            if (ObjectContainer.CDB.Contains(ObjectContainer.CDB.Find(i => i.Name == cinemaName.ToUpper())))
            {
                throw new Exception("This Cinema has already exists!");
            }
            byte auditoriumCount = IO_Handler.EnterByte("Please, enter the number of auditoriums: ");

            new Cinema(cinemaName, auditoriumCount);
            CinemasMenuMethods[cinemaCounter++] = InCinemaMenu;
            IO_Handler.SuccessMessage($"New Cinema: \"{cinemaName}\" has been created with {auditoriumCount} Auditorium{(auditoriumCount>1?"s":"")} in it.");
            Thread.Sleep(sleepTime);
        }
Ejemplo n.º 3
0
        public Auditorium FindAuditorium()
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
#endif
            #endregion
            byte audNo = IO_Handler.EnterByte("Enter the #No. of the Auditorium you are looking for: ");

            if (OwnAuditoriums.Count < 1)
            {
                throw new ArgumentOutOfRangeException($"There hasn't been any Auditoriums created yet in this Cinema: {Name}");
            }
            else if (audNo <= OwnAuditoriums.Count)
            {
                return(TryToReturn(audNo));
            }
            else
            {
                throw new ArgumentOutOfRangeException($"You have entered a too large value.\n" +
                                                      $"Please, select within the range of [ 1 - {OwnAuditoriums.Count} ]");
            }
        }
Ejemplo n.º 4
0
        private void InitAuditoriums(byte NumberOfAuditoriums)
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
#endif
            #endregion
            byte rows;
            byte cols;
            byte id;
            for (int indexer = 0; indexer < NumberOfAuditoriums; indexer++)
            {
                id = (byte)(indexer + 1);
                do
                {
                    rows = IO_Handler.EnterByte($"Number of rows for Auditorium #No.{id}: ");
                } while (rows < 1);
                do
                {
                    cols = IO_Handler.EnterByte($"Number of columns for Auditorium #No.{id}: ");
                } while (cols < 1);
                OwnAuditoriums.Add(id, new Auditorium(id, this, rows, cols));
            }
        }
Ejemplo n.º 5
0
        public void AddNewProjection()
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
#endif
            #endregion
            if (OwnProjections.Count < 5)
            {
                string movieName = IO_Handler.EnterString($"{OwnerCinema}/{this}:\n" +
                                                          $"Enter the name of the movie beeing projected: ").ToUpper();
                if (OwnProjections.ContainsKey(movieName))
                {
                    throw new OperationCanceledException("Operation canceled: This movie has already beeing projected here!");
                }
                byte  movieLength  = IO_Handler.EnterByte("Enter the length of this movie in minutes: ");
                Movie currentMovie = new Movie(movieName, movieLength);
                TestAndCreate(currentMovie);
            }
            else
            {
                IO_Handler.ErrorMessage("Projection Limit Reached");
            }
        }