Ejemplo n.º 1
0
        private static IBubbleRecord BubbleRecordFromRow(Row row)
        {
            if (row == null)
            {
                return(null);
            }
            var documentRecord = new BubbleRecord()
            {
                Id            = row.GetValue <Guid>("id"),
                BubbleChainId = row.GetValue <Guid>("bubblechainid"),
                DeviceId      = row.GetValue <Guid>("deviceid"),
                DeviceIdText  = row.GetValue <string>("deviceidtext"),
                Name          = row.GetValue <string>("name")
            };

            return(documentRecord);
        }
Ejemplo n.º 2
0
        static async Task MainAsync(string[] args)
        {
            try
            {
                var productTemplate = new ProductTemplate <GenericProductV1>(Guid.NewGuid(),
                                                                             new GenericProductV1()
                {
                    Services =
                    {
                        { "OxygenId",          Guid.NewGuid().ToString() },
                        { "StoratePlatformId", Guid.NewGuid().ToString() }
                    }
                }
                                                                             )
                {
                    DocumentMetaData = new DocumentMetaData(typeof(GenericProductV1).FullName, "1.0")
                };

                string output = productTemplate.DocumentJson;

                List <Guid> productGuids = new List <Guid>();
                productGuids.Add(productTemplate.Id);
                // Product Templates
                var ptRes = await CassandraDAO.CreateProductTemplateAsync(productTemplate);

                // make a double to test insert by type.
                productTemplate.DocumentMetaData.Version = "1.1";
                productTemplate.Id = Guid.NewGuid();
                productGuids.Add(productTemplate.Id);

                ptRes = await CassandraDAO.CreateProductTemplateAsync(productTemplate);

                Console.WriteLine("-----------------------------------------------");
                foreach (var id in productGuids)
                {
                    var ptRead = await CassandraDAO.FindProductTemplateByIdAsync(id);

                    Console.WriteLine("");
                    Console.WriteLine("ProductTemplate");
                    Console.WriteLine(ptRead.Json);
                    Console.WriteLine(ptRead.MetaDataJson);
                    Console.WriteLine(ptRead.DocumentJson);
                }
                var ptRecords = await CassandraDAO.FindProductTemplateByTypeAsync(productTemplate.MetaData.Type);

                Console.WriteLine("-----------------------------------------------");
                foreach (var ptRecord in ptRecords)
                {
                    Console.WriteLine("");
                    Console.WriteLine("ProductTemplate");
                    Console.WriteLine(ptRecord.Json);
                    Console.WriteLine(ptRecord.MetaDataJson);
                    Console.WriteLine(ptRecord.DocumentJson);
                }
                Console.WriteLine("-----------------------------------------------");

                productGuids.Clear();

                // Bubble
                var bid          = Guid.NewGuid();
                var bubbleRecord = new BubbleRecord()
                {
                    Id            = bid,
                    BubbleChainId = Guid.Empty,
                    DeviceId      = Guid.Empty,
                    DeviceIdText  = null,
                    Name          = "Nameof:" + bid
                };
                var bidRes = await CassandraDAO.CreateBubbleRecordAsync(bubbleRecord);

                var bidRead = await CassandraDAO.FindBubbleRecordByIdAsync(bubbleRecord.Id);

                Console.WriteLine("");
                Console.WriteLine("Bubbles");
                Console.WriteLine(bidRead.Json);

                var label = "Label:" + Guid.NewGuid();
                // Product Instance
                var doc = new GenericProductV1()
                {
                    Services =
                    {
                        { "OxygenId",          Guid.NewGuid().ToString() },
                        { "StoratePlatformId", Guid.NewGuid().ToString() }
                    }
                };

                var productInstance = new ProductInstance <GenericProductV1>(
                    Guid.NewGuid(), doc, productTemplate.DocumentMetaData, productTemplate.Id, label, bubbleRecord.Id);
                productGuids.Add(productInstance.Id);

                var piRes = await CassandraDAO.CreateProductInstanceAsync(productInstance);

                productInstance.Id       = Guid.NewGuid();
                productInstance.BubbleId = Guid.NewGuid();
                productGuids.Add(productInstance.Id);
                piRes = await CassandraDAO.CreateProductInstanceAsync(productInstance);

                Console.WriteLine("-----------------------------------------------");
                foreach (var id in productGuids)
                {
                    var piRead = await CassandraDAO.FindProductInstanceByIdAsync(id);

                    Console.WriteLine("");
                    Console.WriteLine("ProductInstance");

                    Console.WriteLine(piRead.Json);
                    Console.WriteLine(piRead.MetaDataJson);
                    Console.WriteLine(piRead.DocumentJson);
                }
                Console.WriteLine("-----------------------------------------------");

                var piRecords = await CassandraDAO.FindProductInstanceByLabelAsync(productInstance.Label);

                foreach (var record in piRecords)
                {
                    Console.WriteLine("");
                    Console.WriteLine("ProductInstance");
                    Console.WriteLine(record.Json);
                    Console.WriteLine(record.MetaDataJson);
                    Console.WriteLine(record.DocumentJson);
                }
                Console.WriteLine("-----------------------------------------------");
            }
            catch (Exception e)
            {
            }
        }