using System; using System.IO; using System.Collections.Generic;


namespace lab1 {

   public class Tabl
   {
       public int id,kol,summa;
   }
   public class Room
   {
       public int id;
       public string name;
       public int number;
       public int kol;
       public DateTime output;
       public DateTime input;
   }
   public class WorRoom
   {
       public int global_summa = 0;
       public int global_id = 0;
       public List<Room> Rooms = new List<Room>();
       public List<Room> GetRoom()
       {
           return Rooms;
       }
       public void AddRooms(Room nomer)
       {
           global_id++;
           nomer.id = global_id;
           Rooms.Add(nomer);
       }
       public void DelRoom(int id)
       {
           Rooms.Remove(Rooms.Find(e => e.id.Equals(id)));
       }
   }


   class Program
   {
       static List<Tabl> fread()
       {
           List<Tabl> Dann = new List<Tabl>(); ;            
           FileStream file = new FileStream("H:\\irs\\a_console\\1.txt", FileMode.Open, FileAccess.Read);
           StreamReader sr = new StreamReader(file);
           int k = 1, i = 0;
           while (sr.Peek() >= 0)
           {
               Tabl pr = new Tabl();
               string[] strSplit = sr.ReadLine().Split(' ');
               if (strSplit != null)
               {
                   foreach (string str in strSplit)
                   {
                       int result;
                       if (Int32.TryParse(str, out result))
                       {
                           if (k == 3)
                           {
                               pr.summa = result;
                               Dann.Add(pr);
                               k = 1;                               
                           }
                           else
                           {
                               if (k == 1)
                               {
                                   pr.id = result;
                                   k = 2;
                               }
                               else
                               {
                                   if (k == 2)
                                   {
                                       pr.kol = result;
                                       k = 3;
                                   }
                               }
                           }
                       }
                       else
                           Console.WriteLine("Неверный формат ИД");
                   }
               }
           }
           return Dann;
       }
       static void Main(string[] args)
       {
           List<Tabl> Dann=fread();          
           WorRoom workRoom = new WorRoom();
           int global_id = 0;
           string action = "0";
           Console.WriteLine("Добрый день! Добро пожаловать!");
           while (action != "5")
           {
               Console.WriteLine(
                   "Что вы хотите сдаелать?:\n" +
                   "1 - Забронировать номер\n" +
                   "2 - Просмотреть количество свободных номеров\n" +
                   "3 - Снять бронь\n" +
                   "4 - Просмотреть выручку\n" +
                   "5 - Выход\n"
                   );
               action = Console.ReadLine();
               if (action == "1")
               {
                   bool t = true;
                   while (t)
                   {
                       Room nomer = new Room();
                       Console.WriteLine("Введите ФИО");
                       nomer.name = Console.ReadLine();
                       Console.WriteLine("Введите желаемый номер");
                       nomer.number = Convert.ToInt32(Console.ReadLine());
                       Console.WriteLine("Количество человек");
                       nomer.kol = Convert.ToInt32(Console.ReadLine());
                       Console.WriteLine("Дата заезда");                    
                       nomer.input = Convert.ToDateTime(Console.ReadLine());
                       Console.WriteLine("Дата выезда");
                       nomer.output = Convert.ToDateTime(Console.ReadLine());
                       workRoom.AddRooms(nomer);                    
                       foreach (Tabl prr  in Dann)
                       {                            
                           if (prr.id==nomer.number){
                               if(prr.kol>=nomer.kol){
                                   Console.WriteLine("Стоить будет: "+ nomer.kol*prr.summa);
                                   workRoom.global_summa += nomer.kol * prr.summa;
                                   t=false;
                               }
                           }
                       }
                   if (t){
                       Console.WriteLine("Вы вели не правильные данные, у нас нету желаемого номера");    
                   }else{
                   Console.WriteLine("Номер забронирован!");                                       
                   }
               }
               }
               else if (action == "2")
               {
                   Console.Clear();
                   List<Room> spisok = workRoom.GetRoom();
                   if (spisok.Count > 0)
                   {
                       int kol = 0;
                       foreach (Room Room in spisok)
                       {
                           kol++;
                           Console.WriteLine("№" + Room.id + " : " + Room.name + " \n");
                       }
                       Console.WriteLine("Свободных номеров: ");
                       Console.WriteLine(10 - kol);
                   }
                   else
                   {
                       Console.WriteLine("Свободных мест нет!\n");
                   }
               }
               else if (action == "3")
               {
                   Console.WriteLine("Снять бронирование номера?");
                   string id = Console.ReadLine();
                   workRoom.DelRoom(Convert.ToInt32(id));
               }
               else if (action == "4")
               {
                   Console.WriteLine("Выручка равна = " + workRoom.global_summa);
               }
           }
           Console.WriteLine("До свидания!");
           Console.ReadLine();            
       }
   }

}