protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            List<OnlineUser> onlineFriends = new List<OnlineUser>();

            using (UserService service = new UserService())
            {
                foreach (var item in service.GetMyFriends(LoggedUser.ID))
                {
                    OnlineUser userModel = OnlineUserService.OnlineUsers.FirstOrDefault(x => x.UserId == item.ID);

                    if (userModel == null)
                    {
                        userModel = new OnlineUser();
                        userModel.UserId = item.ID;
                        userModel.UserName = item.Name;
                        userModel.NewStatus = false;
                    }
                    else
                    {
                        userModel.NewStatus = true;
                    }

                    onlineFriends.Add(userModel);
                }
            }

            grdData.DataSource = onlineFriends.Distinct().Where(x => x.UserId != LoggedUser.ID);
            grdData.DataBind();
        }
    }
Beispiel #2
0
		public void UpdateOnlineUser(string username)
		{
			OnlineUser<string> us = new OnlineUser<string>();
			us.U_Guid = Common.SessionID;
			us.U_Name = username;
			us.U_Type = true;
			us.U_LastUrl = Common.GetScriptUrl;
			UserOnlineList.InsertUser(us.U_Guid, us);
		}
Beispiel #3
0
        public OnlineUser Profile()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(null);
            }
            OnlineUser onlineUser = ServiceProvider.GetService <IOnlineUserCache>()?.GetOrRefresh(User.Identity.Name);

            return(onlineUser);
        }
        public OnlineUser Profile()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(null);
            }
            OnlineUser onlineUser = HttpContext.RequestServices.GetService <IOnlineUserCache>()?.GetOrRefresh(User.Identity.Name);

            return(onlineUser);
        }
Beispiel #5
0
        public static JObject StateLikes(OnlineUser user, int restaurant_no)
        {
            JObject json = new JObject();

            json["type"]     = PacketType.GetLikes;
            json["no"]       = restaurant_no;
            json["positive"] = ClickedLikes(user, restaurant_no);
            json["likes"]    = GetLikes(restaurant_no);
            return(json);
        }
Beispiel #6
0
        /// <summary>
        /// Send force disconnect message
        /// </summary>
        public void DisconnectMessage(OnlineUser receiver, string sender, string message)
        {
            Packet messagePacket = GenerateMessagePacket(
                "disconnect",
                sender,
                message
                );

            SendPacket(receiver, messagePacket);
        }
Beispiel #7
0
        /// <summary>
        /// Send whisper chat message
        /// </summary>
        public void WhisperMessage(OnlineUser sender, OnlineUser user, string message)
        {
            Packet packet = GenerateMessagePacket(
                "whisper",
                sender.Username,
                Users[sender.Username].nickname,
                message
                );

            SendPacket(user, packet);
        }
Beispiel #8
0
        public void DeleteFriend(Guid silinenUserId)
        {
            OnlineUserManager onlineUserManager = new OnlineUserManager();
            OnlineUser        silinenUser       = onlineUserManager.OnlineKullaniciyiGetir(silinenUserId);
            OnlineUser        silenUser         = onlineUserManager.OnlineKullaniciyiGetirConId(Context.ConnectionId);

            if (silinenUser != null)
            {
                Clients.Client(silinenUser.ConnectionId).ArkadaslikdanCikarildiniz(silenUser.UserId);
            }
        }
 public OnlineUserUpdatedEvent(
     User user,
     OnlineUser onlineUser,
     string connectionId,
     DomainModel sender)
     : base(user,
     sender)
 {
     OnlineUser = onlineUser;
     ConnectionId = connectionId;
 }
Beispiel #10
0
 public void OperateOnlineUser(OnlineUser user, bool isDelete = false)
 {
     if (isDelete)
     {
         cacheClient.HashDelete(LayIMConst.LayIM_All_OnlineUsers, user.userid);
     }
     else
     {
         cacheClient.HashSetAsync(LayIMConst.LayIM_All_OnlineUsers, user.userid, user.connectionid);
     }
 }
Beispiel #11
0
        public async Task <string> Test01()
        {
            List <object> list = new List <object>();

            IOnlineUserCache cache = ServiceLocator.Instance.GetService <IOnlineUserCache>();
            OnlineUser       user  = cache.GetOrRefresh("admin");

            list.Add(user.ToJsonString());

            return(list.ExpandAndToString("\r\n"));
        }
Beispiel #12
0
        public void GetSuggestsAddFriendList(string username)
        {
            Wait();
            OnlineUser onlineUser = OnlineUsers.FirstOrDefault(o => o.HasAccount(username));

            if (onlineUser != null)
            {
                ObservableCollection <Common_Library.AccountBase> list = DataService.Friend.GetSuggestsAddFriendOf(onlineUser.Account.UserName, addFriendRequests);
                Clients.Clients(onlineUser.ConnectionIds).GetSuggestsAddFriendList(list);
            }
            Signal();
        }
Beispiel #13
0
 /// <summary>
 /// 获取在线用户列表
 /// </summary>
 public void GetOnlineUser()
 {
     try
     {
         DataTable dt = OnlineUser.Search(null);
         Response.Write(JSONHelper.Object2DataSetJson(dt));
     }
     catch (Exception ex)
     {
         WriteError(ex.Message, ex);
     }
 }
        public async Task <IActionResult> PostOnlineUser([FromForm] OnlineUser onlineUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.OnlineUser.Add(onlineUser);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetOnlineUser", new { id = onlineUser.Id }, onlineUser));
        }
Beispiel #15
0
        public override System.Threading.Tasks.Task OnDisconnected(bool stopCalled)
        {
            MessangerManager messangerManager = new MessangerManager();
            Guid             bosGuid          = Guid.Empty;

            Guid kullanici_id = messangerManager.fakeOfflineOl(Context.ConnectionId);

            if (kullanici_id != bosGuid)
            {
                ControllerLoglamaManager controllerLoglamaManager = new ControllerLoglamaManager();
                ControllerLoglama        log = controllerLoglamaManager.LoglamaGetir(kullanici_id);

                Thread.Sleep(8000);

                MessangerManager messangerManager2 = new MessangerManager();
                OnlineUser       kullanici         = messangerManager2.OnlineMi(kullanici_id);

                VotedressUserManager votedressUserManager = new VotedressUserManager();

                if (kullanici != null && kullanici.Disconnected == "reflesh")
                {
                    if ((log.Burdan == "Gardrop/Magaza" && log.Buraya == "Gardrop/Magaza") || (log.Burdan == "Gardrop/UrunDetayliIncele" && log.Buraya == "Gardrop/UrunDetayliIncele"))
                    {
                        //Demekki magazada reflesh olmuş birşey yapma
                    }
                    else if ((log.Burdan == "Gardrop/Magaza" && log.Buraya != "Gardrop/UrunDetayliIncele") || (log.Burdan == "Gardrop/UrunDetayliIncele" && log.Buraya != "Gardrop/Magaza"))//magazadan başka bir yere gidilmiş demekki magazadan çıkılmıs
                    {
                        Groups.Remove(Context.ConnectionId, "Gardrop");
                        votedressUserManager.MagazadakilerinSayisiniAzalt(log.parameter);
                        Clients.Group("Gardrop").BiriMagazadanCikti(log.parameter);
                    }
                }
                else
                {
                    OnlineUser        offline_olundumu  = messangerManager.OfflineOl(kullanici_id);
                    List <OnlineUser> online_arkadaslar = messangerManager.OnlineArkadaslar(kullanici_id);

                    for (int i = 0; i < online_arkadaslar.Count; i++)
                    {
                        Clients.Client(online_arkadaslar[i].ConnectionId).BirisiOfflineOldu(kullanici_id);
                    }

                    if (log.Buraya == "Gardrop/Magaza" || log.Buraya == "Gardrop/UrunDetayliIncele")
                    {
                        votedressUserManager.MagazadakilerinSayisiniAzalt(log.parameter);

                        Groups.Remove(Context.ConnectionId, "Gardrop");
                        Clients.OthersInGroup("Gardrop").BiriMagazadanCikti(log.parameter);
                    }
                }
            }
            return(base.OnDisconnected(stopCalled));
        }
Beispiel #16
0
 public OnlineUserUpdatedEvent(
     User user,
     OnlineUser onlineUser,
     string connectionId,
     DomainModel sender)
     : base(
         user,
         sender)
 {
     OnlineUser   = onlineUser;
     ConnectionId = connectionId;
 }
Beispiel #17
0
        public void ActionMessage(OnlineUser sender, string message)
        {
            Packet packet = GenerateMessagePacket(
                "action",
                sender.Username,
                Users[sender.Username].nickname,
                message
                );

            AsyncBroadcastPacket(packet);
            EnqueueHistory(packet);
        }
Beispiel #18
0
        public void GetAddFriendRequest()
        {
            Wait();
            OnlineUser onlineUser = OnlineUsers.FirstOrDefault(o => o.HasConnectionId(Context.ConnectionId));
            ObservableCollection <Common_Library.AccountBase> list = new ObservableCollection <Common_Library.AccountBase>(addFriendRequests.Where(o => o.HasMembersIsReceiver(onlineUser.Account.UserName)).Select(o => new Common_Library.AccountBase()
            {
                UserName = o.GetMemberOf(onlineUser.Account.UserName)
            }));

            Clients.Client(Context.ConnectionId).GetAddFriendRequest(list);
            Signal();
        }
Beispiel #19
0
        public override async Task OnConnectedAsync()
        {
            OnlineUser user = new OnlineUser();

            user.connectionIds = new List <string>();
            user.connectionIds.Add(Context.ConnectionId);
            users.Add(user);

            await Groups.AddToGroupAsync(Context.ConnectionId, "SignalR Users");

            await base.OnConnectedAsync();
        }
Beispiel #20
0
        public bool doesOLUserExist(int userID)
        {
            OnlineUser oluser = _db.OnlineUsers.SingleOrDefault(ol => ol.UID == userID);

            if (oluser != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #21
0
 public void LoginOut()
 {
     try
     {
         OnlineUser.Unlock(CurrentUser.UserID);
         CurrentUser = null;
         WriteSuccess();
     }
     catch (Exception ex)
     {
         WriteError(ex.Message, ex);
     }
 }
Beispiel #22
0
        public void MessageSendTestMethod()
        {
            OnlineUser user = new OnlineUser(null);

            try
            {
                user.Message("");
                Assert.Fail("연결 소켓이 없지만 메세지 전송 에러 없음");
            }
            catch (Exception e)
            {
            }
        }
Beispiel #23
0
        public void SendHistory(OnlineUser user)
        {
            Packet packet = new Packet();

            packet["messageType"] = "history";
            JsonSharp.JsonArray array = new JsonSharp.JsonArray();
            foreach (Packet message in historyMessage)
            {
                array.elements.Add(message.ToJsonObject());
            }
            packet["messages"] = array;
            user.Send(packet);
        }
Beispiel #24
0
        public static bool WriteArticle(OnlineUser user, string content, int parent_no = 0)
        {
            if (string.IsNullOrEmpty(content))
            {
                user.Message("내용을 입력해주세요.");
                return(false);
            }
            MysqlNode menu_update = new MysqlNode(Program.mysqlOption, "INSERT INTO board (user_id, content, parent_no) VALUES (?user_id, ?content, ?parent_no)");

            menu_update["user_id"] = user.id;
            menu_update["content"] = content;
            if (parent_no == 0)
            {
                menu_update["parent_no"] = null;
            }
            else
            {
                menu_update["parent_no"] = parent_no;
            }
            long result = menu_update.ExecuteInsertQuery();

            if (result > 0)
            {
                if (parent_no == 0)
                {
                    JObject json = new JObject();
                    json["type"] = PacketType.WriteBoardItem;
                    json["item"] = ((JArray)GetList((int)result)["list"])[0];
                    OnlineUser.SendAll(json);
                }
                else
                {
                    user.Send(GetCommentList(parent_no));
                    List <int> RelatedUser = GetRelatedUser(parent_no);
                    foreach (int id in RelatedUser)
                    {
                        if (id != user.id) // 올린 사람은 제외
                        {
                            OnlineUser.Notify(id, "comment", (int)result, "내가 올린 게시글에 답변이 등록되었습니다.", "(" + user.name + ") " + content);
                        }
                    }
                }
                user.Message("등록에 성공했습니다.");
                return(true);
            }
            else
            {
                user.Message("등록에 실패했습니다.");
                return(false);
            }
        }
Beispiel #25
0
        public void SelectRoom(string chatname, string roomid)
        {
            Wait();
            OnlineUser onlineUser = OnlineUsers.FirstOrDefault(o => o.HasConnectionId(Context.ConnectionId));
            Room       room       = Rooms.FirstOrDefault(r => r.Id == roomid);

            if (room != null)
            {
                if (room.IsFull())
                {
                    Clients.Client(Context.ConnectionId).RoomIsFull();
                }
                else
                {
                    if (room.ContainUserHasChatName(chatname))
                    {
                        Clients.Client(Context.ConnectionId).ChatNameIsExist();
                    }
                    else
                    {
                        room.AddNewUser(Context.ConnectionId, chatname, onlineUser != null ? onlineUser.Account : null);
                        if (room.Users.Count >= 2)
                        {
                            if (room.Users.Count == 2)
                            {
                                if (!room.Started)
                                {
                                    room.Started = true;
                                    Clients.Clients(room.Users.Select(u => u.ConnectionId).ToList()).Ready(room.Type);
                                }
                                else
                                {
                                    Clients.Client(Context.ConnectionId).Ready(room.Type);
                                    Clients.Clients(room.Users.Where(u => u.ConnectionId != Context.ConnectionId).Select(u => u.ConnectionId).ToList()).NewMember(chatname);
                                }
                            }
                            else
                            {
                                Clients.Client(Context.ConnectionId).Ready(room.Type);
                                Clients.Clients(room.Users.Where(u => u.ConnectionId != Context.ConnectionId).Select(u => u.ConnectionId).ToList()).NewMember(chatname);
                            }
                        }
                    }
                }
            }
            else
            {
                Clients.Client(Context.ConnectionId).RoomNotExist();
            }
            Signal();
        }
Beispiel #26
0
    void GetFriendAsGuest()
    {
        DestroyFriendsList();
        loadingPanel.SetActive(false);


        List <string> onlyGuest = new List <string> ();

        for (int i = 0; i < OnlineUser.users.Count; i++)
        {
            string str = OnlineUser.users[i].ClientId;
            if (str [0] == 'G')
            {
                onlyGuest.Add(str);
                Debug.Log(str + "____________________________::::::::::");
                //instance friends
                GameObject g = Instantiate(FriendPrefab) as GameObject;
                g.SetActive(true);
                g.transform.SetParent(parentObject);
                g.transform.localScale = Vector3.one;
                g.transform.position   = Vector3.zero;
                FriendsObjectList.Add(g);
                g.GetComponent <FriendsDetails> ().Name.text = str;

                Toggle btn = g.GetComponentInChildren <Toggle> ();
                btn.group = toggleGroup;
                string id = str;
                //g.GetComponent<FriendsDetails> ().ID = System.Convert.ToInt64 (id);
                AddListener(btn, id, str);
                int userID = OnlineUser.IsContains(id);

                if (userID >= 0)
                {
                    g.GetComponent <FriendsDetails> ().SetOnline(true);
                    if (OnlineUser.users[userID].isPlaying)
                    {
                        g.GetComponent <FriendsDetails>().playing.SetActive(true);
                    }
                    else
                    {
                        g.GetComponent <FriendsDetails>().playing.SetActive(false);
                    }
                }
                else
                {
                    g.GetComponent <FriendsDetails> ().SetOnline(false);
                    g.GetComponent <FriendsDetails>().playing.SetActive(false);
                }
            }
        }
    }
Beispiel #27
0
        public void ChatWithFriendResponse(string ConnectionId, string UserName, bool result, string senderchatname, string receiverchatname)
        {
            Wait();
            Common_Library.User user;
            Room currentroom = Rooms.FirstOrDefault(r => r.ContainUser(Context.ConnectionId));

            if (currentroom != null)
            {
                user = currentroom.GetUserById(Context.ConnectionId);
            }
            else
            {
                OnlineUser onlineUser = OnlineUsers.FirstOrDefault(o => o.HasConnectionId(Context.ConnectionId));
                user = new Common_Library.User()
                {
                    ChatName = receiverchatname, ConnectionId = Context.ConnectionId, Account = new Common_Library.AccountBase()
                    {
                        UserName = onlineUser.Account.UserName
                    }
                };
            }
            if (result)
            {
                if (currentroom != null)
                {
                    currentroom.RemoveUser(user);
                    if (currentroom.Users.Count > 0)
                    {
                        Clients.Clients(currentroom.Users.Select(u => u.ConnectionId).ToList()).MemberExit(user.ChatName);
                    }
                    else
                    {
                        Rooms.Remove(currentroom);
                    }
                }
                OnlineUser          onlineUser2 = OnlineUsers.FirstOrDefault(o => o.HasAccount(UserName));
                Common_Library.User user2       = new Common_Library.User()
                {
                    ChatName = senderchatname, ConnectionId = ConnectionId, Account = new Common_Library.AccountBase()
                    {
                        UserName = onlineUser2.Account.UserName
                    }
                };
                Room room = Room.CreateNewPrivateRoom(user, user2);
                Rooms.Add(room);
            }
            Clients.Client(ConnectionId).ChatWithFriendResponse(Context.ConnectionId, user.Account.UserName, result);
            Clients.Client(Context.ConnectionId).ChatWithFriendResponse(Context.ConnectionId, user.Account.UserName, result);
            Signal();
        }
Beispiel #28
0
        void Session_Start(object sender, EventArgs e)
        {
            HttpContext.Current.Session["___LCID"] = HttpContext.Current.Session.LCID.ToString();
            //Application Culture
            HttpContext.Current.Session["___APPCU"]   = UserHelper.Culture_GetFromLCID();
            HttpContext.Current.Session["_u__USERID"] = 77;

            OnlineUser u = new OnlineUser();

            u.Sex     = 1;
            u.SeekSex = 2;
            u.Country = 1;
            HttpContext.Current.Session["_u__OUSER"] = u;
        }
        public void LogoutRoutine(int userID)
        {
            IEnumerable <ThreadViewStamp> views = _threadViewStampRepository.Where(item => item.UserID.Equals(userID));

            _threadViewStampRepository.Delete(views);
            OnlineUser onlineUser = _onlineUserRepository.First(item => item.UserID.Equals(userID));

            _onlineUserRepository.Delete(onlineUser);
            User user = GetUser(userID);

            user.LastLogoutDate = DateTime.UtcNow;
            _userRepository.Update(user);
            _unitOfWork.Commit();
        }
Beispiel #30
0
 /// <summary>
 /// 生成加密串——用户加密密钥计算
 /// </summary>
 /// <param name="model">在线实体</param>
 /// <returns></returns>
 public string GenerateMd5(OnlineUser model)
 {
     if (model == null)
     {
         return(RandomHelper.GetRndKey());
     }
     else
     {
         //Md5(密钥+登陆帐号+密码+IP+密钥.Substring(6,8))
         //return Encrypt.Md5(model.UserKey + model.Manager_LoginName + model.Manager_LoginPass +
         //            IpHelper.GetUserIp() + model.UserKey.Substring(6, 8));
         return(Encrypt.Md5(model.UserKey + model.AccountName + model.Password + model.UserKey.Substring(6, 8)));
     }
 }
Beispiel #31
0
 /// <summary>
 /// Send a packet to the indicated user.
 /// </summary>
 /// <param name="user">Indicated user</param>
 /// <param name="packet">The packet to be sent</param>
 void SendPacket(OnlineUser user, Packet packet)
 {
     try
     {
         if (user.Connected)
         {
             user.Send(packet);
         }
     }
     catch (Exception ex)
     {
         Error($"Error occured while sending message to user \"{user.Username}\": {Unescape(ex.ToString())}");
     }
 }
Beispiel #32
0
 public Task <bool> TakeOfflineAsync(OnlineUser user)
 {
     if (onlineUsers.Any(a => a.UserName == user.UserName))
     {
         var found = onlineUsers.Find(a => a.UserName == user.UserName);
         found.NumberOfDevices -= 1;
         if (found.NumberOfDevices == 0)
         {
             onlineUsers.Remove(found);
             return(Task.FromResult(true));
         }
     }
     return(Task.FromResult(false));
 }
Beispiel #33
0
 public IActionResult Get(Guid id)
 {
     using (var db = new AllInOneContext.AllInOneContext())
     {
         OnlineUser data = db.OnlineUser
                           .Include(t => t.User).Include(t => t.LoginTerminal)
                           .FirstOrDefault(p => p.OnLineUserId.Equals(id));
         if (data == null)
         {
             return(NoContent());
         }
         return(new ObjectResult(data));
     }
 }
Beispiel #34
0
 private ArrayList CountOnlineList(ArrayList lst)
 {
     ArrayList lstonline = new ArrayList();
     foreach (sys_OnlineTable var in lst)
     {
         OnlineUser<string> ou = new OnlineUser<string>();
         ou.U_Guid = var.O_SessionID;
         ou.U_LastIP = var.O_Ip;
         ou.U_LastTime = var.O_LastTime;
         ou.U_LastUrl = var.O_LastUrl;
         ou.U_Name = var.O_UserName;
         ou.U_StartTime = var.O_LoginTime;
         TimeSpan ts = ou.U_LastTime - ou.U_StartTime;
         ou.U_OnlineSeconds = ts.TotalSeconds;
         ou.U_Type = true;
         lstonline.Add(ou);
     }
     return lstonline;
 }
Beispiel #35
0
 /// <summary>
 /// 登陆帐户
 /// </summary>
 /// <param name="name"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 /// <exception cref="UserNotFoundException"></exception>
 /// <exception cref="PasswordMismatchException"></exception>
 public static string Login(string name, string password, string ip)
 {
     using (var sha = SHA256.Create())
     {
         byte[] pwdInBytes = sha.ComputeHash(Encoding.Unicode.GetBytes(password));
         using (var db = new CHDB())
         {
             var currentUser = (from u in db.USERs
                                where u.Name == name
                                select u).SingleOrDefault();
             if (null == currentUser)
                 throw new UserNotFoundException();
             if (!Enumerable.SequenceEqual<byte>(pwdInBytes, currentUser.Password))
                 throw new PasswordMismatchException();
             currentUser.LastLoginIP = ip;
             currentUser.LastLoginTime = DateTime.Now;
             var newToken = new OnlineUser()
                 {
                     ID = currentUser.ID,
                     Token = Guid.NewGuid(),
                     name = currentUser.Name,
                     email = currentUser.Email,
                     groups = (from g in currentUser.GROUPs
                               select g.Name).ToList(),
                     ip = ip,
                     IsAdmin = currentUser.GROUPs.Where(x => x.Name == "Administrators").Any()
                 };
             OnlineUsers.AddOrUpdate(currentUser.ID, newToken, (Guid id, OnlineUser oldv) => newToken);
             db.SaveChanges();
             return currentUser.ID.ToString() + "|" + newToken.Token.ToString();
         }
     }
     throw new UndefinedException();
 }
Beispiel #36
0
 /// <summary>
 /// 验证Token
 /// </summary>
 /// <param name="Token"></param>
 /// <exception cref="BadTokenException"></exception>
 public static void Authenticate(string Token, string ip)
 {
     string[] tokens = Token.Split(new char[] { '|' });
     if (tokens.Length != 2)
         throw new BadTokenException();
     Guid uid = Guid.Parse(tokens[0]), tk = Guid.Parse(tokens[1]);
     if (!OnlineUsers.ContainsKey(uid))
         throw new BadTokenException();
     if (OnlineUsers[uid].Token != tk)
         throw new BadTokenException();
     if (OnlineUsers[uid].ip != ip)
         throw new BadTokenException();
     CurrentUser = OnlineUsers[uid];
 }
Beispiel #37
0
 /// <summary>
 /// 插入在线新用户
 /// </summary>
 /// <param name="username">用户名</param>
 /// <param name="sessionid">用户sessionid</param>
 public static void InterfaceInsertOnlineUser(string username, string sessionid)
 {
     if (Common.GetOnlineCountType == OnlineCountType.DataBase)
     {
         InsertMemberOnline(username, sessionid);
     }
     else
     {
         OnlineUser<string> us = new OnlineUser<string>();
         us.U_Guid = sessionid;
         us.U_Name = username;
         us.U_Type = true;
         us.U_LastUrl = Common.GetScriptUrl;
         FrameWorkPermission.UserOnlineList.InsertUser(us.U_Guid, us);
     }
 }
 /// <summary>
 /// 获得在线用户名表
 /// </summary>
 /// <param name="pageindex">页码</param>
 /// <param name="pagesize">页大小</param>
 /// <param name="totalnum">记录总数</param>
 /// <returns>列表集合</returns>
 public List<OnlineUser<string>> GetOnlineList(int pageindex, int pagesize, out int totalnum)
 {
     List<OnlineUser<string>> lst = new List<OnlineUser<string>>();
     QueryParam qp = new QueryParam();
     qp.PageIndex = pageindex;
     qp.PageSize = pagesize;
     int RecordCount = 0;
     ArrayList lst1 = BusinessFacade.sys_OnlineList(qp, out RecordCount);
     foreach (sys_OnlineTable var in lst1)
     {
         OnlineUser<string> ou = new OnlineUser<string>();
         ou.U_Guid = var.O_SessionID;
         ou.U_LastIP = var.O_Ip;
         ou.U_LastTime = var.O_LastTime;
         ou.U_LastUrl = var.O_LastUrl;
         ou.U_Name = var.O_UserName;
         ou.U_StartTime = var.O_LoginTime;
         TimeSpan ts = ou.U_LastTime - ou.U_StartTime;
         ou.U_OnlineSeconds = ts.TotalSeconds;
         ou.U_Type = true;
         lst.Add(ou);
     }
     totalnum = RecordCount;
     return lst;
 }
        /// <summary>
        /// 获得在线用户信息
        /// </summary>
        /// <param name="username">用户名</param>
        /// <returns></returns>
        public OnlineUser<string> GetOnlineMember(string username)
        {
            sys_OnlineTable online = BusinessFacade.sys_OnlineDisp(username);
            OnlineUser<string> ou = new OnlineUser<string>();
            ou.U_Guid = online.O_SessionID;
            ou.U_LastIP = online.O_Ip;
            ou.U_LastTime = online.O_LastTime;
            ou.U_LastUrl = online.O_LastUrl;
            ou.U_Name = online.O_UserName;
            ou.U_StartTime = online.O_LoginTime;
            TimeSpan ts = ou.U_LastTime - ou.U_StartTime;
            ou.U_OnlineSeconds = ts.TotalSeconds;
            ou.U_Type = true;

            return ou;
        }
 public OnlineUserChangedEventArgs(OnlineUser user, string type)
 {
     this.User = user;
     this.Type = type;
     this.UserName = user.UserName;
 }
Beispiel #41
0
        /// <summary>
        /// 获得在线用户列表用户信息
        /// </summary>
        /// <param name="username">用户名</param>
        /// <returns>OnlineUser类</returns>
        public static OnlineUser<string> InterfaceGetOnlineMember(string username)
        {
            if (Common.GetOnlineCountType == OnlineCountType.DataBase)
            {
                sys_OnlineTable online = sys_OnlineDisp(username);
                OnlineUser<string> ou = new OnlineUser<string>();
                ou.U_Guid = online.O_SessionID;
                ou.U_LastIP = online.O_Ip;
                ou.U_LastTime = online.O_LastTime;
                ou.U_LastUrl = online.O_LastUrl;
                ou.U_Name = online.O_UserName;
                ou.U_StartTime = online.O_LoginTime;
                TimeSpan ts = ou.U_LastTime - ou.U_StartTime;
                ou.U_OnlineSeconds = ts.TotalSeconds;
                ou.U_Type = true;

                return ou;
            }
            else
            {
                return FrameWorkPermission.UserOnlineList.GetValue(username);
            }
        }