/// <summary> /// 刷新Token并添加到返回数据中 /// </summary> /// <param name="context"></param> /// <param name="response"></param> private void AddRefreshToken(HttpContext context, MResponse response) { Endpoint endpoint = context.GetEndpoint(); // 检查请求接口标注的特性 bool isPersona = endpoint?.Metadata.GetMetadata <PersonaAttribute>() != null; bool isUser = endpoint?.Metadata.GetMetadata <UserAttribute>() != null; // 获取用户发送的cookie string token = context.Request.Headers["srlab_token"]; // 请求不需认证的接口,返回原Token if (!isPersona && !isUser) { if (!string.IsNullOrWhiteSpace(token)) { response.Token = token; } return; } if (string.IsNullOrWhiteSpace(_currentUser?.PlatformID)) { response.Token = null; return; } _currentUser.Token = token; response.Token = RefreshToken(); }
public override void OnResultExecuting(ResultExecutingContext context) { // 统一出参格式 MResponse response = new MResponse(); if (context.Result is EmptyResult) { response = MResponse.Success(); } else if (context.Result is ObjectResult obj) { if (obj.DeclaredType == typeof(MResponse)) { response = (MResponse)obj.Value; } else { // 出参类型不为MResponse时,将出参赋值给MResponse.Data再返回 response = obj.Value.Success(); } } // 统一刷新返回Token AddRefreshToken(context.HttpContext, response); context.Result = new ObjectResult(response); base.OnResultExecuting(context); }
private void AddProject(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "projects.add")) { return; } try { using (var db = new DatabaseContext()) { var MPorject = Package.Unpacking <Project>(ClientResponse.DataBytes); MPorject.UserId = Users.GetUserById(NetworkClient.Id).Id; db.Projects.Attach(MPorject); db.SaveChanges(); if (AccessController.IsPrivilege(NetworkClient, "edit_project")) { Sender.Broadcast("Project.Add.Confirm", MPorject); } } } catch (DbException ex) { } }
private void HistoryGetAll(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests.history")) { return; } try { var ProjectId = Package.Unpacking <int>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { WebRequestHistory[] DbHistory = db.WebRequestsHistory.Where(x => x.ProjectId == ProjectId).ToArray(); if (DbHistory.Length != 0) { Sender.Send(NetworkClient, "RequestsHistory.GetAll.Confirm", DbHistory); } } } catch (DbException ex) { Debug.LogError("Возникло исключение при получении истории запросов с сервера. Код ошибки: " + ex); } }
private void DeleteUser(HttpContext context) { mrequest = new MRequest(); mrequest.User = new UserInfo(); mrequest.User.Hospital = context.Request.Form["Hospital"]; mrequest.User.UserId = Convert.ToInt32(context.Request.Form["UId"]); mresponse = new UserManagementService().DeleteAccount(mrequest); var users = mresponse.users; var totalRecords = users.Count; var renderHtml = createFelxiJson(context, users, totalRecords); switch (mresponse.acknowledge) { case AcknowledgeType.Success: context.Response.Write(renderHtml); break; case AcknowledgeType.Failure: break; default: break; } }
private void AddNewUser(HttpContext context) { mrequest = new MRequest(); mrequest.User = new UserInfo(); mrequest.User.Email = context.Request.Form["Email"]; mrequest.User.Password = context.Request.Form["Password"]; mrequest.User.UserName = context.Request.Form["Name"]; mrequest.User.MobileNumber = context.Request.Form["MobNumber"]; mrequest.User.Hospital = context.Request.Form["Hospital"]; mresponse = new UserManagementService().InsertAccounts(mrequest); var users = mresponse.users; var totalRecords = users.Count; var renderHtml = createFelxiJson(context, users, totalRecords); switch (mresponse.acknowledge) { case AcknowledgeType.Success: context.Response.Write(renderHtml); break; case AcknowledgeType.Failure: break; default: break; } //context.Response.Write(new JavaScriptSerializer().Serialize(new //{ // success = true, // message = "Record saved", // data = renderHtml //})); }
/// <summary> /// 添加SR基础数据 /// </summary> /// <returns></returns> public async Task <MResponse> AsyncSRData() { MRankInfo srRankInfo = (await _steamBLL.GetRankScore(new[] { CurrentUser.RankID })).FirstOrDefault(); if (srRankInfo == null) { bool hasSR = (await _steamBLL.GetOwnedGames(CurrentUser.PlatformID))?.OwnedGames?.Any(x => x.AppId == 207140) ?? false; if (!hasSR) { return(MResponse.Fail("此账号尚未拥有SpeedRunners游戏")); } srRankInfo.RankType = 2; } else { srRankInfo.RankType = 1; srRankInfo.OldRankScore = srRankInfo.RankScore; } BeginDb(DAL => { DAL.UpdateRankInfo(srRankInfo, true); if (DAL.ExistRankLog(CurrentUser.PlatformID)) { return; } // 添加RankLog MRankLog rankLog = new MRankLog { PlatformID = CurrentUser.PlatformID, RankScore = srRankInfo.RankScore.Value, }; DAL.AddRankLog(rankLog); }); return(MResponse.Success()); }
private void ChatMessagesGetAll(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "projects.chat")) { return; } try { int ProjectId = Package.Unpacking <int>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { Chat[] ChatMessages = db.Chats.Where(x => x.ProjectId == ProjectId).ToArray(); if (ChatMessages.Length != 0) { List <ModelChatMessage> mChatMessages = new List <ModelChatMessage>(); foreach (var Message in ChatMessages) { mChatMessages.Add(GetModelMessage(db, Message)); } Sender.Send(NetworkClient, "Chat.Messages.GetAll.Confirm", mChatMessages.ToArray()); } } } catch (DbException ex) { Debug.LogError("Возникло исключение при получении списка сообщений. Код ошибки:\n" + ex); Sender.Send(NetworkClient, "Chat.Messages.GetAll.Error"); } }
private void AccessGetAll(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "teams.access")) { return; } try { int TeamId = Package.Unpacking <int>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { var DbTeamPrivileges = db.TeamPrivileges.Where(x => x.TeamGroupId == TeamId).ToArray(); Debug.Log($"Получен список прав доступа в количестве {DbTeamPrivileges.Length} записей.", ConsoleColor.Magenta); Sender.Send(NetworkClient, "Team.Access.GetAll.Confirm", DbTeamPrivileges, ClientResponse.WindowUid); } } catch (DbException ex) { Debug.LogError("Возникло исключение при получении списка прав доступа. Код ошибки:\n" + ex); Sender.Send(NetworkClient, "Team.Access.GetAll.Error"); } }
protected void btnSubmit_Click(object sender, EventArgs e) { redirectUrl = "~/Recorded/Default.aspx"; string userName = txtUserName.Text; string password = txtPassword.Text; request = new MRequest(); request.User = new UserInfo { UserName = userName, Password = password }; response = new UserManagementService().ValidateLogIn(request); if (response.LoginUser.IsValidUser) { SessionHandler.UserName = userName; SessionHandler.Hospital = response.LoginUser.Hospital; if (response.LoginUser.IsAdmin == 1) { SessionHandler.AdminUser = "******"; } else { SessionHandler.AdminUser = "******"; } Response.Redirect(redirectUrl); spnLogIn.Style["display"] = "block"; spnInvalidUser.Style["display"] = "none"; } else { spnInvalidUser.InnerText = "Invalid User/Password"; spnInvalidUser.Style["display"] = "block"; spnLogIn.Style["display"] = "none"; } }
private void GetTeamProjects(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "projects")) { return; } try { using (var db = new DatabaseContext()) { var TeamGroups = db.TeamGroups.ToArray(); Debug.Log($"Получен список команд из базы данных в количестве {TeamGroups.Length} записей.", ConsoleColor.Magenta); var MProject = Package.Unpacking <Project>(ClientResponse.DataBytes); var DbProjects = db.TeamProjects.Where(t => t.ProjectId == MProject.Id).ToArray(); Debug.Log($"Получен список проектов и команд из базы данных в количестве {DbProjects.Length} записей.", ConsoleColor.Magenta); Sender.Send(NetworkClient, "TeamProject.Get", DbConvertToWpf.ConvertTeamProjectCompilation(TeamGroups, DbProjects), ClientResponse.WindowUid); } } catch (DbException ex) { Debug.LogError("Возникла ошибка при получении списка проектов и команд из базы данных! Код ошибки:\n" + ex); Sender.Send(NetworkClient, "TeamProject.Get.Error"); } }
private void UsersGetAll(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "users")) { return; } try { using (var db = new DatabaseContext()) { var DbUsers = db.Users.ToArray(); var WUsers = DbConvertToWpf.ConvertUser(DbUsers); if (AccessController.IsPrivilege(NetworkClient, "users")) { Sender.Send(NetworkClient, "Users.GetAll.Confirm", WUsers); } } } catch (DbException ex) { Debug.LogError("Возникло исключение при получении списка пользователей. Код ошибки:\n" + ex); Sender.Send(NetworkClient, "Users.GetAll.Error"); } }
private void WebRequestDirSaver(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests.add")) { return; } var WebRequestDirItem = Package.Unpacking <WebRequestDir>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { db.Attach(WebRequestDirItem); db.SaveChanges(); Sender.Broadcast("WebRequestDir.Save.Confirm", WebRequestDirItem, ClientResponse.WindowUid); WebRequestItem WebRequestItem = db.WebRequestItems.FirstOrDefault(x => x.Id == WebRequestDirItem.WebRequestItemId); MBinding_WebRequest MBinding = new MBinding_WebRequest(); MBinding.Item = WebRequestItem; MBinding.Params = db.WebRequestParamsItems.Where(x => x.WebRequestItemId == WebRequestItem.Id).ToArray(); MBinding.Directory = WebRequestDirItem; Sender.Broadcast("WebRequestItem.MBinding_WebRequest.Add", MBinding); } }
private void WebRequestBindingGet(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests")) { return; } int ProjectId = Package.Unpacking <int>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { List <MBinding_WebRequest> MB_WebRequests = new List <MBinding_WebRequest>(); WebRequestItem[] WebRequestItems = db.WebRequestItems.Where(x => x.ProjectId == ProjectId).ToArray(); foreach (var RequestItem in WebRequestItems) { MBinding_WebRequest ListItem = new MBinding_WebRequest(); ListItem.Item = RequestItem; ListItem.Params = db.WebRequestParamsItems.Where(x => x.WebRequestItemId == RequestItem.Id).ToArray(); ListItem.Directory = db.WebRequestDirs.FirstOrDefault(x => x.WebRequestItemId == RequestItem.Id); MB_WebRequests.Add(ListItem); } Sender.Send(NetworkClient, "WebRequestItem.MBinding_WebRequest.Get", MB_WebRequests.ToArray(), ClientResponse.WindowUid); } }
private void WebRequestDirHistoryEdit(MResponse ClientResponse, MNetworkClient NetworkClient) { var RequestHistory = Package.Unpacking <WebRequestHistory>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { ModelRequestDirectory RequestDir = new ModelRequestDirectory(); RequestDir.RequestMethod = RequestHistory.Method; RequestDir.RequestTitle = RequestHistory.Title; RequestDir.WebRequestId = RequestHistory.WebRequestItemId; WebRequestDir WebDir = db.WebRequestDirs.FirstOrDefault(x => x.WebRequestItemId == RequestHistory.WebRequestItemId); RequestDir.Id = WebDir.Id; RequestDir.Title = WebDir.Title; Debug.Log($"\r\nId - {RequestDir.Id}\n" + $"RequestMethod - {RequestDir.RequestMethod}\n" + $"RequestTitle - {RequestDir.RequestTitle}\n" + $"Title - {RequestDir.Title}\n" + $"WebRequestId - {RequestDir.WebRequestId}\r\n"); Sender.Broadcast("WebRequestDir.History.Edit.Confirm", RequestDir, ClientResponse.WindowUid); } }
public void PageLoadSearchRecords(HttpContext context) { //string hospital = SessionHandler.Hospital.ToString(); // mrequest.User = new UserInfo { Hospital = hospital }; string hospital = context.Request.Form["Hospital"]; mresponse = new SearchRecordsService().SearchRecords(hospital); var records = mresponse.records; int totalRecords = mresponse.records.Count; var renderHtml = createFlexiJson(context, records, totalRecords); switch (mresponse.acknowledge) { case AcknowledgeType.Success: context.Response.Write(renderHtml); break; case AcknowledgeType.Failure: break; default: break; } }
private void GetTeamUsers(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "teams")) { return; } try { using (var db = new DatabaseContext()) { var UsersDb = db.Users.ToArray(); Debug.Log($"Получен список пользователей из базы данных в количестве {UsersDb.Length} записей.", ConsoleColor.Magenta); var TGroup = Package.Unpacking <TeamGroup>(ClientResponse.DataBytes); var TeamUsersDb = db.TeamUsers.Where(t => t.TeamGroupId == TGroup.Id).ToArray(); Debug.Log($"Получен список команд и пользователей из базы данных в количестве {TeamUsersDb.Length} записей.", ConsoleColor.Magenta); Sender.Send(NetworkClient, "TeamUser.Get", DbConvertToWpf.ConvertTeamUserCompilation(UsersDb, TeamUsersDb), ClientResponse.WindowUid); } } catch (DbException ex) { Debug.LogError("Возникла ошибка при получении списка пользователей из базы данных! Код ошибки:\n" + ex); Sender.Send(NetworkClient, "TeamUser.Get.Error"); } }
public MResponse UpdateReqStatus(RequisitionVM status) { bool success = new RequestDAO().UpdateStatus(status.Status, status.Id); MResponse response = new MResponse(success); return(response); }
private void AddHistoryItem(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests.history.add")) { return; } try { var WebRequestHistoryItem = Package.Unpacking <WebRequestHistory>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { if (WebRequestHistoryItem != null) { db.WebRequestsHistory.Add(WebRequestHistoryItem); db.SaveChanges(); Sender.Send(NetworkClient, "RequestsHistory.Add.Confirm", WebRequestHistoryItem); } } } catch (DbException ex) { Debug.LogError("Возникло исключение при добавлении объекта истории в базу данных. Код ошибки: " + ex); } }
public MResponse UpdateCollectionPoint(int pointId, string deptId) { bool success = new CollectionPointDAO().UpdateCollectionPoint(pointId, deptId); MResponse response = new MResponse(success); return(response); }
private void ChatMessagesNew(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "projects.chat")) { return; } try { var PreMessage = Package.Unpacking <Chat>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { PreMessage.UserId = Users.GetUserById(NetworkClient.Id).Id; PreMessage.Date = DateTime.Now; db.Chats.Add(PreMessage); db.SaveChanges(); Sender.Broadcast("Chat.Messages.New.Confirm", GetModelMessage(db, PreMessage)); } } catch (DbException ex) { Debug.LogError("Возникло исключение при добавлении нового сообщения. Код ошибки:\n" + ex); Sender.Send(NetworkClient, "Chat.Messages.New.Error"); } }
private void WebRequestParamsUpdate(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests.edit")) { return; } try { var RequestParamsItems = Package.Unpacking <MBinding_WebRequestSaver>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { var DbRequestParamsItems = new List <WebRequestParamsItem>(); foreach (var RequestParamsItem in RequestParamsItems.Params) { WebRequestParamsItem DbRequestParam = db.WebRequestParamsItems.FirstOrDefault (x => x.Id == RequestParamsItem.Id); if (DbRequestParam != null) { DbRequestParam.Key = RequestParamsItem.Key; DbRequestParam.Value = RequestParamsItem.Value; DbRequestParam.Description = RequestParamsItem.Description; db.SaveChanges(); DbRequestParamsItems.Add(DbRequestParam); } else { //if (db.WebRequestParamsItems.FirstOrDefault(x => x.Key == RequestParamsItem.Key) == null) //{ DbRequestParam = RequestParamsItem; DbRequestParam.Key = (DbRequestParam.Key != null) ? DbRequestParam.Key : ""; DbRequestParam.Value = (DbRequestParam.Value != null) ? DbRequestParam.Value : ""; DbRequestParam.Description = (DbRequestParam.Description != null) ? DbRequestParam.Description : ""; DbRequestParam.WebRequestItemId = RequestParamsItems.Item.Id; if (DbRequestParam.Key.Trim() != string.Empty || DbRequestParam.Value.Trim() != string.Empty) { db.WebRequestParamsItems.Add(DbRequestParam); db.SaveChanges(); DbRequestParamsItems.Add(DbRequestParam); } //} } } if (DbRequestParamsItems.Count != 0) { Sender.Broadcast("WebRequestParamsItem.Update.Confirm", DbRequestParamsItems.ToArray()); } } } catch (DbException ex) { Sender.Send(NetworkClient, "WebRequestParamsItem.Update.Error"); } }
public static bool SendToServer(string KeyNetwork, object DataObject = null, int WindowUid = -1) { try { Debug.Log("Подготовка запроса для отправки на сервер. Информация о запросе: \n" + $"KeyNetwork - {KeyNetwork}, WindowUid - {WindowUid}"); if (!ClientNetwork.Connected) { Debug.LogWarning("Не удалось проверить соединение с сервером, запрос отклонён!"); return(false); } byte[] DataBytes; if (DataObject != null && DataObject.GetType().Name == "Byte[]") { DataBytes = (byte[])DataObject; } else { DataBytes = Package.Packaging((DataObject == null) ? "" : DataObject); } var Receiver = new MResponse(); Receiver.WindowUid = WindowUid; Receiver.KeyNetwork = KeyNetwork; Receiver.DataBytes = DataBytes; byte[] WriteDataBytes = Package.Packaging(Receiver); try { ClientNetwork.Send(WriteDataBytes); } catch (SocketException ex) { Debug.LogError("Возникла ошибка при попытке отправить запрос на сервер. " + "Код ошибки:\n" + ex); } return(true); } catch (Exception ex) { Debug.LogError("Возникла ошибка при создании экземпляра транспортировки. " + "Код ошибки:\n" + ex); } return(false); }
public MResponse PostDelegate(Delegation delegation, int headId, string deptId) { bool success = new DelegationDAO().InsertDelegation(delegation, deptId); if (success) { Email email = new Email(); Employee e = new EmployeeDAO().GetEmployeeById(headId); email.SendEmail(delegation.Email, "Authority Delegation", email.CreateMsgBody(delegation, e.Name)); } MResponse response = new MResponse(success); return(response); }
public MResponse CancelDelegate(int headId, string deptId, Delegation delegation) { bool success = new DelegationDAO().CancelDelegation(deptId, delegation.Id); if (success) { Email email = new Email(); Employee e = new EmployeeDAO().GetEmployeeById(headId); email.SendEmail(delegation.Email, "Authority Delegation Cancel", email.CancelMsgBody(delegation, e.Name)); } MResponse response = new MResponse(success); return(response); }
public static void Send(MNetworkClient NetworkClient, string KeyNetwork, object DataObject = null, int WindowUid = -1) { try { Debug.Log("Подготовка запроса для отправки клиенту. Информация о запросе: \n" + $"KeyNetwork - {KeyNetwork}, WindowUid - {WindowUid}\n" + $"Информация о пользователе: [{NetworkClient.Id}] {NetworkClient.Ip}:{NetworkClient.Port}"); if (!NetworkClient.ClientNetwork.Connected) { Debug.LogWarning("Не удалось проверить соединение с клиентом, запрос отклонён!"); return; } byte[] DataBytes; if (DataObject != null && DataObject.GetType().Name == "Byte[]") { DataBytes = (byte[])DataObject; } else { DataBytes = Package.Packaging((DataObject == null) ? "" : DataObject); } var Receiver = new MResponse(); Receiver.WindowUid = WindowUid; Receiver.KeyNetwork = KeyNetwork; Receiver.DataBytes = DataBytes; byte[] WriteDataBytes = Package.Packaging(Receiver); try { NetworkClient.ClientNetwork.Send(WriteDataBytes); Debug.Log("Данные успешно отправлены клиенту."); } catch (SocketException ex) { Debug.LogError("Возникла ошибка при попытке отправить запрос клиенту. " + "Код ошибки:\n" + ex); } } catch (Exception ex) { Debug.LogError("Возникла ошибка при создании экземпляра транспортировки. " + "Код ошибки:\n" + ex); } }
private static bool CheckKeyNetwork(MNetworkAction DataDelegate, MResponse ServerResponse) { if (DataDelegate.KeyNetwork != null) { if (DataDelegate.KeyNetwork == ServerResponse.KeyNetwork) { return(true); } } else { return(true); } return(false); }
private void WebRequestParamsGet(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests")) { return; } int ItemId = Package.Unpacking <int>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { WebRequestParamsItem[] RequestParams = db.WebRequestParamsItems.ToArray(); Sender.Send(NetworkClient, "WebRequestParamsItem.Get.Confirm", RequestParams, ClientResponse.WindowUid); } }
private void UpdateProject(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "projects.edit")) { return; } try { using (var db = new DatabaseContext()) { var MProject = Package.Unpacking <Project>(ClientResponse.DataBytes); Project DbProject = db.Projects.Where(p => p.Id == MProject.Id).FirstOrDefault(); Project DbProjectCache = new Project { Id = DbProject.Id, Uid = DbProject.Uid, Title = DbProject.Title, UserId = DbProject.UserId }; DbProject.Uid = MProject.Uid; DbProject.Title = MProject.Title; db.SaveChanges(); Debug.Log($"Информация о команде обновлена:\n" + $"Id - {DbProjectCache.Id} > {MProject.Id}\n" + $"TeamUid - {DbProjectCache.Uid} > {MProject.Uid}\n" + $"Title - {DbProjectCache.Title} > {MProject.Title}\n" + $"UserId - {DbProjectCache.UserId} > {MProject.UserId}", ConsoleColor.Magenta); if (AccessController.IsPrivilege(NetworkClient, "edit_project")) { Sender.Broadcast("Project.Update.Confirm", DbProject, ClientResponse.WindowUid); } } } catch (DbUpdateException ex) { Debug.LogError("Возникла ошибка при обновлении команды в базе данных! Код ошибки:\n" + ex); Sender.Send(NetworkClient, "Project.Update.Error"); } }
private void RegisterUser(MResponse ClientResponse, MNetworkClient NetworkClient) { try { using (var db = new DatabaseContext()) { var user = Package.Unpacking <Compo_Shared_Data.Models.User>(ClientResponse.DataBytes); if (db.Users.Where(u => u.Email == user.Email).FirstOrDefault() == null && db.Users.Where(u => u.Login == user.Login).FirstOrDefault() == null) { user.Password = Crypter.Blowfish.Crypt(user.Password); db.Users.Add(user); db.SaveChanges(); Debug.Log("В базу данных добавлен новый пользователь", ConsoleColor.Magenta); Sender.Send(NetworkClient, "User.Register.Confirm", default, 2);