/*
Veidoja: Fedosova Elizaveta
Grupa: 110
Praktiskais darbs 7.1
Izmantotais Compiler: www.onlinegdb.com
*/

using System;
using System.Collections.Generic;
using System.Linq;

namespace PR7
{
class Program 
{
    static List<double> izejasDati = new List<double> ();
    static List<double> dati = new List<double> ();
    
    static bool IevadietIzdevumus()
    {
        Console.WriteLine("Ievadiet izdevumu summas decimālskaitļos ('gals', lai beigt): ");
        //bool beigt = false ; to nevajag, jo metode ir tapat bool
        
        while (true)
        {
            string iev = Console.ReadLine();
            
            if (iev == "gals")
            {
                return true;
            }
            
            double izd = Convert.ToDouble(iev);
            izejasDati.Add(izd);
            //return false ; šito ari nevajag
        }
        //return false;
    }
    static void FiltretIzdevumus()
    {
        Console.WriteLine("Ievadiet minimalo izdevumu slieksni: ");
        double slieksnis = Convert.ToDouble(Console.ReadLine());
        
        Console.WriteLine("Filtrētais saraksts: ");
        
        foreach (double elem in izejasDati)
        {
            if (elem < slieksnis)
            {
                continue;
            }
            
            else
            {
                dati.Add(elem);
                Console.WriteLine(elem);
            }
        }
    }
    
    static void AprekinatMainibu()
    {
        double max = izejasDati.Max();
        double min = izejasDati.Min();
        double range = Math.Abs(max) - Math.Abs(min);
        Console.WriteLine($"Mainība ir {range}");
    }
    
    static void Main() 
    {
        Console.WriteLine("Mēneša budžeta analīze un filtri");
        Console.WriteLine();
        
        bool iziet = false;

        while (!iziet){
        
            Console.WriteLine("Ievadiet vēlamo darbību!");
            Console.WriteLine("Ievadīt izdevumus - '1'");
            Console.WriteLine("Filtrēt izdevumus - '2'");
            Console.WriteLine("Aprēķināt mainību - '3'");
            Console.WriteLine("Iziet - '4'");
            int darb = Convert.ToInt32(Console.ReadLine());
            
            switch(darb)
            {
                case 1:
                IevadietIzdevumus();
                break;
                case 2:
                FiltretIzdevumus();
                break;
                case 3:
                AprekinatMainibu();
                break;
                case 4:
                iziet = true;
                break;
                default:
                Console.WriteLine("Nepareiza komanda!");
                break;
            }
        }
    }
}
}