static void Main(string[] args) { DetailedSender senderDetail = new DetailedSender(); QuickSender senderShort = new QuickSender(); ConsoleReciever consoleReciever = new ConsoleReciever(); consoleReciever.Subscribe(senderDetail); FileReciever spam = new FileReciever("C:\\Temp\\spam.txt"); spam.Subscribe(senderShort); senderDetail.Sent(new Email("emailOne", "First email", "Lorem ipsum")); senderDetail.Sent(new Email("emailTwo", "Second email", "Lorem ipsum lorem")); senderShort.Sent(new Email("quick", "Pictures", "Lorem ipsum")); }
private void ReceiveFileThread(int id, string path) { var port = GetRandomPort(); Message fileRequest = new FileRequest { ID = id, RecieverEndPoint = new MessageTransfer.EndPoint { IP = "127.0.0.1", Port = port } }; SendMessage(fileRequest); FileReciever fileReciever = new FileReciever(port); fileReciever.RecieveFile(messageClient.RemoteEndPoint, new DirectoryInfo(path)); filesList[id] = fileReciever.File; }
public override Response Execute() { var db = MasterContainer.GetService <IBroadcastDatabase>(); var collisions = db.GetInterval(Broadcast.StartTime, Broadcast.EndTime); UploadBroadcastResult result; if (collisions.Length > 0) { var authorizator = MasterContainer.GetService <IAuthorizator>(); if (authorizator.HasPermission(User, Permission.AdminBroadcasts)) { foreach (var collision in collisions) { db.Remove(collision.Id); } result = UploadBroadcastResult.Success; } else { result = UploadBroadcastResult.CollissionBlocked; } } else { result = UploadBroadcastResult.Success; } if (result == UploadBroadcastResult.Success) { var store = MasterContainer.GetService <FileStore>(); string fullPath = store.GenerateFullFilename(Broadcast); FileReciever reciever = new FileReciever(Session.Host, Port, BufferSize, fullPath); reciever.Start(); Broadcast.Filename = store.GetFilename(Broadcast); db.Add(Broadcast); } return(new UploadBroadcastResponse(result)); }