/*
    Veidoja: Artūrs Peškovs
    Grupa: 110
    Praktiskais darbs: 6.3
    Izmantotais Compiler: Visual Studio Code  Version: 1.106.2
*/

using System;

public class PR6_3
{
    static int[][] vietas = new int[][]
        {
            new int[] { 0, 0, 0, 0, 0 },    // 1. rinda (5 vietas)
            new int[] { 0, 0, 0, 0, 0, 0, 0 }, // 2. rinda (7 vietas)
            new int[] { 0, 0, 0, 0 }       // 3. rinda (4 vietas)
        };
    static List<string> saraksts = new List<string>(); // uzrade vai vietas aiznemtas
    public static void Paradit_Zali()
    {
        for(int i = 0; i < vietas.Length; i++) //visi elementi, 3 masivi
        {
            for(int j = 0; j < vietas[i].Length; j++) // visi elementi masiva, 1 masiva 5 elementi
            {
                if(vietas[i][j] == 0)
                {
                    Console.Write($" O "); 
                }
                else if(vietas[i][j] == 1)
                {
                    Console.Write($" X "); 
                }
            }
            Console.WriteLine();
        }
    }
    public static bool Rezervet_Vietu()
    {
        Console.WriteLine("Ievadi rindas numuru ");
        int rindas_num = Convert.ToInt32(Console.ReadLine()); // rinda
        Console.WriteLine("Ievadi vietas numuru ");
        int vietas_num = Convert.ToInt32(Console.ReadLine()); // vieta

        if (rindas_num < 0 || rindas_num >= vietas.Length) // vai ir tada rinda
        {
            Console.WriteLine("Tadas rindas nav");
            return false;
        }

        if (vietas_num < 0 || vietas_num >= vietas[rindas_num].Length)// vai ir tada vieta
        {
            Console.WriteLine("Saja rinda nav tadas vietas");
            return false;
        }

        if(vietas[rindas_num][vietas_num] == 0)
        {
            vietas[rindas_num][vietas_num] = 1;
            saraksts.Add($"Rinda {rindas_num}, Vieta {vietas_num}");
            Console.WriteLine("Rezervacija izdevas! ");
        }
        else if(vietas[rindas_num][vietas_num] == 1)
        {
            Console.WriteLine("Vieta jau aiznemta! ");
        } 
        return true;
    }
    public static void Apstradat_Izveli()
    {
        bool parbaude = true;
        do
        {
            Console.WriteLine("Ievadi ciparu: ");
            Console.WriteLine("1 – Parādīt zāli, 2 – Rezervēt vietu, 3 – Parādīt rezervāciju sarakstu, 4 – Iziet");
            int izvele = Convert.ToInt32(Console.ReadLine());

            switch (izvele) 
            {
            case 1:
                Paradit_Zali(); // Parada zali
                break;
            case 2:
                Rezervet_Vietu(); //Rezervēt vietu
                break;
            case 3:
                Console.WriteLine("Parādīt rezervāciju sarakstu");
                foreach (string s in saraksts)
                        Console.WriteLine(s);
                    Console.WriteLine();
                break;
            case 4:
                Console.WriteLine("Iziet");
                parbaude = false;
                break;
            default:
                Console.WriteLine("Ievadi tikai ciparu (1-4)! ");
                break;
            }
        }
        while(parbaude == true);
    }
    
    public static void Main(string[] args)
    {
        Apstradat_Izveli();
    }
}