Example #1
0
        static void Main(string[] args)
        {
            var outFilePath = Path.Combine(AppContext.BaseDirectory, "molio.db.gz");

            // It's unfortunate the database must be placed physically on disc and can't just reside in
            // memory. Using "Data Source=:memory:" as connection string makes no difference - there's
            // no way to extract the memory stream.
            var dbFilePath = Path.GetTempFileName();

            try
            {
                using (var db = BlankDatabase(dbFilePath))
                    using (var doc = new MolioDoc(db))
                        WriteDoc(doc);

                GZipDoc(dbFilePath, outFilePath);
            }
            finally
            {
                File.Delete(dbFilePath);
            }

            Console.WriteLine("Done");
            Console.ReadKey();
        }
Example #2
0
        static void WriteDoc(MolioDoc ctx)
        {
            var bygningsdelsbeskrivelse = new Bygningsdelsbeskrivelse
            {
                Name = "Test",
                BygningsdelsbeskrivelseGuid = Guid.NewGuid(),
                BasisbeskrivelseVersionGuid = Guid.NewGuid()
            };

            ctx.Bygningsdelsbeskrivelser.Add(bygningsdelsbeskrivelse);

            var omfang =
                new BygningsdelsbeskrivelseSection(1, "OMFANG");
            var almeneSpecifikationer =
                new BygningsdelsbeskrivelseSection(2, "ALMENE SPECIFIKATIONER");
            var generelt =
                new BygningsdelsbeskrivelseSection(almeneSpecifikationer, 1, "Generelt", "Noget tekst")
            {
                MolioSectionGuid = Guid.NewGuid()
            };
            var thirdLevelSection =
                new BygningsdelsbeskrivelseSection(generelt, 5, "Tredje niveau", "Lorem ipsum");

            var referenceliste = Attachment.Json("referenceliste.json", "{ \"test\": 1 }");

            thirdLevelSection.Attach(referenceliste);

            using (var samplePdf = GetSamplePdf())
                thirdLevelSection.Attach(Attachment.Pdf("basisbeskrivelse.pdf", samplePdf));

            bygningsdelsbeskrivelse.Sections.AddRange(new[] {
                omfang, almeneSpecifikationer, generelt, thirdLevelSection
            });

            ctx.SaveChanges();
        }