public void TraceStart(TraceInfo traceInfo)
        {
            if (!AreUserAndFunctionIsValid(traceInfo))
            {
                return;
            }

            List <string> connections = UserToConnectionMapper.GetConnectionIdsByUser(FCIdentity.UserId);

            Clients.Clients(connections).traceStart(traceInfo.Parameters[0].ToString());
        }
        public void TraceException(TraceInfo traceInfo, Exception exception, TimeSpan duration)
        {
            if (!AreUserAndFunctionIsValid(traceInfo))
            {
                return;
            }

            List <string> connections       = UserToConnectionMapper.GetConnectionIdsByUser(FCIdentity.UserId);
            dynamic       clientsEntryPoint = Clients.Clients(connections);

            clientsEntryPoint.traceError(traceInfo.Parameters[0].ToString(), exception.Message, duration.TotalMilliseconds);
        }
        public void UpdatePortfolio()
        {
            if (AreUserAndFunctionIsValid())
            {
                OptionsPlayFCUserIdentity identity = FCIdentity;

                List <BasePortfolioItemGroupViewModel> result =
                    _portfolioOrchestrator.GetPortfolioData(
                        identity.CustomerCode,
                        identity.CustomerAccountCode,
                        identity.TradeAccount);

                List <string> connections = UserToConnectionMapper.GetConnectionIdsByUser(identity.UserId);
                Clients.Clients(connections).updatePortfolio(result);
            }
        }
        private bool AreUserAndFunctionIsValid(TraceInfo trace)
        {
            if (trace.MethodName == null || !trace.MethodName.Contains(TraceFunction))
            {
                return(false);
            }

            bool result;

            if (FCIdentity == null)
            {
                result = false;
            }
            else
            {
                List <string> connections = UserToConnectionMapper.GetConnectionIdsByUser(FCIdentity.UserId);
                result = connections != null;
            }
            return(result);
        }
        public void TraceFinish(TraceInfo traceInfo, object result, TimeSpan duration)
        {
            if (!AreUserAndFunctionIsValid(traceInfo))
            {
                return;
            }

            List <string> connections       = UserToConnectionMapper.GetConnectionIdsByUser(FCIdentity.UserId);
            dynamic       clientsEntryPoint = Clients.Clients(connections);

            EntityResponse er = (EntityResponse)result;

            if (er.IsSuccess)
            {
                clientsEntryPoint.traceResult(traceInfo.Parameters[0].ToString(), duration.TotalMilliseconds);
            }
            else
            {
                clientsEntryPoint.traceError(traceInfo.Parameters[0].ToString(), er.FormattedMessage, duration.TotalMilliseconds);
            }
        }
Exemple #6
0
 public override Task OnReconnected()
 {
     UserToConnectionMapper.Connect(Context.ConnectionId, UserId);
     return(base.OnReconnected());
 }
Exemple #7
0
 public override Task OnDisconnected(bool stopCalled)
 {
     UserToConnectionMapper.Disconnect(Context.ConnectionId);
     return(base.OnDisconnected(stopCalled));
 }