Example #1
0
        private byte[] WriteBody()
        {
            var body = new byte[0];

            using (var stream = new MemoryStream())
            {
                using (var dw = new DICOMBinaryWriter(stream))
                {
                    //Main body
                    LengthWriter.WriteBigEndian(dw, ProtocolVersion, 2); //Protocol Version
                    dw.WriteNullBytes(2);                                //Reserved Null bytes
                    dw.Write(CalledEntityTitle.PadRight(16));
                    dw.Write(CallingEntityTitle.PadRight(16));
                    dw.WriteNullBytes(32); //Reserved Null bytes
                    ItemWriter.WriteApplicationContext(dw, ApplicationContext);
                    foreach (var pc in PresentationContexts)
                    {
                        ItemWriter.WritePresentationCtxRequestType(dw, pc);
                    }
                    ItemWriter.WriteUserInfo(dw, UserInfo);
                    body = stream.ToArray();
                }
            }
            return(body);
        }
Example #2
0
 void WriteList <T>(BinaryWriter writer, List <T> items, ItemWriter <T> writeItem)
 {
     writer.Write(items.Count);
     foreach (T item in items)
     {
         writeItem(writer, item);
     }
 }
        public static async Task <ProcessingResult> ProcessAsync(Configuration configuration, CancellationToken token)
        {
            using var fileLoader = new FileLoader(token);
            var mapper    = new UriMapper(configuration);
            var parser    = new ItemParser(mapper, configuration.Mode);
            var writer    = new ItemWriter(mapper);
            var processor = new ItemProcessor(fileLoader, parser, writer, configuration, token);

            await processor.RunAsync().ConfigureAwait(false);

            return(new ProcessingResult(fileLoader.FailedUris));
        }
Example #4
0
        private static void VerifyItemWriter(string inputXml, string expected, XmlWriterSettings writerSettings)
        {
            using (var ms = new MemoryStream())
            {
                var doc = new XmlDocument();
                doc.LoadXml(inputXml);
                var writer = new ItemWriter(ms, writerSettings);
                doc.WriteTo(writer);
                writer.Flush();

                ms.Seek(0, SeekOrigin.Begin);
                var sr     = new StreamReader(ms);
                var actual = sr.ReadToEnd();

                Assert.AreEqual(expected, actual);
            }
        }
Example #5
0
        private byte[] WriteItems()
        {
            var written = new byte[0];

            using (var stream = new MemoryStream())
            {
                using (var dw = new DICOMBinaryWriter(stream))
                {
                    foreach (PDVItem item in Items)
                    {
                        ItemWriter.WritePDVItem(dw, item);
                    }
                    written = stream.ToArray();
                }
            }
            return(written);
        }
        private static void VerifyItemWriter (string inputXml, string expected, XmlWriterSettings writerSettings)
        {
            using (var ms = new MemoryStream())
            {
                var doc = new XmlDocument ();
                doc.LoadXml (inputXml);
                var writer = new ItemWriter (ms, writerSettings);
                doc.WriteTo (writer);
                writer.Flush ();

                ms.Seek (0, SeekOrigin.Begin);
                var sr = new StreamReader (ms);
                var actual = sr.ReadToEnd ();

                Assert.AreEqual (expected, actual);
            }
        }
    public static void WriteTo <T>(BinaryWriter writer,
                                   int elementSize,
                                   IList <T> items,
                                   ItemWriter <T> itemWriter)
    {
        writer.Write(elementSize);
        writer.Write(items.Count);
        writer.Write(0); // Was previously the array index id, but this is transient data

        var startPos = writer.BaseStream.Position;

        foreach (var item in items)
        {
            itemWriter(writer, item);
        }
        Debug.Assert(writer.BaseStream.Position - startPos == elementSize * items.Count);

        WriteDenseIndexBitmap(writer, items.Count);
    }
Example #8
0
        public void TestItemWriter()
        {
            var gc = new GlobalContext();

            using (var s = new MemoryStream()) {
                var w = new ItemWriter();
                IEnumerable <Dependency> dependencies = w.CreateSomeTestDependencies(gc.CurrentGraph);
                w.RenderToStreamForUnitTests(gc, dependencies, s, "");

                string result = Encoding.ASCII.GetString(s.ToArray());
                Assert.AreEqual(@"$ AMO(Assembly:Module:Order)
    --3->*--0->     AMO:BAC:BAC:0100'area
    --2->*--0->     AMO:Kah.MI:KAH:0301'area+mi
    --1->*--1->     AMO:KAH:KAH:0300'area
    --1->*--2->     AMO:KST:KST:0200'area
    --0->*--4->     AMO:VKF:VKF:0400'area
", result);
            }
        }
Example #9
0
        public async Task ShouldWriteItemsToFileSystem()
        {
            var item1  = new Item("http://site1/index.html".AsUri());
            var item11 = new Item("http://site1/internal/internal.html".AsUri());
            var item2  = new Item("http://site2/index.html".AsUri());
            var item21 = new Item("http://site2/other_internal/some.html".AsUri());

            var mapper = new Mock <IUriMapper>();

            mapper.Setup(x => x.CreatePath(item1.Uri, null))
            .Returns(Path.Combine(_testDirectoryPath, "site1\\index.html"));
            mapper.Setup(x => x.CreatePath(item11.Uri, null))
            .Returns(Path.Combine(_testDirectoryPath, "site1\\internal\\internal.html"));
            mapper.Setup(x => x.CreatePath(item2.Uri, null))
            .Returns(Path.Combine(_testDirectoryPath, "site2\\index.html"));
            mapper.Setup(x => x.CreatePath(item21.Uri, null))
            .Returns(Path.Combine(_testDirectoryPath, "site2\\other_internal\\some.html"));

            var writer = new ItemWriter(mapper.Object);
            await writer.WriteAsync(item1).ConfigureAwait(false);

            await writer.WriteAsync(item11).ConfigureAwait(false);

            await writer.WriteAsync(item21).ConfigureAwait(false);

            await writer.WriteAsync(item2).ConfigureAwait(false);

            var fileNames = new List <string>();

            FillAllFileNames(new DirectoryInfo(_testDirectoryPath), fileNames);

            fileNames.Count.ShouldBe(9);
            fileNames.ShouldContain(_testDirectoryPath);
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site1"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site1\\index.html"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site1\\internal"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site1\\internal\\internal.html"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site2"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site2\\index.html"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site2\\other_internal"));
            fileNames.ShouldContain(Path.Combine(_testDirectoryPath, "site2\\other_internal\\some.html"));
        }
Example #10
0
        public UserWindow(string username)
        {
            InitializeComponent();
            IEnumerable <User> users = _readUser.ReadAll();

            foreach (User user in users)
            {
                if (user.Username == username)
                {
                    username  = user.Username + ".txt";
                    _userId   = user.Id;
                    name.Text = user.Username;
                    id.Text   = Convert.ToString(user.Id);
                }
            }

            _dirToUser  = Directory.GetCurrentDirectory() + @"\Users\" + username;
            _writeItem  = new ItemWriter(_dirToUser);
            _itemReader = new ItemReader(_dirToUser);
        }
Example #11
0
        private void monthReportTable_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            ItemWriter itemWriter = new ItemWriter(_dirToUser);

            File.WriteAllLines(_dirToUser, itemWriter.ChangeItemsData(_userItemsMonth));
        }