示例#1
0
        /// <summary>
        /// Запуск ответа на звонок из браузера
        /// </summary>
        /// <param name="callId">ID звонка</param>
        /// <returns>status code</returns>
        public ResponseHelper Answer(string callId)
        {
            ResponseHelper response = new ResponseHelper();

            try
            {
                Guid        connectionId = new Guid(Context.ConnectionId);
                SignalRUser user         = connectionsList.Find(x => x.ConnectionId.Contains(connectionId));
                CrmHelper   crm          = new CrmHelper();
                response = crm.SetAttrsAnswer(callId);
                if (!response.IsError)
                {
                    response = crm.CreateIncident(callId);
                    Guid[]   connectionsIds         = user.ConnectionId.ToArray();
                    string[] connectionsIdsToString = Array.ConvertAll(connectionsIds, x => x.ToString());
                    var      context = GlobalHost.ConnectionManager.GetHubContext <CrmHub>();
                    context.Clients.Clients(connectionsIdsToString).SuccessAnswer(response.TransferParam);
                }
            } catch (Exception e)
            {
                response.IsError      = true;
                response.ErrorMessage = e.Message;
                response.Code         = 500;
                return(response);
            }
            return(response);
        }