public async Task GetSistemaQuery_Handle()
    {
        // Arrange
        IUnitOfWork unitOfWork = DbContextHelper.GetContext();
        IMapper     mapper     = AutoMapperHelper.GetMappings();

        Mock <IEventHandler> mockServiceBus           = ServiceBusHelper.GetInstance();
        Mock <IHubContext <CpnucleoHub> > mockSignalR = SignalRHelper.GetInstance();

        Guid sistemaId = Guid.NewGuid();

        await unitOfWork.SistemaRepository.AddAsync(MockEntityHelper.GetNewSistema(sistemaId));

        await unitOfWork.SaveChangesAsync();

        GetSistemaQuery request = new()
        {
            Id = sistemaId
        };

        // Act
        SistemaHandler   handler  = new(unitOfWork, mapper, mockServiceBus.Object, mockSignalR.Object);
        SistemaViewModel response = await handler.Handle(request, CancellationToken.None);

        // Assert
        Assert.True(response != null);
        Assert.True(response.Id != Guid.Empty);
        Assert.True(response.DataInclusao.Ticks != 0);
    }
    public async Task ListSistemaQuery_Handle()
    {
        // Arrange
        IUnitOfWork unitOfWork = DbContextHelper.GetContext();
        IMapper     mapper     = AutoMapperHelper.GetMappings();

        Mock <IEventHandler> mockServiceBus           = ServiceBusHelper.GetInstance();
        Mock <IHubContext <CpnucleoHub> > mockSignalR = SignalRHelper.GetInstance();

        Guid sistemaId = Guid.NewGuid();

        await unitOfWork.SistemaRepository.AddAsync(MockEntityHelper.GetNewSistema(sistemaId));

        await unitOfWork.SistemaRepository.AddAsync(MockEntityHelper.GetNewSistema());

        await unitOfWork.SistemaRepository.AddAsync(MockEntityHelper.GetNewSistema());

        await unitOfWork.SaveChangesAsync();

        ListSistemaQuery request = new();

        // Act
        SistemaHandler handler = new(unitOfWork, mapper, mockServiceBus.Object, mockSignalR.Object);
        IEnumerable <SistemaViewModel> response = await handler.Handle(request, CancellationToken.None);

        // Assert
        Assert.True(response != null);
        Assert.True(response.Any());
        Assert.True(response.FirstOrDefault(x => x.Id == sistemaId) != null);
    }
Exemplo n.º 3
0
        public HttpResponseMessage Wait()
        {
            try
            {
                LogQueryString("Wait");

                if (Convert.ToInt32(GetQueryParam("QueueTime")) == 0)
                {
                    ApiHelper.SaveOrUpdateCallHistory(GetQueryParam("CallSid"), GetQueryParam("CallSid"), queueDate: DateTime.UtcNow);
                    var to = GetQueryParam("RedirectTo");
                    if (string.IsNullOrEmpty(to))
                    {
                        SignalRHelper.Enqueue(GetQueryParam("CallSid"));
                    }
                    else
                    {
                        SignalRHelper.Incoming(GetQueryParam("CallSid"), to);
                    }
                }

                return(GetHttpResponse(TwilioResponseHelper.Wait(GetQueryParam("QueueSid"), GetQueryParam("QueueTime"), GetQueryParam("CurrentQueueSize"))));
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }
Exemplo n.º 4
0
        public async Task Fetch_Single_Game_Test()
        {
            // Arrange
            var expected       = typeof(OkObjectResult);
            var expectedGameID = "abc";

            _gamesHandlerStub.SingleGame = new MyChessGame()
            {
                ID = "abc"
            };

            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim("http://schemas.microsoft.com/identity/claims/scope", "Games.ReadWrite"));
            _securityValidatorStub.ClaimsPrincipal = new ClaimsPrincipal(identity);

            var req = HttpRequestHelper.Create("GET", query: new Dictionary <string, Microsoft.Extensions.Primitives.StringValues>()
            {
                { "state", "Archive" }
            });

            // Act
            var actual = await _gamesFunction.Run(req, SignalRHelper.Create(), "abc");

            // Assert
            Assert.IsType(expected, actual);
            var body       = actual as OkObjectResult;
            var actualGame = body?.Value as MyChessGame;

            Assert.Equal(expectedGameID, actualGame?.ID);
        }
 private void Compiler_SendToLog(object sender, Debugger.Core.Models.CompilerLogEventArgs e)
 {
     if (Session["ConnectionId"] != null && !String.IsNullOrEmpty(e.Message))
     {
         SignalRHelper.LogEventMessage(Session["ConnectionId"].ToString(), e.Message);
     }
 }
Exemplo n.º 6
0
        public HttpResponseMessage Dial()
        {
            try
            {
                LogQueryString("Dial");

                ApiHelper.UploadRecord(GetQueryParam("DialCallSid"), GetQueryParam("CallSid"), GetQueryParam("RecordingUrl"));
                ApiHelper.SaveOrUpdateCallHistory(GetQueryParam("DialCallSid"), GetQueryParam("CallSid"), endDialDate: DateTime.UtcNow, recordUrl: GetQueryParam("RecordingUrl"), recordDuration: GetQueryParam("RecordingDuration"));

                if (!Settings.Pause)
                {
                    SignalRHelper.ChangeAgentStatus((int)AgentStatus.Online);
                }

                SignalRHelper.End();

                Task.Run(() => new ApiHelper(GetQueryParam("Tenant"), GetQueryParam("CallerId")).SavePrice(GetQueryParam("DialCallSid"), GetQueryParam("CallSid")));

                return(GetHttpResponse(TwilioResponseHelper.Dial()));
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }
Exemplo n.º 7
0
        public byte RemoveXmppConnection(string connectionId, string userName, int tenantId)
        {
            try
            {
                _log.DebugFormat("Remove Xmpp Connection: connectionId={0}, userName={1}, tenantId={2}", connectionId, userName, tenantId);

                var jid      = GetJid(userName, tenantId, SignalRHelper.SIGNALR_RESOURCE);
                var listener = (SignalRXmppListener)((XmppGateway)_xmppServer.GetService(typeof(IXmppReceiver))).GetXmppListener("SignalR Listener");
                _xmppServer.SessionManager.CloseSession(jid);
                _xmppServer.StreamManager.RemoveStream(connectionId);
                listener.CloseXmppConnection(connectionId);
                var sender = (IXmppSender)_xmppServer.GetService(typeof(IXmppSender));
                sender.Broadcast(_xmppServer.SessionManager.GetSessions(),
                                 new Presence {
                    Priority = SignalRHelper.PRIORITY, From = jid, Type = PresenceType.unavailable
                });
                var userSession = _xmppServer.SessionManager.GetAvailableSession(jid.BareJid);
                if (userSession != null && userSession.Presence != null && userSession.Presence.Type != PresenceType.unavailable)
                {
                    return(SignalRHelper.GetState(userSession.Presence.Show, userSession.Presence.Type));
                }
            }
            catch (Exception e)
            {
                _log.Error(e);
            }
            return(SignalRHelper.USER_OFFLINE);
        }
Exemplo n.º 8
0
        public Dictionary <string, byte> GetAllStates(int tenantId, string from)
        {
            var states = new Dictionary <string, byte>();

            try
            {
                _log.Debug("Get All States");
                var userJid = GetJid(from, tenantId);
                ASCContext.SetCurrentTenant(userJid.Server);

                foreach (var user in ASCContext.UserManager.GetUsers().Where(u => !u.IsMe()))
                {
                    userJid = GetJid(user.UserName, tenantId);
                    var session = _xmppServer.SessionManager.GetAvailableSession(userJid.BareJid);
                    if (session != null && session.Presence != null && session.Presence.Type != PresenceType.unavailable)
                    {
                        states.Add(userJid.User, SignalRHelper.GetState(session.Presence.Show, session.Presence.Type));
                    }
                }
            }
            catch (Exception e)
            {
                _log.Error(e);
            }
            return(states);
        }
Exemplo n.º 9
0
        public async Task Fetch_Games_Test()
        {
            // Arrange
            var expected      = typeof(OkObjectResult);
            var expectedGames = 2;

            _gamesHandlerStub.Games.Add(new MyChessGame());
            _gamesHandlerStub.Games.Add(new MyChessGame());

            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim("http://schemas.microsoft.com/identity/claims/scope", "Games.ReadWrite"));
            _securityValidatorStub.ClaimsPrincipal = new ClaimsPrincipal(identity);

            var req = HttpRequestHelper.Create("GET", query: new Dictionary <string, Microsoft.Extensions.Primitives.StringValues>()
            {
                { "state", "WaitingForYou" }
            });

            // Act
            var actual = await _gamesFunction.Run(req, SignalRHelper.Create(), null);

            // Assert
            Assert.IsType(expected, actual);
            var body = actual as OkObjectResult;
            var list = body?.Value as List <MyChessGame>;

            Assert.Equal(expectedGames, list?.Count);
        }
Exemplo n.º 10
0
 public void SendPresenceToSignalR(Presence presence, XmppSessionManager sessionManager)
 {
     try
     {
         var state = SignalRHelper.GetState(presence.Show, presence.Type);
         if (state == SignalRHelper.USER_OFFLINE && sessionManager != null)
         {
             var jidSessions = sessionManager.GetBareJidSessions(presence.From).
                               Where(s => !s.IsSignalRFake && s.Presence.Type != PresenceType.unavailable);
             if (jidSessions.Count() > 0)
             {
                 int priority    = jidSessions.First().Priority;
                 var bestSession = jidSessions.First();
                 foreach (var session in jidSessions)
                 {
                     if (session.Priority > priority)
                     {
                         priority    = session.Priority;
                         bestSession = session;
                     }
                 }
                 _reverseJabberServiceClient.SendState(bestSession.Presence.From.User.ToLowerInvariant(),
                                                       SignalRHelper.GetState(bestSession.Presence.Show, bestSession.Presence.Type), -1, bestSession.Presence.From.Server);
                 return;
             }
         }
         _reverseJabberServiceClient.SendState(presence.From.User.ToLowerInvariant(), state, -1, presence.From.Server);
     }
     catch (Exception e)
     {
         _log.ErrorFormat("Can not send to {0} to SignalR: {1} {2}", presence, e.Message, e.StackTrace);
     }
 }
Exemplo n.º 11
0
        public AnuntController()
        {
            var dbContext = new ApplicationDbContext();

            _anuntService  = new AnuntService(dbContext);
            _smsService    = new SmsService();
            _signalRHelper = new SignalRHelper();
        }
Exemplo n.º 12
0
        public CommentsController()
        {
            var dbContext = new ApplicationDbContext();

            _commentsService = new CommentsService(dbContext);
            _anuntService    = new AnuntService(dbContext);
            _signalRHelper   = new SignalRHelper();
        }
Exemplo n.º 13
0
 public static void UseMvcGridSignalR(this IApplicationBuilder app)
 {
     app.UseSignalR(routes =>
     {
         routes.MapHub <MVCGridSignalR>("/MVCGridSignalR");
     });
     SignalRHelper.Configure(app.ApplicationServices.GetRequiredService <IHubContext <MVCGridSignalR> >());
 }
Exemplo n.º 14
0
 public MainViewModel()
 {
     Connect       = new RelayCommand(connectAction);
     Disconnect    = new RelayCommand(disconnectAction);
     Move          = new RelayCommand <string>(moveAction);
     Points        = 0;
     TotalDots     = 0;
     signalRHelper = new SignalRHelper();
     Connected     = false;
     dispatcher    = CoreWindow.GetForCurrentThread().Dispatcher;
 }
Exemplo n.º 15
0
        public bool RemoveXmppConnection(string connectionId, string userName, int tenantId)
        {
            bool result = false;

            try
            {
                _log.DebugFormat("Remove Xmpp Connection: connectionId={0}, userName={1}, tenantId={2}", connectionId, userName, tenantId);

                var jid      = GetJid(userName, tenantId, SignalRHelper.SIGNALR_RESOURCE);
                var listener = (SignalRXmppListener)((XmppGateway)_xmppServer.GetService(typeof(IXmppReceiver))).GetXmppListener("SignalR Listener");
                _xmppServer.SessionManager.CloseSession(jid);
                _xmppServer.StreamManager.RemoveStream(connectionId);
                listener.CloseXmppConnection(connectionId);
                var sender = (IXmppSender)_xmppServer.GetService(typeof(IXmppSender));
                Task.Run(() =>
                {
                    sender.Broadcast(_xmppServer.SessionManager.GetSessions(),
                                     new Presence {
                        Priority = SignalRHelper.PRIORITY, From = jid, Type = PresenceType.unavailable
                    });
                });
                var jidSessions = _xmppServer.SessionManager.GetBareJidSessions(jid).Where(s => s.Presence.Type != PresenceType.unavailable).ToArray();
                if (jidSessions.Length == 0)
                {
                    result = true;
                }
                else
                {
                    Task.Run(() =>
                    {
                        var bestSessions = jidSessions.Where(s => !s.IsSignalRFake &&
                                                             s.Presence.Type != PresenceType.unavailable).OrderByDescending(s => s.Presence.Priority).ToArray();
                        if (bestSessions.Length > 0 && bestSessions[0].Presence != null)
                        {
                            var bestSession = bestSessions[0];
                            _reverseJabberServiceClient.SendState(bestSession.Jid.User.ToLowerInvariant(),
                                                                  SignalRHelper.GetState(bestSession.Presence.Show, bestSession.Presence.Type), tenantId, string.Empty);
                        }
                        else
                        {
                            _log.ErrorFormat("XMPP session Presence is null, userName = {0}", userName);
                        }
                    });
                    result = false;
                }
            }
            catch (Exception e)
            {
                _log.ErrorFormat("Unexpected error, userName = {0}, {1}, {2}, {3}", userName,
                                 e, e.StackTrace, e.InnerException != null ? e.InnerException.Message : string.Empty);
            }
            return(result);
        }
Exemplo n.º 16
0
        public Dictionary <string, Dictionary <string, byte> > GetAllStates()
        {
            var states = new Dictionary <string, Dictionary <string, byte> >();

            try
            {
                _log.Debug("Get All States");
                var sessions = _xmppServer.SessionManager.GetSessions().ToArray();
                var jids     = new List <string>();
                for (int i = 0; i < sessions.Length; i++)
                {
                    if (!jids.Contains(sessions[i].Jid.Bare))
                    {
                        jids.Add(sessions[i].Jid.Bare);
                    }
                }
                for (int i = 0; i < jids.Count; i++)
                {
                    var jidSessions = _xmppServer.SessionManager.GetBareJidSessions(jids[i]).
                                      Where(s => !s.IsSignalRFake).OrderByDescending(s => s.Presence.Priority).ToArray();
                    if (jidSessions.Length > 0 && jidSessions[0].Presence != null)
                    {
                        // for migration from teamlab.com to onlyoffice.com
                        var domain = jidSessions[0].Jid.Server;
                        if (fromTeamlabToOnlyOffice == "true" && domain.EndsWith(fromServerInJid))
                        {
                            int place = domain.LastIndexOf(fromServerInJid);
                            if (place >= 0)
                            {
                                domain = domain.Remove(place, fromServerInJid.Length).Insert(place, toServerInJid);
                            }
                        }
                        Dictionary <string, byte> tenantStates;
                        if (!states.TryGetValue(domain, out tenantStates))
                        {
                            tenantStates   = new Dictionary <string, byte>();
                            states[domain] = tenantStates;
                        }
                        var state = SignalRHelper.GetState(jidSessions[0].Presence.Show, jidSessions[0].Presence.Type);
                        if (state != SignalRHelper.USER_OFFLINE)
                        {
                            tenantStates[jidSessions[0].Jid.User] = state;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                _log.ErrorFormat("Unexpected error {0}", e);
            }
            return(states);
        }
Exemplo n.º 17
0
        private Presence GetNewPresence(byte state, Presence presence, Jid jid)
        {
            if (presence == null)
            {
                presence = new Presence(SignalRHelper.GetShowType(state), String.Empty)
                {
                    From = jid, Priority = SignalRHelper.PRIORITY
                };
            }

            presence.Show = SignalRHelper.GetShowType(state);
            presence.Type = SignalRHelper.GetPresenceType(state);

            return(presence);
        }
Exemplo n.º 18
0
 public byte GetState(int tenantId, string from)
 {
     try
     {
         var session = _xmppServer.SessionManager.GetAvailableSession(GetJid(from, tenantId).BareJid);
         if (session != null && session.Presence != null && session.Presence.Type != PresenceType.unavailable)
         {
             return(SignalRHelper.GetState(session.Presence.Show, session.Presence.Type));
         }
     }
     catch (Exception e)
     {
         _log.Error(e);
     }
     return(SignalRHelper.USER_OFFLINE);
 }
Exemplo n.º 19
0
 public void SendPresenceToSignalR(Presence presence, XmppSessionManager sessionManager)
 {
     try
     {
         var state = SignalRHelper.GetState(presence.Show, presence.Type);
         if (state == SignalRHelper.USER_OFFLINE && sessionManager != null)
         {
             //sessionManager.CloseSession(presence.From.BareJid);
         }
         SignalrServiceClient.SendState(presence.From.User.ToLowerInvariant(), state, -1, presence.From.Server);
     }
     catch (Exception e)
     {
         _log.ErrorFormat("Can not send to {0} to SignalR: {1} {2}", presence, e.Message, e.StackTrace);
     }
 }
 public byte GetState(int tenantId, string from)
 {
     try
     {
         var session = _xmppServer.SessionManager.GetAvailableSession(GetJid(from, tenantId).BareJid);
         if (session != null && session.Presence != null && session.Presence.Type != PresenceType.unavailable)
         {
             return(SignalRHelper.GetState(session.Presence.Show, session.Presence.Type));
         }
     }
     catch (Exception e)
     {
         _log.ErrorFormat("Unexpected error, {0}, {1}, {2}",
                          e.Message, e.StackTrace, e.InnerException != null ? e.InnerException.ToString() : string.Empty);
     }
     return(SignalRHelper.USER_OFFLINE);
 }
 public HttpResilientClient
 (
     int retryCount           = 10,
     int sleepDurationSeconds = 5,
     int durationOfbreak      = 3,
     int handledEventsAllowedBeforeBreaking = 1
 )
 {
     _invoker = new HttpClient {
         BaseAddress = new Uri(WebAPIRoutes.ApplicationBaseUrl)
     };
     _retryCount           = retryCount;
     _durationOfbreak      = durationOfbreak;
     _sleepDurationSeconds = sleepDurationSeconds;
     _handledEventsAllowedBeforeBreaking = handledEventsAllowedBeforeBreaking;
     _signalRHelper = new SignalRHelper();
 }
        public string HealthCheck(string userName, int tenantId)
        {
            try
            {
                Random rand         = new Random();
                string connectionId = Guid.NewGuid().ToString();
                byte   state        = (byte)rand.Next(SignalRHelper.USER_ONLINE, SignalRHelper.USER_OFFLINE);
                var    jid          = GetJid(userName, tenantId);
                if (_xmppServer.SessionManager != null)
                {
                    state = AddXmppConnection(connectionId, userName, state, tenantId);
                    var session = _xmppServer.SessionManager.GetSession(jid);
                    if (session != null)
                    {
                        var realState = SignalRHelper.GetState(session.Presence.Show, session.Presence.Type);
                        if (realState != state)
                        {
                            throw new Exception("State is " + realState + " but should be " + state);
                        }

                        state = (byte)rand.Next(SignalRHelper.USER_ONLINE, SignalRHelper.USER_OFFLINE);
                        SendState(tenantId, userName, state);
                        session   = _xmppServer.SessionManager.GetSession(jid);
                        realState = SignalRHelper.GetState(session.Presence.Show, session.Presence.Type);
                        if (realState != state)
                        {
                            throw new Exception("State is " + realState + " but should be " + state);
                        }

                        GetRecentMessages(tenantId, userName, "test.user", 0);
                    }
                    RemoveXmppConnection(connectionId, userName, tenantId);
                }
                else
                {
                    throw new Exception("SessionManager is null");
                }
            }
            catch (Exception e)
            {
                _log.ErrorFormat("Unexpected error, {0}, {1}, {2}",
                                 e.Message, e.StackTrace, e.InnerException != null ? e.InnerException.ToString() : string.Empty);
                return(e.ToString());
            }
            return(string.Empty);
        }
Exemplo n.º 23
0
        public HttpResponseMessage Client()
        {
            try
            {
                LogQueryString("Client");

                ApiHelper.SaveOrUpdateCallHistory(GetQueryParam("CallSid"), GetQueryParam("ParentCallSid"), answerDate: DateTime.UtcNow, answeredBy: GetQueryParam("CallerId"));
                SignalRHelper.Start();

                return(GetHttpResponse(new TwilioResponse()));
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }
Exemplo n.º 24
0
        public HttpResponseMessage VoiceMail()
        {
            try
            {
                LogQueryString("VoiceMail");

                ApiHelper.SaveOrUpdateCall(GetQueryParam("CallSid"), status: VoipCallStatus.Missed);

                SignalRHelper.VoiceMail(GetQueryParam("CallSid"));

                return(GetHttpResponse(TwilioResponseHelper.VoiceMail()));
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }
Exemplo n.º 25
0
        public async Task Create_Game_Fails_Due_Invalid_Opponent_Test()
        {
            // Arrange
            var expected      = typeof(ObjectResult);
            var expectedError = "1234";
            var game          = new MyChessGame()
            {
                Name    = "great game",
                State   = "Normal",
                Updated = DateTimeOffset.UtcNow
            };

            game.Players.White.ID = "p1";
            game.Players.Black.ID = "p3";
            game.Moves.Add(new MyChessGameMove()
            {
                Move    = "A2A3",
                Comment = "Cool move",
                Start   = DateTimeOffset.UtcNow.AddMinutes(-1),
                End     = DateTimeOffset.UtcNow
            });

            _gamesHandlerStub.Error = new Models.HandlerError()
            {
                Instance = "some text/1234"
            };

            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim("http://schemas.microsoft.com/identity/claims/scope", "Games.ReadWrite"));
            _securityValidatorStub.ClaimsPrincipal = new ClaimsPrincipal(identity);

            var req = HttpRequestHelper.Create("POST", body: game, query: new Dictionary <string, Microsoft.Extensions.Primitives.StringValues>());

            // Act
            var actual = await _gamesFunction.Run(req, SignalRHelper.Create(), "abc");

            // Assert
            Assert.IsType(expected, actual);
            var body        = actual as ObjectResult;
            var actualError = body?.Value as ProblemDetails;

            Assert.EndsWith(expectedError, actualError?.Instance);
        }
Exemplo n.º 26
0
        public async Task Create_Game_Test()
        {
            // Arrange
            var expected       = typeof(CreatedResult);
            var expectedGameID = "abc";
            var game           = new MyChessGame()
            {
                Name    = "great game",
                State   = "Normal",
                Updated = DateTimeOffset.UtcNow
            };

            game.Players.White.ID = "p1";
            game.Players.Black.ID = "p2";
            game.Moves.Add(new MyChessGameMove()
            {
                Move  = "A2A3", Comment = "Cool move",
                Start = DateTimeOffset.UtcNow.AddMinutes(-1),
                End   = DateTimeOffset.UtcNow
            });

            _gamesHandlerStub.SingleGame = new MyChessGame()
            {
                ID = "abc"
            };

            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim("http://schemas.microsoft.com/identity/claims/scope", "Games.ReadWrite"));
            _securityValidatorStub.ClaimsPrincipal = new ClaimsPrincipal(identity);

            var req = HttpRequestHelper.Create("POST", body: game, query: new Dictionary <string, Microsoft.Extensions.Primitives.StringValues>());

            // Act
            var actual = await _gamesFunction.Run(req, SignalRHelper.Create(), "abc");

            // Assert
            Assert.IsType(expected, actual);
            var body       = actual as CreatedResult;
            var actualGame = body?.Value as MyChessGame;

            Assert.Equal(expectedGameID, actualGame?.ID);
        }
    public async Task UpdateSistemaCommand_Handle()
    {
        // Arrange
        IUnitOfWork unitOfWork = DbContextHelper.GetContext();
        IMapper     mapper     = AutoMapperHelper.GetMappings();

        Mock <IEventHandler> mockServiceBus           = ServiceBusHelper.GetInstance();
        Mock <IHubContext <CpnucleoHub> > mockSignalR = SignalRHelper.GetInstance();

        Guid     sistemaId    = Guid.NewGuid();
        DateTime dataInclusao = DateTime.Now;

        Sistema sistema = MockEntityHelper.GetNewSistema(sistemaId);

        await unitOfWork.SistemaRepository.AddAsync(sistema);

        await unitOfWork.SaveChangesAsync();

        unitOfWork.SistemaRepository.Detatch(sistema);

        UpdateSistemaCommand request = new()
        {
            Sistema = MockViewModelHelper.GetNewSistema(sistemaId, dataInclusao)
        };

        GetSistemaQuery request2 = new()
        {
            Id = sistemaId
        };

        // Act
        SistemaHandler  handler  = new(unitOfWork, mapper, mockServiceBus.Object, mockSignalR.Object);
        OperationResult response = await handler.Handle(request, CancellationToken.None);

        SistemaViewModel response2 = await handler.Handle(request2, CancellationToken.None);

        // Assert
        Assert.True(response == OperationResult.Success);
        Assert.True(response2 != null);
        Assert.True(response2.Id == sistemaId);
        Assert.True(response2.DataInclusao.Ticks == dataInclusao.Ticks);
    }
}
Exemplo n.º 28
0
        private static void Logoff()
        {
            try
            {
                _inLogOff = true;
                var vs = IoC.Instance.Resolve <IViewService>();
                if (!vs.CloseAll(true))
                {
                    throw new OperationException(StringResources.CantCloseSessionError);
                }

                SignalRHelper.DisconnectFromServer();
                AuthenticationHelper.LogOff();
            }
            finally
            {
                _inLogOff = false;
            }
        }
Exemplo n.º 29
0
        public HttpResponseMessage Enqueue()
        {
            try
            {
                LogQueryString("Enqueue");

                if (GetQueryParam("QueueResult") != "bridged" && GetQueryParam("QueueResult") != "redirected")
                {
                    ApiHelper.SaveOrUpdateCall(GetQueryParam("CallSid"), status: VoipCallStatus.Missed);
                    SignalRHelper.MissCall(GetQueryParam("CallSid"));
                }

                return(GetHttpResponse(TwilioResponseHelper.Enqueue(GetQueryParam("QueueResult"))));
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }
    public async Task CreateSistemaCommand_Handle()
    {
        // Arrange
        IUnitOfWork unitOfWork = DbContextHelper.GetContext();
        IMapper     mapper     = AutoMapperHelper.GetMappings();

        Mock <IEventHandler> mockServiceBus           = ServiceBusHelper.GetInstance();
        Mock <IHubContext <CpnucleoHub> > mockSignalR = SignalRHelper.GetInstance();

        CreateSistemaCommand request = new()
        {
            Sistema = MockViewModelHelper.GetNewSistema()
        };

        // Act
        SistemaHandler  handler  = new(unitOfWork, mapper, mockServiceBus.Object, mockSignalR.Object);
        OperationResult response = await handler.Handle(request, CancellationToken.None);

        // Assert
        Assert.True(response == OperationResult.Success);
    }