public ActionResult Index(MsgUser MsgUser, EFPagingInfo <MsgUser> p, int IsFirst = 0) { if (IsFirst == 0) { PageOfItems <MsgUser> MsgUserList1 = new PageOfItems <MsgUser>(new List <MsgUser>(), 0, 10, 0, new Hashtable()); ViewBag.MsgUserList = MsgUserList1; ViewBag.MsgUser = MsgUser; return(View()); } if (!MsgUser.Name.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Name.Contains(MsgUser.Name)); } if (!MsgUser.State.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.State == (MsgUser.State == 99 ? 0 : MsgUser.State)); } p.SqlWhere.Add(f => f.PId == AdminUser.Id); p.OrderByList.Add("Id", "DESC"); IPageOfItems <MsgUser> MsgUserList = Entity.Selects <MsgUser>(p); ViewBag.MsgUserList = MsgUserList; ViewBag.MsgUser = MsgUser; return(View()); }
private void DistributionUserMessege(MsgUser newMsg) { for (int i = 0; i < userManager.GetActiveUsers.Count(); i++) { bf.Serialize(userManager.GetActiveUsers.ElementAt(i).GetTcpStream, newMsg); } }
public ActionResult Index(MsgUser MsgUser, EFPagingInfo <MsgUser> p, int IsFirst = 0) { if (IsFirst == 0) { PageOfItems <MsgUser> MsgUserList1 = new PageOfItems <MsgUser>(new List <MsgUser>(), 0, 10, 0, new Hashtable()); ViewBag.MsgUserList = MsgUserList1; ViewBag.MsgUser = MsgUser; ViewBag.UsersList = new List <Users>(); ViewBag.IsMyDelete = checkPower("Delete"); ViewBag.IsMyEdit = checkPower("Edit"); ViewBag.IsMySave = checkPower("Save"); ViewBag.IsMyAdd = checkPower("Add"); return(View()); } if (!MsgUser.Info.IsNullOrEmpty()) { if (MsgUser.Info == "全体商户") { p.SqlWhere.Add(f => f.UId == 0); } else { IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(MsgUser.Info) || n.NeekName.Contains(MsgUser.Info) || n.UserName == MsgUser.Info).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } } if (!MsgUser.Name.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Name.Contains(MsgUser.Name)); } if (!MsgUser.State.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.State == (MsgUser.State == 99 ? 0 : MsgUser.State)); } p.OrderByList.Add("Id", "DESC"); IPageOfItems <MsgUser> MsgUserList = Entity.Selects <MsgUser>(p); ViewBag.MsgUserList = MsgUserList; ViewBag.MsgUser = MsgUser; IList <MsgUser> List = MsgUserList.GroupBy(n => n.UId).Select(n => n.First()).ToList(); List <int> UId = new List <int>(); foreach (var pp in List) { UId.Add(pp.UId); } ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); ViewBag.IsMyDelete = checkPower("Delete"); ViewBag.IsMyEdit = checkPower("Edit"); ViewBag.IsMySave = checkPower("Save"); ViewBag.IsMyAdd = checkPower("Add"); return(View()); }
public void Delete(MsgUser MsgUser, string InfoList, int?IsDel) { if (string.IsNullOrEmpty(InfoList)) { InfoList = MsgUser.Id.ToString(); } int Ret = Entity.MoveToDeleteEntity <MsgUser>(InfoList, IsDel, AdminUser.UserName); Entity.SaveChanges(); Response.Write(Ret); }
public void ChangeStatus(MsgUser MsgUser, string InfoList, string Clomn, string Value) { if (string.IsNullOrEmpty(InfoList)) { InfoList = MsgUser.Id.ToString(); } int Ret = Entity.ChangeEntity <MsgUser>(InfoList, Clomn, Value); Entity.SaveChanges(); Response.Write(Ret); }
public void Add(MsgUser MsgUser, string AgentId, bool?IsShowSupAgent) { if (MsgUser.UId == 0) { Response.Redirect("/Manage/home/error.html?msg=参数错误~"); return; } string sendUsers = ""; //根据代理商发送 //if (IsState == "0") //{ // int AId = Convert.ToInt32(AgentId); // IList<Users> listUser = new List<Users>(); // //获取代理商 // SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == AId).FirstOrNew(); // //是否要显示下级 // if ((bool)IsShowSupAgent) // { // IList<SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity); // listUser = SysAgentList.GetAgentUsers(Entity); // } // else // { // listUser = LowerLevelAgent.GetAgentUsers(Entity); // } // if (listUser.Count > 1) // { // MsgUser.UId = 0; // foreach (var item in listUser) // { // sendUsers += item.Id + ","; // } // } // else // { // MsgUser.UId = listUser[0].Id; // } //} MsgUser.PId = AdminUser.Id; MsgUser.SendUsers = !string.IsNullOrWhiteSpace(sendUsers) ? "," + sendUsers : sendUsers; MsgUser.AddTime = DateTime.Now; MsgUser.ReadUsers = string.Empty; MsgUser.DeleteUsers = string.Empty; Entity.MsgUser.AddObject(MsgUser); Entity.SaveChanges(); if (string.IsNullOrWhiteSpace(MsgUser.SendUsers)) { MsgUser.PushMsg(Entity); } BaseRedirect(); }
public ActionResult Edit(MsgUser MsgUser, int UserId = 0) { Dictionary <int, string> userName = new Dictionary <int, string>(); if (MsgUser.Id != 0) { MsgUser = Entity.MsgUser.FirstOrDefault(n => n.Id == MsgUser.Id); if (MsgUser == null) { ViewBag.ErrorMsg = "数据不存在"; return(View("Error")); } //有多个用户的情况下 if (MsgUser.UId == 0 && !string.IsNullOrEmpty(MsgUser.SendUsers)) { string[] uid = MsgUser.SendUsers.Substring(1, MsgUser.SendUsers.Length - 1).Split(','); foreach (var item in uid) { if (!string.IsNullOrWhiteSpace(item)) { int Uid = Convert.ToInt32(item); var userModel = Entity.Users.FirstOrDefault(x => x.Id == Uid); if (userModel != null) { userName.Add(userModel.Id, string.IsNullOrWhiteSpace(userModel.TrueName) ? userModel.UserName : userModel.TrueName); } } } } //全体商户的情况下 else if (MsgUser.UId == 0 && string.IsNullOrWhiteSpace(MsgUser.SendUsers)) { userName.Add(0, "全体商户"); } //单个用户的情况下 else if (MsgUser.UId > 0 && string.IsNullOrWhiteSpace(MsgUser.SendUsers)) { var userModel = Entity.Users.FirstOrDefault(x => x.Id == MsgUser.UId); if (userModel != null) { userName.Add(userModel.Id, string.IsNullOrWhiteSpace(userModel.TrueName) ? userModel.UserName : userModel.TrueName); } } } ViewBag.UserName = userName; ViewBag.SysAgentList = Entity.SysAgent.Where(x => x.Tier == 1 && x.State == 1).ToList(); ViewBag.MsgUser = MsgUser; if (Request.UrlReferrer != null) { Session["Url"] = Request.UrlReferrer.ToString(); } return(View()); }
public ActionResult Edit(MsgUser MsgUser) { Dictionary <int, string> userName = new Dictionary <int, string>(); if (MsgUser.Id != 0) { MsgUser = Entity.MsgUser.FirstOrDefault(x => x.Id == MsgUser.Id && x.PId == AdminUser.Id); if (MsgUser == null) { ViewBag.ErrorMsg = AgentLanguage.Empty; return(View("Error")); } //有多个用户的情况下 if (MsgUser.UId == 0 && MsgUser.SendUsers != ",0,") { string[] uid = MsgUser.SendUsers.Substring(1, MsgUser.SendUsers.Length - 1).Split(','); foreach (var item in uid) { if (!string.IsNullOrWhiteSpace(item)) { int Uid = Convert.ToInt32(item); var userModel = Entity.Users.FirstOrDefault(x => x.Id == Uid); if (userModel != null) { userName.Add(userModel.Id, string.IsNullOrWhiteSpace(userModel.TrueName) ? userModel.UserName : userModel.TrueName); } } } } //全体商户的情况下 else if (MsgUser.UId == 0 && MsgUser.SendUsers == ",0,") { userName.Add(0, "全体商户"); } //单个用户的情况下 else if (MsgUser.UId > 0 && MsgUser.SendUsers != ",0,") { var userModel = Entity.Users.FirstOrDefault(x => x.Id == MsgUser.UId); if (userModel != null) { userName.Add(userModel.Id, string.IsNullOrWhiteSpace(userModel.TrueName) ? userModel.UserName : userModel.TrueName); } } } ViewBag.UserName = userName; ViewBag.MsgUser = MsgUser; if (Request.UrlReferrer != null) { Session["Url"] = Request.UrlReferrer.ToString(); } return(View()); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[MsgUser]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } MsgUser MsgUser = new MsgUser(); MsgUser = JsonToObject.ConvertJsonToModel(MsgUser, json); Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == MsgUser.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } string uid = string.Format(",{0},", baseUsers.Id); int Count = Entity.MsgUser.Count(n => (n.UId == baseUsers.Id && n.State == 1) || (n.UId == 0 && !n.ReadUsers.Contains(uid) && !n.DeleteUsers.Contains(uid) && n.AddTime > baseUsers.AddTime && (n.SendUsers.Contains(uid) || n.SendUsers == null || n.SendUsers == ""))); baseUsers.Cols = "MsgCount"; baseUsers.MsgCount = Count; DataObj.Data = baseUsers.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }
public void Save(MsgUser MsgUser) { if (MsgUser.UId == 0) { Response.Redirect("/Manage/home/error.html?msg=参数错误~"); return; } MsgUser baseMsgUser = Entity.MsgUser.FirstOrDefault(n => n.Id == MsgUser.Id); baseMsgUser = Request.ConvertRequestToModel <MsgUser>(baseMsgUser, MsgUser); Entity.SaveChanges(); BaseRedirect(); }
private void AddUserMessegeToDb(MsgUser newMsg) { if (newMsg != null) { newMsg.Sender = context.Users.FirstOrDefault(u => u.UserName == newMsg.Sender.UserName); if (newMsg.Sender != null) { context.UserMesseges.Attach(newMsg); context.UserMesseges.Add(newMsg); context.SaveChanges(); } } }
public void Add(MsgUser MsgUser, bool?IsShowSupAgent) { if (MsgUser.UId == 0) { Response.Redirect("/Agent/home/error.html?msg=参数错误~"); return; } IList <Users> listUser = new List <Users>(); string sendUsers = ""; //获取代理商 SysAgent LowerLevelAgent = null; #region 单个用户或者全体商户 处理 //if (MsgUser.UId == 0) //{ // LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == BasicAgent.Id).FirstOrNew(); // //是否要显示下级 // if ((bool)IsShowSupAgent) // { // IList<SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity); // listUser = SysAgentList.GetAgentUsers(Entity); // } // else // { // listUser = LowerLevelAgent.GetAgentUsers(Entity); // } // if (listUser.Count > 0) // { // MsgUser.UId = 0; // foreach (var item in listUser) // { // sendUsers += item.Id + ","; // } // } //} #endregion MsgUser.PId = AdminUser.Id; //MsgUser.SendUsers = !string.IsNullOrWhiteSpace(sendUsers) ? "," + sendUsers : ",0,"; MsgUser.SendUsers = ""; MsgUser.AddTime = DateTime.Now; MsgUser.ReadUsers = string.Empty; MsgUser.DeleteUsers = string.Empty; Entity.MsgUser.AddObject(MsgUser); Entity.SaveChanges(); if (MsgUser.UId > 0) { MsgUser.PushMsg(Entity); } BaseRedirect(); }
public static void Process(ClientSocket userSocket, byte[] packet) { var msgLogin = (MsgLogin)packet; var username = msgLogin.GetUsername(); var password = msgLogin.GetPassword(); userSocket.UseCompression = msgLogin.ClientSupportCompression; FConsole.WriteLine($"MsgLogin: {username} with password {password} (compress: {userSocket.UseCompression}) requesting login."); var user = new User { Socket = userSocket, Username = username, Password = password }; user.Socket.OnDisconnect += user.OnDisconnect; user.Socket.StateObject = user; if (Core.Db.Authenticate(username, password)) { Core.Db.LoadUser(ref user); } else { Core.Db.AddUser(user); } msgLogin.UniqueId = user.Id; Collections.OnlineUsers.TryAdd(user.Id, user); user.Send(msgLogin, true); var userInfoPacket = MsgUser.Create(user.Id, user.Nickname, user.AvatarUrl, user.Email, true); foreach (var friendId in user.Friends) { var friend = Oracle.GetUserFromId(friendId); if (friend.Socket != null && friend.Socket.IsConnected) { friend.Send(userInfoPacket); } } user.Send(userInfoPacket); FConsole.WriteLine($"MsgLogin Deserializing & Processing took {((((float)PacketRouter.Stopwatch.ElapsedTicks) / Stopwatch.Frequency) * 1000000):0} microsec"); }
public void Delete(MsgUser MsgUser, string InfoList, int?IsDel) { if (string.IsNullOrEmpty(InfoList)) { InfoList = MsgUser.Id.ToString(); } MsgUser baseMsgUser = Entity.MsgUser.FirstOrDefault(n => n.Id == MsgUser.Id && n.PId == AdminUser.Id); if (baseMsgUser == null) { Response.Redirect("/Agent/home/error.html?msg=无权限删除~"); return; } int Ret = Entity.MoveToDeleteEntity <MsgUser>(InfoList, IsDel, AdminUser.UserName); Entity.SaveChanges(); Response.Write(Ret); }
public void Save(MsgUser MsgUser) { if (MsgUser.UId == 0) { Response.Redirect("/Agent/home/error.html?msg=参数错误~"); return; } MsgUser baseMsgUser = Entity.MsgUser.FirstOrDefault(n => n.Id == MsgUser.Id && n.PId == AdminUser.Id); if (baseMsgUser == null) { Response.Redirect("/Agent/home/error.html?msg=无权限修改~"); return; } MsgUser.SendUsers = baseMsgUser.SendUsers; MsgUser.UId = baseMsgUser.UId; // MsgUser.SendUsers = baseMsgUser.SendUsers; baseMsgUser = Request.ConvertRequestToModel <MsgUser>(baseMsgUser, MsgUser); Entity.SaveChanges(); BaseRedirect(); }
private void btnSend_Click(object sender, EventArgs e) { MsgUser msg = new MsgUser(newClient.GetUser); msg.TxtMessege = txtSendMessege.Text; newClient.SendMessege(msg); if (newClient.ServerError) { DialogResult dr = MessageBox.Show("Error! Please check the server activity.", "Server Error!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); if (dr == DialogResult.Retry) { btnSend_Click(sender, e); return; } else { return; } } txtSendMessege.Clear(); }
void MessageLoop() { MsgLogin login = new MsgLogin(); login.InitHeader("ahai", "gca"); login.username = "******"; login.password = "******"; MessageHeader result = _TcpMessageClient.SendRecvMessage(login, 1000); if (result != null) { MsgText msgtext = (MsgText)result; Console.WriteLine(msgtext.text); } MsgUser user = new MsgUser(); user.InitHeader("ahai", "gca"); user.username = "******"; user.password = "******"; user.role = "admin"; if (!_TcpMessageClient.SendMessage <MsgUser>(user)) { return; } MsgText text = new MsgText(); text.InitHeader("ahai", "gca"); do { string msg = Console.ReadLine(); text.text = msg; if (!_TcpMessageClient.SendMessage <MsgText>(text)) { break; } } while (true); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[MsgUser]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } MsgUser MsgUser = new MsgUser(); MsgUser = JsonToObject.ConvertJsonToModel(MsgUser, json); Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == MsgUser.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } //if (baseUsers.CardStae != 2)//未实名认证 //{ // DataObj.OutError("2006"); // return; //} //if (baseUsers.MiBao != 1)//未设置支付密码 //{ // DataObj.OutError("2008"); // return; //} string uid = string.Format(",{0},", baseUsers.Id); EFPagingInfo <MsgUser> p = new EFPagingInfo <MsgUser>(); if (!MsgUser.Pg.IsNullOrEmpty()) { p.PageIndex = MsgUser.Pg; } if (!MsgUser.Pgs.IsNullOrEmpty()) { p.PageSize = MsgUser.Pgs; } //p.SqlWhere.Add(f => f.UId == baseUsers.Id || ( !f.DeleteUsers.Contains(uid) && f.SendUsers.Contains(uid)) );群发功能检索 p.SqlWhere.Add(f => f.UId == baseUsers.Id); p.SqlWhere.Add(f => f.State > 0 && f.AddTime > baseUsers.AddTime); p.OrderByList.Add("Id", "DESC"); IPageOfItems <MsgUser> List = Entity.Selects <MsgUser>(p); foreach (var P in List.Where(n => n.UId == 0)) { //处理已读 if (P.ReadUsers.IsNullOrEmpty()) { P.ReadUsers = string.Empty; } if (P.ReadUsers.IndexOf(uid) != -1) { P.State = 2; } P.Info = Utils.RemoveHtml(P.Info); P.Info = P.Info.Replace(" ", ""); } IList <MsgUser> iList = List.ToList(); StringBuilder sb = new StringBuilder(""); sb.Append("{"); sb.Append(List.PageToString()); sb.Append(","); sb.Append(iList.EntityToString()); sb.Append("}"); DataObj.Data = sb.ToString(); DataObj.Code = "0000"; DataObj.OutString(); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[MsgUserInfo]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } MsgUser MsgUser = new MsgUser(); MsgUser = JsonToObject.ConvertJsonToModel(MsgUser, json); Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == MsgUser.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } //if (baseUsers.CardStae != 2)//未实名认证 //{ // DataObj.OutError("2006"); // return; //} //if (baseUsers.MiBao != 1)//未设置支付密码 //{ // DataObj.OutError("2008"); // return; //} string Delete = MsgUser.Delete;//要删除的ID列 string[] Arr = Delete.Split(','); List <int> List = new List <int>(); try { foreach (var p in Arr) { string ppp = p.Trim(); int pp = Int32.Parse(ppp); List.Add(pp); } } catch { } IList <MsgUser> MsgUserList = Entity.MsgUser.Where(n => List.Contains(n.Id)).ToList(); //删除自己的 string DeleteIds = "0"; foreach (var p in MsgUserList.Where(n => n.UId == baseUsers.Id)) { DeleteIds += "," + p.Id; } string SQL = "Update MsgUser Set IsDel=1 Where Id in (" + DeleteIds + ")"; Entity.ExecuteStoreCommand(SQL); //全员标识已删除 string uid = string.Format(",{0},", baseUsers.Id); foreach (var p in MsgUserList.Where(n => n.UId == 0)) { if (p.DeleteUsers.IsNullOrEmpty()) { p.DeleteUsers = uid; } else if (p.DeleteUsers.IndexOf(uid) == -1) { p.DeleteUsers += baseUsers.Id.ToString() + ","; } } Entity.SaveChanges(); DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[MsgUserInfo]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } MsgUser MsgUser = new MsgUser(); MsgUser = JsonToObject.ConvertJsonToModel(MsgUser, json); Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == MsgUser.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } //if (baseUsers.CardStae != 2)//未实名认证 //{ // DataObj.OutError("2006"); // return; //} //if (baseUsers.MiBao != 1)//未设置支付密码 //{ // DataObj.OutError("2008"); // return; //} //获取信息 MsgUser = Entity.MsgUser.FirstOrDefault(n => n.Id == MsgUser.Id && (n.UId == baseUsers.Id || n.UId == 0)); if (MsgUser == null)//不存在 { DataObj.OutError("1001"); return; } else //标识为已读 { if (MsgUser.State == 1 && MsgUser.UId > 0) { MsgUser.State = 2; Entity.SaveChanges(); } else if (MsgUser.UId == 0) { string uid = string.Format(",{0},", baseUsers.Id); if (MsgUser.ReadUsers.IsNullOrEmpty()) { MsgUser.ReadUsers = uid; } else if (MsgUser.ReadUsers.IndexOf(uid) == -1) { MsgUser.ReadUsers += baseUsers.Id.ToString() + ","; } Entity.SaveChanges(); } } MsgUser.Info = Utils.RemoveHtml(MsgUser.Info); MsgUser.Info = MsgUser.Info.Replace(" ", ""); MsgUser.Cols = "Id,Name,Info,UId,AddTime"; DataObj.Data = MsgUser.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }
public static void Process(User user, byte[] packet) { var msg = (MsgDataRequest)packet; FConsole.WriteLine($"MsgDataRequest: {Oracle.GetUserFromId(msg.UserId).Username} requests {msg.Type} on {msg.TargetId} with param {msg.Param}"); if (user == null) { return; } switch (msg.Type) { case MsgDataRequestType.Friends: foreach (var friendId in user.Friends) { var friend = Oracle.GetUserFromId(friendId); if (friend != null) { var online = false; if (friend.Socket != null) { online = friend.Socket.IsConnected; } user.Send(MsgUser.Create(friend.Id, friend.Nickname, friend.AvatarUrl, friend.Email, online)); } } user.Send(msg); break; case MsgDataRequestType.VServers: foreach (var serverId in user.VirtualServers) { var server = Oracle.GetServerFromId(serverId); if (server != null) { user.Send(MsgVServer.Create(server.Id, server.Name, server.IconUrl, server.CreatedTime, server.LastActivity)); } } user.Send(msg); break; case MsgDataRequestType.Channels: var dbServer = Oracle.GetServerFromId(msg.TargetId); if (dbServer != null) { foreach (var channelId in dbServer.Channels) { user.Send(MsgChannel.Create(channelId.Key, dbServer.Id, channelId.Value.Name)); } } user.Send(msg); break; case MsgDataRequestType.Messages: var dbChannel = Oracle.GetServerChannelFromId(msg.TargetId, msg.Param); if (dbChannel != null) { foreach (var(_, message) in dbChannel.Messages) { user.Send(MsgText.Create(message.Id, message.AuthorId, message.Text, msg.TargetId, dbChannel.Id, message.Timestamp)); } } user.Send(msg); break; default: FConsole.WriteLine("Invalid packet received from " + user.Username); user.Socket.Disconnect("Server.Networking.PacketRouter.ProcessDataRequest() Invalid packet received"); break; } FConsole.WriteLine($"MsgDataRequest Deserializing & Processing took {((((float)PacketRouter.Stopwatch.ElapsedTicks) / Stopwatch.Frequency) * 1000000):0} microsec"); }