protected virtual void PortOnPortDisabled(object sender, EventArgs e) { var port = sender as Port; if (EnabledPorts.Contains(port)) { EnabledPorts.Remove(port); DisabledPorts.Add(port); } else if (ActivePorts.ContainsKey(port)) { ActivePorts.Remove(port); DisabledPorts.Add(port); } }
public Port CreatePort() { var randomNumber = new Random(); var number = randomNumber.Next(111111, 999999); while (IsDisableListContainsCalledNumber(number)) { number = randomNumber.Next(111111, 999999); } var port = new Port(number, this); DisabledPorts.Add(port); SubscribeOnAllPortEvents(port); return(port); }
protected virtual void PortOnPortStateSetToActive(object sender, CallEventArgs phoneNumberArgs) { var port = sender as Port; if (DisabledPorts.Contains(port)) { DisabledPorts.Remove(port); ActivePorts.Add(port, phoneNumberArgs.number); } if (EnabledPorts.Contains(port)) { EnabledPorts.Remove(port); ActivePorts.Add(port, phoneNumberArgs.number); } CheckActivePortCalledNumber(port, phoneNumberArgs.number); }
private bool IsDisableListContainsCalledNumber(int number) { return(DisabledPorts.Any(port => port.Number == number)); }