private async void Moderator() { if ((Command["specialCommand"] == "-n" || Command["specialCommand"] == "-d") && Command["objectName"] != string.Empty) { string moderatorName = Command["objectName"]; if (moderatorName != User.Name) { SignalRManager signalRManager = new SignalRManager(); bool isModerator = false; if (Command["specialCommand"] == "-n") { isModerator = true; } else if (Command["specialCommand"] == "-d") { isModerator = false; } await ApiManager.Change($"api/chat/changeModerator/{isModerator}", $"{{ 'Name':'{moderatorName}'}} "); signalRManager.ChangeRoleUser(); } else { MessageBox.Show("Нельзя самостоятельно назначать себя модератором."); } } else { MessageBox.Show("Некорректное(-ая) имя/команда."); } }
private async void Disconnect() { ChatControl chatWindow = new ChatControl(ChatsControl); MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); string chatName = Command["objectName"]; string userName = User.Name; if (chatName == string.Empty) { chatName = ChatSelected; } if (chatName != string.Empty) { await ApiManager.Delete("api/chat", $"removeUserFromChat/{chatName}/{userName}"); chatWindow.DeleteTabItem(chatName); signalRManager.RemoveUserFromChat(chatName, userName); } 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 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 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 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 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 Window_Closed(object sender, EventArgs e) { AuthorizationWindow authorizationWindow = new AuthorizationWindow(); SignalRManager signalRManager = new SignalRManager(); await ApiManager.Change($"api/authorization/logout", $"{{'Name':'{User.Name}', 'Password':'******'}}"); signalRManager.OnDisconnect(); Close(); authorizationWindow.Show(); }
private async void Find() { if (Command["specialCommand"] == "-t" && Command["valueSpecialCommand"] != string.Empty && Command["objectName"] != string.Empty && ChatSelected != null) { try { SignalRManager signalRManager = new SignalRManager(); YouTubeManager youTubeManager = new YouTubeManager(); string channelName = Command["objectName"]; string videoName = Command["valueSpecialCommand"]; await youTubeManager.SetIdAndUrlVideo(videoName, channelName); signalRManager.SendMessage(ChatSelected, "yBot", youTubeManager.Url); ApiManager.Create("api/chat/message", $"{{\"ChatName\":\"{ChatSelected}\",\"Author\":\"yBot\",\"Text\":\"{youTubeManager.Url}\"}}"); if (Command["secondSpecialCommand"] == "-v") { youTubeManager.SetVideoInfo(); string viewsMessageLine = "Просмотров: " + youTubeManager.ViewCount.ToString(); signalRManager.SendMessage(ChatSelected, "yBot", viewsMessageLine); ApiManager.Create("api/chat/message", $"{{\"ChatName\":\"{ChatSelected}\",\"Author\":\"yBot\",\"Text\":\"{viewsMessageLine}\"}}"); } else if (Command["secondSpecialCommand"] == "-l") { youTubeManager.SetVideoInfo(); string likesMessageLine = "Лайков: " + youTubeManager.LikeCount.ToString(); signalRManager.SendMessage(ChatSelected, "yBot", likesMessageLine); ApiManager.Create("api/chat/message", $"{{\"ChatName\":\"{ChatSelected}\",\"Author\":\"yBot\",\"Text\":\"{likesMessageLine}\"}}"); } } catch { MessageBox.Show("Видео не найдено."); } } else { MessageBox.Show("Некорректная команда."); } }
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 static void SendMessage() { MainWindow mainWindow = new MainWindow(); SignalRManager signalRManager = new SignalRManager(); string chatName = ChatSelected; string userName = User.Name; string message = ChatControl.TextBox[ChatSelected].Text; if (message != string.Empty) { signalRManager.SendMessage(chatName, userName, message); ApiManager.Create("api/chat/message", $"{{\"ChatName\":\"{chatName}\",\"Author\":\"{userName}\",\"Text\":\"{message}\"}}"); } ChatControl.TextBox[chatName].Clear(); }
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("Заполните все поля!"); } }