public void EndCall() { if (ATS.GetStation().Ports.FirstOrDefault(x => x.PhoneNumber == Number).Mode == Enums.Mode.Busy) { EndCallEvent?.Invoke(this, null); } }
public void Answered(object o, EventArgs e) { Terminal.ToAnswerCall -= Answered; Terminal.ToRejectCall -= Rejected; Terminal.ToNoAnswerCall -= NoAnswered; Mode = Enums.Mode.Busy; AnswerEvent?.Invoke(this, null); Terminal.EndCallEvent += EndCallOnPort; ATS.GetStation().EndCallEvent += EndCallOnPort; }
public void OutCallRejected(object o, CallEventArgs e) { if (e.InPhoneNumber == PhoneNumber) { Mode = Enums.Mode.Free; ATS.GetStation().TerminalAnswered -= OutCallAnswered; ATS.GetStation().TerminalNoAnswered -= OutCallNoAnswered; ATS.GetStation().TerminalRejected -= OutCallRejected; Console.WriteLine("Call rejected"); } }
public void OutCallAnswered(object o, CallEventArgs e) { if (e.InPhoneNumber == PhoneNumber) { Mode = Enums.Mode.Busy; ATS.GetStation().TerminalAnswered -= OutCallAnswered; ATS.GetStation().TerminalNoAnswered -= OutCallNoAnswered; ATS.GetStation().TerminalRejected -= OutCallRejected; ATS.GetStation().EndCallEvent += EndCallOnPort; Console.WriteLine("Call are accepted"); Terminal.EndCallEvent += EndCallOnPort; } }