public override Task OnDisconnected(bool stopCalled)
        {
            try
            {
                var connection = GetClientId();
                using (var entities = new SignalREntities())
                {
                    var exists = entities.useractivities.Where(o => o.ConnectionID.Equals(connection.Trim()));
                    if (exists.Any())
                    {
                        entities.useractivities.DeleteObject(exists.First());
                        if (entities.SaveChanges() > 0)
                        {

                            var useractivities = entities.useractivities.ToList();
                            chatHub.notifyOnlineUser(useractivities.Select(o => new EMUserActivity().entityToModel(o)).ToList());
                        }
                    }
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }

            return base.OnDisconnected(stopCalled);
        }
예제 #2
0
파일: chatHub.cs 프로젝트: somdesp/UMC
        public override Task OnDisconnected(bool stopCalled)
        {
            try
            {
                var connection = GetClientId();
                using (var entities = new SignalREntities())
                {
                    var exists = entities.useractivities.Where(o => o.ConnectionID.Equals(connection.Trim()));
                    if (exists.Any())
                    {
                        entities.useractivities.DeleteObject(exists.First());
                        if (entities.SaveChanges() > 0)
                        {
                            var useractivities = entities.useractivities.ToList();
                            chatHub.notifyOnlineUser(useractivities.Select(o => new EMUserActivity().entityToModel(o)).ToList());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(base.OnDisconnected(stopCalled));
        }
예제 #3
0
파일: chatHub.cs 프로젝트: somdesp/UMC
 public override Task OnConnected()
 {
     using (var entities = new SignalREntities())
     {
         var useractivities = entities.useractivities.ToList();
         chatHub.notifyOnlineUser(useractivities.Select(o => new EMUserActivity().entityToModel(o)).ToList());
     }
     return(base.OnConnected());
 }
        public override Task OnConnected()
        {

            using (var entities = new SignalREntities())
            {
                var useractivities = entities.useractivities.ToList();
                chatHub.notifyOnlineUser(useractivities.Select(o => new EMUserActivity().entityToModel(o)).ToList());
            }
            return base.OnConnected();
        }
예제 #5
0
파일: MessageRepo.cs 프로젝트: somdesp/UMC
 public void addMessage(string username, string message)
 {
     try
     {
         using (var entities = new SignalREntities())
         {
             var msg = new Message();
             msg.Msg    = message;
             msg.UserID = username;
             entities.messages.AddObject(new EMMessage().modelToEntity(msg));
             entities.SaveChanges();
             var avatar = entities.useractivities.First(o => o.UserID == username);
             chatHub.notifyClient(username, message, avatar.Avater);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #6
0
파일: chatHub.cs 프로젝트: somdesp/UMC
 public void updateStatus(string connectionID, string status)
 {
     try
     {
         using (var entities = new SignalREntities())
         {
             var active = entities.useractivities.Where(o => o.ConnectionID == connectionID.Trim());
             if (active.Any())
             {
                 var entity = active.First();
                 entity.Status = status;
                 entities.SaveChanges();
             }
         }
         chatHub.notifyUserStatus(connectionID, status);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void addMessage(string username, string message)
        {
            try
            {
                using (var entities = new SignalREntities())
                {
                    var msg = new Message();
                    msg.Msg = message;
                    msg.UserID = username;
                    entities.messages.AddObject(new EMMessage().modelToEntity(msg));
                    entities.SaveChanges();
                    var avatar = entities.useractivities.First(o => o.UserID == username);
                    chatHub.notifyClient(username, message, avatar.Avater);
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
예제 #8
0
파일: MessageRepo.cs 프로젝트: somdesp/UMC
        public int registerUser(string username, string password, string connectionID)
        {
            try
            {
                using (var entities = new SignalREntities())
                {
                    var check = entities.users.Where(o => o.UserID.Equals(username));
                    if (!check.Any())
                    {
                        var user = new User();
                        user.UserID   = username;
                        user.UserName = username;
                        user.Password = password;
                        entities.users.AddObject(new EMUser().modelToEntity(user));

                        entities.SaveChanges();
                    }
                    var rand  = new Random();
                    var index = rand.Next(0, img.Image.Count - 1);

                    var activity = new UserActivity();
                    activity.UserID       = username;
                    activity.ConnectionID = connectionID;
                    activity.Status       = "Online";
                    activity.Avater       = img.Image[index];

                    entities.useractivities.AddObject(new EMUserActivity().modelToEntity(activity));
                    entities.SaveChanges();
                    var useractivities = entities.useractivities.ToList();
                    chatHub.notifyOnlineUser(useractivities.Select(o => new EMUserActivity().entityToModel(o)).ToList());
                }
                return(1);
            }
            catch (Exception ex)
            {
                return(0);
            }
        }
        public int registerUser(string username, string password, string connectionID)
        {
            try
            {
                using (var entities = new SignalREntities())
                {
                    var check = entities.users.Where(o => o.UserID.Equals(username));
                    if (!check.Any())
                    {
                        var user = new User();
                        user.UserID = username;
                        user.UserName = username;
                        user.Password = password;
                        entities.users.AddObject(new EMUser().modelToEntity(user));

                        entities.SaveChanges();
                    }
                    var rand = new Random();
                    var index = rand.Next(0, img.Image.Count - 1);

                    var activity = new UserActivity();
                    activity.UserID = username;
                    activity.ConnectionID = connectionID;
                    activity.Status = "Online";
                    activity.Avater = img.Image[index];

                    entities.useractivities.AddObject(new EMUserActivity().modelToEntity(activity));
                    entities.SaveChanges();
                    var useractivities = entities.useractivities.ToList();
                    chatHub.notifyOnlineUser(useractivities.Select(o => new EMUserActivity().entityToModel(o)).ToList());
                }
                return 1;
            }
            catch (Exception ex)
            {
                return 0;
            }
        }
        public void updateStatus(string connectionID, string status)
        {
            try
            {
                using (var entities = new SignalREntities())
                {
                    var active = entities.useractivities.Where(o => o.ConnectionID == connectionID.Trim());
                    if (active.Any())
                    {
                        var entity = active.First();
                        entity.Status = status;
                        entities.SaveChanges();
                    }
                }
                chatHub.notifyUserStatus(connectionID, status);

            }
            catch (Exception ex)
            {

                throw ex;
            }

        }