public void RequestAccepted(String sender, String receiver) { IClientRem remSender = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[sender]); IClientRem remReceiver = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[receiver]); remSender.RequestAccepted(receiver, (string)activeUsers[receiver]); remReceiver.ReceiveAddress(sender, (string)activeUsers[sender]); }
private void ChangeActiveUser(String username) { if (!groupChatActive) { activeUserRemObj = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[username]); } activeUser = username; }
public void AddUserToGroupChat(String groupChatName, String username) { GroupChat gc = (GroupChat)groupChats[groupChatName]; foreach (string user in gc.users) { IClientRem rem = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[user]); rem.AddUserToGroupChat(username, groupChatName); } gc.users.Add(username); }
public void SendGroupChatMessage(String name, Message msg) { GroupChat gc = (GroupChat)groupChats[name]; foreach (string username in gc.users) { if (username != msg.sender) { IClientRem rem = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[username]); rem.ReceiveMessage(msg); } } }
public Boolean RegisterAddress(String username, string address) { if (activeUsers.Contains(username)) { return(false); } else { IClientRem rem = (IClientRem)RemotingServices.Connect(typeof(IClientRem), address); // Obtain a reference to the client remote object Console.WriteLine("[SingleServer]: Sending active clients list"); activeUsers.Add(username, address); Console.WriteLine("[SingleServer]: Registered " + address); NotifyClients(Operation.Add, username); return(true); } }
public void Logout(String username) { activeUsers.Remove(username); foreach (GroupChat gc in groupChats.Values) { if (gc.users.Contains(username)) { gc.users.Remove(username); foreach (string user in gc.users) { IClientRem rem = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[user]); rem.RemoveUserFromGroupChat(username, gc.name); } } } NotifyClients(Operation.Remove, username); }
public InviteWindow(ActiveUser user, string chatName, RemoteChat chat, string id) { try { Console.WriteLine(user.Username, user.Address); InitializeComponent(); label1.Text += user.Username; nameOfTheChat.Text = user.Username != chatName ? "Chat Name " + chatName : ""; _iFriend = (IClientRem)RemotingServices.Connect(typeof(IClientRem), user.Address); _user = user; _chatName = chatName; _chat = chat; _id = id; } catch (Exception e) { Console.WriteLine(e); } }
private void CreateChat_Click(object sender, EventArgs e) { List <ActiveUser> users = new List <ActiveUser>(); var selectedUsers = listView1.SelectedItems; bool groupChat = selectedUsers.Count > 1; for (var index = 0; index < selectedUsers.Count; index++) { foreach (var contact in _onlineUsers) { if (contact.Username.Equals(selectedUsers[index].Text)) { users.Add(contact); break; } } } string id = CreateID(users); bool exists = ClientApp.GetInstance().GetPendingChats().Contains(id) || ClientApp.GetInstance().GetChats().ContainsKey(id); if (users.Count == 1 && !exists) { IClientRem friend = (IClientRem)RemotingServices.Connect(typeof(IClientRem), users[0].Address); ClientApp.GetInstance().GetPendingChats().Add(id); RemoteChat chat = new RemoteChat(); Task.Factory.StartNew(() => { try { friend.Invite(new ControlMessage(ClientApp.GetLoggedUser(), Client.ClientApp.GetLoggedUser().Username, chat, id)); } catch (Exception e) { Console.WriteLine("Invitation Failed"); Console.WriteLine(e); } Console.WriteLine("success"); }); } else if (users.Count > 1 && !exists) { Form1 chatNameForm = new Form1(); chatNameForm.ShowDialog(); RemoteChat chat = new RemoteChat(); foreach (var user in users) { IClientRem friend = (IClientRem)RemotingServices.Connect(typeof(IClientRem), user.Address); Task.Factory.StartNew(() => { Console.WriteLine(@"Invitation sent to " + user.Username + " to join " + chatNameForm.GetText); try { friend.Invite(new ControlMessage(ClientApp.GetLoggedUser(), chatNameForm.GetText, chat, id)); } catch (Exception e) { Console.WriteLine("Invitation Failed"); Console.WriteLine(e); } Console.WriteLine("success"); }); } } else if (users.Count < 1) { MessageBox.Show("Please select a user of a group of users", "No user was selected", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Chat already created or Invites sent", "Already Created", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void InviteUserToGroup(String username, String groupChatName) { IClientRem rem = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[username]); rem.InvitedToGroupChat(groupChatName); }
public void RequestRefused(String sender, String receiver) { IClientRem remSender = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[sender]); remSender.RequestRefused(receiver); }
public void RequestConversation(String sender, String receiver) { IClientRem rem = (IClientRem)RemotingServices.Connect(typeof(IClientRem), (string)activeUsers[receiver]); rem.ReceiveRequest(sender); }