Exemplo n.º 1
0
    public async Task <SubspaceTransmission> CreateAsync(SubspaceFolders folder, string messageId, DateTime created)
    {
        var transmission = await CreateAsync(folder, messageId);

        transmission.Created = created;
        return(transmission);
    }
Exemplo n.º 2
0
    public async Task <SubspaceTransmission> CreateAsync(SubspaceFolders folder, string messageId)
    {
        var transmission = new SubspaceTransmission(FolderResolver, this);
        await transmission.SetFolderAndMessageIdAsync(folder, messageId);

        return(transmission);
    }
Exemplo n.º 3
0
 public void SetTransmission(SubspaceTransmission transmission)
 {
     TextFrom.Text        = transmission.From;
     TextTo.Text          = transmission.To;
     TextCc.Text          = transmission.Cc;
     TextBcc.Text         = transmission.Bcc;
     TextMessage.Document = Message2Rtf(transmission.Text);
     if (transmission.Valid)
     {
         TextHeader.Text = transmission.Header;
     }
     else if (transmission.IsPseudo)
     {
         TextHeader.Text = "";
     }
     else
     {
         TextHeader.Text = "(selected message is invalid and cannot be displayed)";
     }
     if (!transmission.IsPseudo)
     {
         TextCreated.Text = transmission.Created.ToLongDateString() + ", " + transmission.Created.ToLongTimeString();
     }
     else
     {
         TextCreated.Text = "";
     }
     ButtonDelete.IsEnabled    = transmission.Valid && transmission.Folder != SubspaceFolders.Port;
     ButtonDeleteAll.IsEnabled = transmission.Valid && transmission.Folder == SubspaceFolders.Inbox;
     Folder    = transmission.Folder;
     MessageId = transmission.MessageId;
     FolderBrowser(Folder).SelectTransmission(transmission);
 }
Exemplo n.º 4
0
    public SubspaceStation()
    {
        InitializeComponent();
        Folder    = SubspaceFolders.None;
        MessageId = "";
        var container = new ContainerBuilder().UsePegh("SubspaceSensor", new DummyCsArgumentPrompter()).Build();

        FolderResolver = container.Resolve <IFolderResolver>();
        SubspaceTransmissionFactory = new SubspaceTransmissionFactory(FolderResolver);
    }
Exemplo n.º 5
0
    public SubspaceFolderBrowser FolderBrowser(SubspaceFolders folder)
    {
        switch (folder)
        {
        case SubspaceFolders.Port: return(PortBrowser);

        case SubspaceFolders.Error: return(ErrorBrowser);

        case SubspaceFolders.Inbox: return(InboxBrowser);

        default: throw new Exception("Asked for a folder browser that is not supported");
        }
    }
Exemplo n.º 6
0
    public async Task <string> FolderPathAsync(SubspaceFolders folder)
    {
        var path = (await ConfiguredSubspaceFolderAsync()).FullName + '\\';

        switch (folder)
        {
        case SubspaceFolders.Port: return(path + @"07_Port\");

        case SubspaceFolders.Error: return(path + @"19_Error\");

        case SubspaceFolders.Inbox: return(path + @"24_Inbox\");

        default: throw new Exception("Asked for a folder browser that is not supported");
        }
    }
Exemplo n.º 7
0
    public async Task SetFolderAndMessageIdAsync(SubspaceFolders folder, string messageId)
    {
        if (MessageId.Length > 0)
        {
            throw new Exception("Attempt to overwrite message ID");
        }
        if (Folder != SubspaceFolders.None)
        {
            throw new Exception("Attempt to overwrite folder");
        }


        Folder    = folder;
        MessageId = messageId;

        await TryReadingAsync();
    }
Exemplo n.º 8
0
    public async Task <List <SubspaceTransmission> > ScanFolderAsync(SubspaceFolders folder)
    {
        var path = await FolderPathAsync(folder);

        var dirInfo       = new DirectoryInfo(path);
        var transmissions = new List <SubspaceTransmission>();

        // ReSharper disable once LoopCanBeConvertedToQuery
        foreach (var fileInfo in dirInfo.GetFiles("subspacemsg*.xml"))
        {
            var s = fileInfo.Name;
            transmissions.Add(
                await SubspaceTransmissionFactory.CreateAsync(folder, s.Substring(11, s.Length - 15), fileInfo.CreationTime)
                );
        }

        transmissions.Sort();
        return(transmissions);
    }
    private async Task VerifyThatSubspaceFolderExistsAsync(SubspaceFolders subspaceFolder)
    {
        var folder = await new SubspaceFolder(FolderResolver, SubspaceTransmissionFactory).FolderPathAsync(subspaceFolder);

        Assert.IsTrue(Directory.Exists(folder));
    }