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)); }
//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); }
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} ]"); } }
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)); } }
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"); } }