public bool Connect(Terminal terminal) { if (State == PortState.Disconnect) { State = PortState.Connect; terminal.CallEvent += CallingTo; terminal.AnswerEvent += AnswerTo; terminal.EndCallEvent += EndCall; Flag = true; } return Flag; }
public bool Disconnect(Terminal terminal) { if(State == PortState.Connect) { State = PortState.Disconnect; terminal.CallEvent -= CallingTo; terminal.AnswerEvent -= AnswerTo; terminal.EndCallEvent -= EndCall; Flag = false; } return false; }
public Terminal GetNewTerminal(IContract contract) { var newPort = new Port(); newPort.AnswerEvent += CallingTo; newPort.CallEvent += CallingTo; newPort.EndCallEvent += CallingTo; _usersData.Add(contract.Number, new Tuple<Port, IContract>(newPort, contract)); var newTerminal = new Terminal(contract.Number, newPort); return newTerminal; }