private async void RenameChat() { if (Command["objectName"] != string.Empty && ChatSelected != string.Empty) { SignalRManager signalRManager = new SignalRManager(); string chatName = ChatSelected; string newChatName = Command["objectName"]; bool isChatExists = Convert.ToBoolean(await ApiManager.Read($"api/chat/isChatExists/{chatName}")); bool isNewChatExists = Convert.ToBoolean(await ApiManager.Read($"api/chat/isChatExists/{newChatName}")); if (isChatExists && !isNewChatExists) { bool hasRight = Convert.ToBoolean(await ApiManager.Read($"api/chat/hasHighRightInChat/{chatName}/{User.Name}")); if (hasRight) { await ApiManager.Change($"api/chat/renameChat/{newChatName}", $"{{ 'Name':'{chatName}' }}"); signalRManager.RenameChat(chatName, newChatName); } else { MessageBox.Show("У вас нет прав на это действие."); } } else { MessageBox.Show("У вас нет подключения к комнате или комната с предложенным названием уже существует."); } } }
private async void BanUser() { if (Command["specialCommand"] == "-m" && Command["valueSpecialCommand"] != string.Empty && Command["objectName"] != string.Empty) { bool hasRight = Convert.ToBoolean(await ApiManager.Read($"api/chat/hasLowRightInChat/allChats/{User.Name}")); if (hasRight) { MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); double time = Convert.ToDouble(Command["valueSpecialCommand"]); string userBannedName = Command["objectName"]; await ApiManager.Change($"api/chat/banUser/{time}", $"{{ 'Name':'{userBannedName}'}} "); signalRManager.BanUserToChat("allChats", userBannedName); } else { MessageBox.Show("У вас нет прав на это действие."); } } else { MessageBox.Show("Некорректное(-ая) имя/команда."); } }
private async void BanToChat() { if (Command["specialCommand"] == "-l" && Command["valueSpecialCommand"] != string.Empty && Command["secondSpecialCommand"] == "-m" && Command["secondValueSpecialCommand"] != string.Empty && Command["objectName"] != string.Empty) { string chatName = Command["objectName"]; string userName = User.Name; bool hasRight = Convert.ToBoolean(await ApiManager.Read($"api/chat/hasLowRightInChat/{chatName}/{userName}")); if (hasRight) { MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); double time = Convert.ToDouble(Command["secondValueSpecialCommand"]); string userBannedName = Command["valueSpecialCommand"]; await ApiManager.Change($"api/chat/banUserToChat/{time}", $"{{ 'Chat':{{'Name':'{chatName}'}}, 'User':{{'Name':'{userBannedName}'}} }}"); signalRManager.BanUserToChat(chatName, userBannedName); } else { MessageBox.Show("У вас нет прав на это действие."); } } else { MessageBox.Show("Некорректное(-ая) имя/команда или отсутствует подключение к чату."); } }
private async void Create() { if (Command["objectName"] != string.Empty) { ChatControl chatControl = new ChatControl(ChatsControl); MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); string chatName = Command["objectName"]; string userName = User.Name; bool isChatExists = Convert.ToBoolean(await ApiManager.Read($"api/chat/isChatExists/{chatName}")); if (!isChatExists) { await ApiManager.Create("api/chat/create", $"{{'Name':'{chatName}', 'Creator':'{userName}'}}"); await ApiManager.Create("api/chat/user", $"{{ 'Chat':{{'Name':'{chatName}'}}, 'User':{{'Name':'{userName}'}} }}"); chatControl.AddTabItem(chatName); mainWindow.UpdateUsersBox(); signalRManager.AddUserToChat(chatName, userName); } else { MessageBox.Show("Чат с таким названием уже существует."); } } else { MessageBox.Show("Некорректное имя."); } }
private async void Delete() { ChatControl chatWindow = new ChatControl(ChatsControl); string chatName = Command["objectName"]; bool hasRight = Convert.ToBoolean(await ApiManager.Read($"api/chat/hasHighRightInChat/{chatName}/{User.Name}")); if (hasRight) { if (chatName != string.Empty) { SignalRManager signalRManager = new SignalRManager(); ApiManager.Delete("api/chat", $"deleteChat/{chatName}/{User.Name}"); chatWindow.DeleteTabItem(chatName); signalRManager.RemoveChat(chatName); } else { MessageBox.Show("Некорректное имя."); } } else { MessageBox.Show("У вас нет прав на это действие."); } }
private async void AuthorizeButton_Click(object sender, RoutedEventArgs e) { User.Name = UserNameBox.Text; User.Password = UserPasswordBox.Text; if (User.Name != string.Empty && User.Password != string.Empty) { bool isRegistred = Convert.ToBoolean(await ApiManager.Read($"api/authorization/isRegistred/{User.Name}/{User.Password}")); if (isRegistred) { MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); ApiManager.Change("api/authorization/login", $"{{'Name':'{User.Name}', 'Password':'******'}}"); signalRManager.OnConnect(); Close(); mainWindow.ShowDialog(); } else { MessageBox.Show("Вы не зарегестрированы!"); } UserNameBox.Clear(); UserPasswordBox.Clear(); } else { MessageBox.Show("Заполните все поля!"); } }
private async void LoadPreviouslyOpenedChatsItems() { ChatControl chatControl = new ChatControl(ChatsControl); List <string> chatsNames = new List <string>(); string chatsJson = await ApiManager.Read($"api/chat/getChats/{User.Name}"); chatsNames = GetListValuesFromJson(chatsJson, "name"); foreach (string chatName in chatsNames) { chatControl.AddTabItem(chatName); await UpdateUsersBox(); } }
private async void RenameUser() { if (Command["objectName"] != string.Empty) { SignalRManager signalRManager = new SignalRManager(); string userName; string newUserName; if (Command["specialCommand"] == "-l" && Command["valueSpecialCommand"] != string.Empty) { userName = Command["objectName"]; newUserName = Command["valueSpecialCommand"]; } else { userName = User.Name; newUserName = Command["objectName"]; } bool isNewUserExists = Convert.ToBoolean(await ApiManager.Read($"api/chat/isUserExists/{newUserName}")); bool isUserExists = Convert.ToBoolean(await ApiManager.Read($"api/chat/isUserExists/{userName}")); if (!isNewUserExists && isUserExists) { bool hasRight = Convert.ToBoolean(await ApiManager.Read($"api/chat/isTrueUser/{userName}/{User.Password}")); if (hasRight) { await ApiManager.Change($"api/chat/renameUser/{newUserName}", $"{{ 'Name':'{userName}' }}"); signalRManager.RenameUser(userName, newUserName); } else { MessageBox.Show("У вас нет прав на это действие."); } } else { MessageBox.Show("Вы пытаетесь переименовать несуществующего пользователя или пользователь с предложенным логином уже существует."); } } else { MessageBox.Show("Некорректное имя."); } }
public async Task UpdateUsersBox() { if (ChatSelected != null) { List <string> usersNames = new List <string>(); string usersJson = await ApiManager.Read($"api/chat/getUsers/{ChatSelected}"); usersNames = GetListValuesFromJson(usersJson, "name"); ChatControl.UsersBox[ChatSelected].Items.Clear(); foreach (string user in usersNames) { ChatControl.CreateListBoxItem(ChatSelected, user); } } }
public static async void CreateListBoxItem(string chatName, string userName) { SolidColorBrush userColorText = new SolidColorBrush(); string status = await ApiManager.Read($"api/chat/statusUser/{chatName}/{userName}"); bool isBanned = Convert.ToBoolean(await ApiManager.Read($"api/chat/isUserBanned/{chatName}/{userName}")); switch (status) { case User.creator: userColorText = User.creatorColor; break; case User.administrator: userColorText = User.administratorColor; break; case User.moderator: userColorText = User.moderatorColor; break; case User.user: userColorText = User.userColor; break; } if (isBanned) { userColorText = User.bannedColor; } ListBoxItem newListBoxItem = new ListBoxItem { Content = userName, Foreground = userColorText, FontFamily = new FontFamily("Segoe UI Semibold") }; UsersBox[chatName].Items.Add(newListBoxItem); }
private async void RegisterButton_Click(object sender, RoutedEventArgs e) { User.Name = UserNameBox.Text; User.Password = UserPasswordBox.Text; if (User.Name != string.Empty && User.Password != string.Empty) { if (IsAllowedName()) { bool isUserExists = Convert.ToBoolean(await ApiManager.Read($"api/chat/isUserExists/{User.Name}")); if (!isUserExists) { MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); ApiManager.Create("api/authorization/register", $"{{'Name':'{User.Name}', 'Password':'******'}}"); signalRManager.OnConnect(); Close(); mainWindow.ShowDialog(); } else { MessageBox.Show("Пользователь с таким логином уже существует."); } } else { MessageBox.Show("Предложенный логин запрещен."); } } else { MessageBox.Show("Заполните все поля!"); } }