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(); } }
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); }
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); }
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); }
/// <summary> /// Send force disconnect message /// </summary> public void DisconnectMessage(OnlineUser receiver, string sender, string message) { Packet messagePacket = GenerateMessagePacket( "disconnect", sender, message ); SendPacket(receiver, messagePacket); }
/// <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); }
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; }
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); } }
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")); }
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(); }
/// <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)); }
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)); }
public OnlineUserUpdatedEvent( User user, OnlineUser onlineUser, string connectionId, DomainModel sender) : base( user, sender) { OnlineUser = onlineUser; ConnectionId = connectionId; }
public void ActionMessage(OnlineUser sender, string message) { Packet packet = GenerateMessagePacket( "action", sender.Username, Users[sender.Username].nickname, message ); AsyncBroadcastPacket(packet); EnqueueHistory(packet); }
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(); }
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(); }
public bool doesOLUserExist(int userID) { OnlineUser oluser = _db.OnlineUsers.SingleOrDefault(ol => ol.UID == userID); if (oluser != null) { return(true); } else { return(false); } }
public void LoginOut() { try { OnlineUser.Unlock(CurrentUser.UserID); CurrentUser = null; WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }
public void MessageSendTestMethod() { OnlineUser user = new OnlineUser(null); try { user.Message(""); Assert.Fail("연결 소켓이 없지만 메세지 전송 에러 없음"); } catch (Exception e) { } }
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); }
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); } }
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(); }
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); } } } }
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(); }
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(); }
/// <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))); } }
/// <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())}"); } }
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)); }
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)); } }
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; }
/// <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(); }
/// <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]; }
/// <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; }
/// <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); } }