示例#1
0
        private void ChangeContractRate(object sender, ChangeRateEventArgs e)
        {
            Rate rateForChange = null;
            int  index         = 0;

            foreach (var rate in _rateTypes)
            {
                if (rate.Name == e.Rate || rate.Name.ToLower() == e.Rate || index.ToString() == e.Rate)
                {
                    rateForChange = rate;
                }
                index++;
            }
            if (rateForChange != null)
            {
                var contract = _contracts.Keys.Where(x => x.Number == e.OutgoingPhoneNumber).First();

                if (((DateTime.Now.Month - contract.RateChangeDate.Month) + 12 * (DateTime.Now.Month - contract.RateChangeDate.Year)) > 1)
                {
                    _contracts.Keys.Where(x => x.Number == e.OutgoingPhoneNumber).First().RateChange(rateForChange);
                }
                else if (sender is Port)
                {
                    (sender as Port).MessageToTerminal("Less than a month since the last tariff change");
                }
            }
            else if (sender is Port)
            {
                (sender as Port).MessageToTerminal("This rate doesn't exist");
            }
        }
示例#2
0
 public void ChangeRateFromTerminal(object sender, ChangeRateEventArgs e)
 {
     OnChangeRateConnectEvent(e.Rate, e.OutgoingPhoneNumber);
 }