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"); } }
public void ChangeRateFromTerminal(object sender, ChangeRateEventArgs e) { OnChangeRateConnectEvent(e.Rate, e.OutgoingPhoneNumber); }