public override Task OnDisconnected(bool stopCalled) { MessegeConnection disconnect = DbContext.MessegeConnections.SingleOrDefault(c => c.ConnectionId == Context.ConnectionId); if (disconnect != null) { DbContext.MessegeConnections.Remove(disconnect); DbContext.SaveChanges(); } return(base.OnDisconnected(stopCalled)); }
public override Task OnConnected() { if (HttpContext.Current.Request.IsAuthenticated) { string userName = Context.User.Identity.Name; var user = DbContext.Users.Include(c => c.UserConnections).SingleOrDefault(u => u.UserName == userName); if (user != null) { MessegeConnection connection = new MessegeConnection() { ConnectionId = Context.ConnectionId, UserId = user.Id, IsConnectionActive = true, UserName = user.FirstName, ConnectionTime = DateTime.UtcNow }; user.UserConnections.Add(connection); DbContext.SaveChanges(); } } return(base.OnConnected()); }