Example #1
0
    public void queryExamples()
    {
        SpaceTypeDescriptorBuilder descriptorBuilder = new SpaceTypeDescriptorBuilder("WithCompoundIndex");

        descriptorBuilder.AddFixedProperty("IntProp", typeof(int));
        descriptorBuilder.AddFixedProperty("StringProp", typeof(String));
        descriptorBuilder.AddFixedProperty("LongProp", typeof(long));
        descriptorBuilder.AddCompoundIndex(new [] { "IntProp", "StringProp" });
        descriptorBuilder.AddCompoundIndex(new [] { "LongProp", "StringProp" });

        // Option 1 - Use the fluent setParameter(int index, Object value) method:
        SqlQuery <Account> query1 = new SqlQuery <Account>("num > ? or num < ? and name = ?");

        query1.SetParameter(1, 2);
        query1.SetParameter(2, 3);
        query1.SetParameter(3, "smith");

        query1.Routing = 1;

        // Option 2 - Use the setParameters(Object... parameters) method:
        SqlQuery <Account> query2 = new SqlQuery <Account>("num > ? or num < ? and name = ?");
        //	query2.SetParameter(2, 3, "smith");

        // Option 3: Use the constructor to pass the parameters:
        //SqlQuery<Account> query3 = new SqlQuery<Account>("num > ? or num < ? and name = ?", 2, 3, "smith");
    }
    public void registerProductType()
    {
        // Create type Document descriptor:
        SpaceTypeDescriptorBuilder typeBuilder = new SpaceTypeDescriptorBuilder("Product");

        typeBuilder.SetIdProperty("CatalogNumber");
        typeBuilder.SetRoutingProperty("Catagory");
        typeBuilder.AddPathIndex("Name");
        typeBuilder.AddPathIndex("Price", SpaceIndexType.Extended);
        ISpaceTypeDescriptor typeDescriptor = typeBuilder.Create();

        // Register type:
        proxy.TypeManager.RegisterTypeDescriptor(typeDescriptor);
    }
Example #3
0
        public void CreateSpaceDocument()
        {
            using (var spaceProxy = new SpaceProxyFactory(SpaceName).Create())
            {
                var document = CreateDocumemt();
                RegisterProductTypeAt(spaceProxy);

                spaceProxy.Write(document);

                SpaceDocument template = new SpaceDocument(SpaceDocument_Product);

                template[Product.Properties.CatalogNumber] = "av-9876";

                var readDocumentFromSpace = spaceProxy.Read(template);

                readDocumentFromSpace.Should().NotBeNull();
                Assert.IsTrue(Equals(readDocumentFromSpace[Product.Properties.Name], "Jet Propelled Pogo Stick"));

                var price = readDocumentFromSpace[Product.Properties.Price];
                price.Should().Be(19.99);
            }

            // Local Helpers
            SpaceDocument CreateDocumemt()
            {
                DocumentProperties properties = new DocumentProperties();

                properties[Product.Properties.CatalogNumber] = "av-9876";
                properties[Product.Properties.Category]      = "Aviation";
                properties[Product.Properties.Name]          = "Jet Propelled Pogo Stick";
                properties[Product.Properties.Price]         = 19.99;
                properties[Product.Properties.Tags]          = new String[4] {
                    "New", "Cool", "Pogo", "Jet"
                };

                DocumentProperties p2 = new DocumentProperties();

                p2[Product.Feature.Properties.Manufacturer]     = "Acme";
                p2[Product.Feature.Properties.RequiresAssembly] = true;
                p2[Product.Feature.Properties.NumberOfParts]    = 42;
                properties[Product.Feature.ClassName]           = p2;

                SpaceDocument document = new SpaceDocument(Product.ClassName, properties);

                return(document);
            }

            void RegisterProductTypeAt(ISpaceProxy proxy)
            {
                // Create type Document descriptor:
                SpaceTypeDescriptorBuilder typeBuilder = new SpaceTypeDescriptorBuilder(Product.ClassName);

                typeBuilder.SetIdProperty(Product.Properties.CatalogNumber);
                typeBuilder.SetRoutingProperty(Product.Properties.Category);
                typeBuilder.AddPathIndex(Product.Properties.Name);
                typeBuilder.AddPathIndex(Product.Properties.Price, SpaceIndexType.Extended);
                ISpaceTypeDescriptor typeDescriptor = typeBuilder.Create();

                // Register type:
                proxy.TypeManager.RegisterTypeDescriptor(typeDescriptor);
            }
        }
    public void queryExamples()
    {
        SpaceTypeDescriptorBuilder descriptorBuilder = new SpaceTypeDescriptorBuilder("WithCompoundIndex");
        descriptorBuilder.AddFixedProperty("IntProp", typeof(int));
        descriptorBuilder.AddFixedProperty("StringProp", typeof(String));
        descriptorBuilder.AddFixedProperty("LongProp", typeof(long));
        descriptorBuilder.AddCompoundIndex(new []{ "IntProp", "StringProp" });
        descriptorBuilder.AddCompoundIndex(new []{ "LongProp", "StringProp" });

        // Option 1 - Use the fluent setParameter(int index, Object value) method:
        SqlQuery<Account> query1 = new SqlQuery<Account>("num > ? or num < ? and name = ?");
        query1.SetParameter(1, 2);
        query1.SetParameter(2, 3);
        query1.SetParameter(3, "smith");

        query1.Routing = 1;

        // Option 2 - Use the setParameters(Object... parameters) method:
        SqlQuery<Account> query2 = new SqlQuery<Account>("num > ? or num < ? and name = ?");
        //	query2.SetParameter(2, 3, "smith");

        // Option 3: Use the constructor to pass the parameters:
        //SqlQuery<Account> query3 = new SqlQuery<Account>("num > ? or num < ? and name = ?", 2, 3, "smith");
    }
    public void registerProductType()
    {
        // Create type Document descriptor:
        SpaceTypeDescriptorBuilder typeBuilder = new SpaceTypeDescriptorBuilder("Product");
        typeBuilder.SetIdProperty("CatalogNumber");
        typeBuilder.SetRoutingProperty("Catagory");
        typeBuilder.AddPathIndex("Name");
        typeBuilder.AddPathIndex("Price", SpaceIndexType.Extended);
        ISpaceTypeDescriptor typeDescriptor = typeBuilder.Create();

        // Register type:
        proxy.TypeManager.RegisterTypeDescriptor(typeDescriptor);
    }