Exemple #1
0
        private void OnEnd(object sender, EventArgs e)
        {
            var caller = _terminalService.FindTerminalByNumber((sender as Terminal).Connection.From);
            var info   = _callService.GetCallInfo(caller.Connection);

            info.Duration  = TimeSpan.ParseExact($"{DateTime.Now - info.DateTimeStart:mm\\:ss}", "m\\:s", null);
            info.CallState = CallState.Outgoing;
            _callService.SaveCall(caller, info);
            var      answerer = _terminalService.FindTerminalByNumber(caller.Connection.To);
            CallInfo info1    = _callService.Copy(info);

            info1.CallState = CallState.Incoming;
            _callService.SaveCall(answerer, info1);
            _callService.RemoveCall(info);
            _portService.ChangeState(caller.Port, PortState.ConnectedTerminal);
            _portService.ChangeState(answerer.Port, PortState.ConnectedTerminal);
        }