using System;

namespace AsystentZakupówUA.Model
{
    public class SumowanieKwot
    {
        public decimal Limit { get; private set; }
        public decimal Suma { get; private set; }

        public static SumowanieKwot BieżącaInstanja { get; private set; }// = null;

        public SumowanieKwot(decimal limit, decimal suma = 0)
        {
            this.Limit = limit;
            this.Suma = suma;
            BieżącaInstanja = this;
        }

        public void Dodaj(decimal kwota)
        {
            if (!CzyKwotaJestPoprawna(kwota))
                throw new ArgumentOutOfRangeException("Kwota zbyt duża lub ujemna");
            Suma += kwota;
        }

        public bool CzyKwotaJestPoprawna(decimal kwota)
        {
            bool czyDodatnia = kwota > 0;
            bool czyPrzekroczyLimit = Suma + kwota > Limit;
            return czyDodatnia && !czyPrzekroczyLimit;
        }
    }
}
