Exemple #1
0
        public bool ChangeTarrif(ITarif newTarrif)
        {
            if (Tarif == newTarrif)
            {
                return(true);
            }

            var curDate = DateTime.Now;

            if (Statistics.LastDatePayment + PaymentPeriod >= curDate)
            {
                Tarif = newTarrif;
                Statistics.LastChangePlan = curDate;
                return(true);
            }
            return(false);
        }
Exemple #2
0
        public Account(IContract contract, ITarif tarif, TimeSpan tarifChangePeriod, TimeSpan paymentPeriod)
        {
            if (contract == null)
            {
                throw new ArgumentNullException(nameof(contract));
            }
            if (tarif == null)
            {
                throw new ArgumentNullException(nameof(tarif));
            }

            Contract = contract;
            Client   = Contract.Client;

            Statistics = new Statistics()
            {
                LastDatePayment = Contract.AcceptedDate,
                LastChangePlan  = Contract.AcceptedDate
            };

            Tarif             = tarif;
            TarifChangePeriod = tarifChangePeriod;
            PaymentPeriod     = paymentPeriod;
        }