public bool SendFile(FileMessage fileMsg, Client receiver) { foreach (Client rcvr in clients.Keys) { if (rcvr.Name == receiver.Name) { Message msg = new Message(); msg.Sender = fileMsg.Sender; msg.Content = "I'M SENDING FILE.. " + fileMsg.FileName; IChatCallback rcvrCallback = clients[rcvr]; rcvrCallback.ReceiveWhisper(msg, receiver); rcvrCallback.ReceiverFile(fileMsg, receiver); foreach (Client sender in clients.Keys) { if (sender.Name == fileMsg.Sender) { IChatCallback sndrCallback = clients[sender]; sndrCallback.ReceiveWhisper(msg, receiver); return(true); } } } } return(false); }
public bool SendFile(FileMessage fileMsg, Client receiver) { foreach (Client rcvr in clients.Keys) { if (rcvr.Name == receiver.Name) { Message msg = new Message(); msg.Sender = fileMsg.Sender; msg.Content = "I'M SENDING FILE.. " + fileMsg.FileName; IChatCallback rcvrCallback = clients[rcvr]; rcvrCallback.ReceiveWhisper(msg, receiver); rcvrCallback.ReceiverFile(fileMsg, receiver); foreach (Client sender in clients.Keys) { if (sender.Name == fileMsg.Sender) { IChatCallback sndrCallback = clients[sender]; sndrCallback.ReceiveWhisper(msg, receiver); return true; } } } } return false; }
public bool SendFile(FileMessage fileMsg) { var rec = GetClientByName(fileMsg.Reciver); if (rec.Key == null) { lock (syncObj) { _files.Add(fileMsg); foreach (var client in _clients.Where(c => !c.Key.Name.Equals(fileMsg.Sender))) { client.Value.ReceivedFile(fileMsg); } return true; } } lock (syncObj) { rec.Value.ReceivedFile(fileMsg); } return true; }