コード例 #1
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
 private static void Get_ProductFamilies()
 {
     var container = new Container();
     Console.WriteLine("\n\t<< get productfamilies >>");
     foreach (var productFamily in container.ProductFamilies)
     {
         Console.WriteLine("\t{0}-{1}: {2}", productFamily.Id, productFamily.Name, productFamily.Description);
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
 private static void Get_ProductFamily_Supplier()
 {
     var container = new Container();
     Console.WriteLine("\n\t<< get productfamily.supplier >>");
     var query = container.ProductFamilies.Where(p => p.Id == 1).Select(p => p.Supplier);
     foreach (var supplier in query)
     {
         Console.WriteLine("\t{0}-{1}", supplier.Id, supplier.Name);
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
 private static void Get_ProductFamily_Products()
 {
     var container = new Container();
     Console.WriteLine("\n\t<< get productfamily.products >>");
     var products = container.ProductFamilies.Where(p => p.Id == 3).SelectMany(p => p.Products);
     foreach (var product in products)
     {
         Console.WriteLine("\t{0}-{1}", product.Id, product.Name);
     }
 }
コード例 #4
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Delete_Product_link_Family()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< delete product..family >>");
            var product = container.Products.AsEnumerable().First();
            container.LoadProperty(product, "Family");

            Console.WriteLine("\tUnassociating \n\tProduct: Id={0}, Name={1} \n\tFrom\n\tProudctFamily: Id={2}, Name={3}",
                product.Id, product.Name, product.Family.Id, product.Family.Name);

            container.SetLink(product, "Family", null);
            container.SaveChanges();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Delete_ProductFamily_link_Products()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< delete productfamily..products >>");
            var product = container.Products.OrderBy(p => p.Id).First();
            var family = container.ProductFamilies.OrderBy(pf => pf.Id).First();

            Console.WriteLine("\tUnassociating \n\tProduct: Id={0}, Name={1} \n\tTo\n\tProudctFamily: Id={2}, Name={3}",
                product.Id, product.Name, family.Id, family.Name);

            container.DeleteLink(family, "Products", product);
            container.SaveChanges();
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Delete_ProductFamily()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< delete productfamily >>");
            var key = 4;
            ProductFamily family = container.ProductFamilies.Where(pf => pf.Id == key).FirstOrDefault();

            if (family != null)
            {
                Console.WriteLine("\tDeleting ProductFamily with Id={0}, Name={1}", family.Id, family.Name);

                container.DeleteObject(family);
                container.SaveChanges();
            }
            else
            {
                Console.WriteLine("\tProductFamily with Id '{0}' not found.", key);
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
 private static void Get_Products()
 {
     var container = new Container();
     Console.WriteLine("\n\t<< get products >>");
     foreach (var product in container.Products)
     {
         Console.WriteLine("\t{0}-{1}", product.Id, product.Name);
     }
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Query_Products()
        {
            var container = new Container();

            Console.WriteLine("\n\t<< query products >>");
            Console.WriteLine("\n\tGet top 4 products");
            foreach (var product in container.Products.Take(4))
            {
                Console.WriteLine("\t{0}-{1}", product.Id, product.Name);
            }

            Console.WriteLine("\n\tGet products with name starting with 'Microsoft Office'");
            foreach (var product in container.Products.Where(p => p.Name.StartsWith("Microsoft Office")))
            {
                Console.WriteLine("\t{0}-{1}", product.Id, product.Name);
            }

            Console.WriteLine("\n\tGet all products which expire soon");
            foreach (var product in container.Products
                .Where(prd => prd.SupportedUntil != null)
                .OrderBy(prd => prd.SupportedUntil))
            {

                Console.WriteLine("\t{0}-{1}-{2}", product.SupportedUntil.HasValue ? product.SupportedUntil.Value.ToString() : "N/A", product.Id, product.Name);
            }
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Put_Product_link_Family()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< put product..family >>");
            var product = container.Products.AsEnumerable().First();
            var family = container.ProductFamilies.AsEnumerable().Skip(1).First();
            Console.WriteLine("\tAssociating \n\tProduct: Id={0}, Name={1} \n\tTo\n\tProudctFamily: Id={2}, Name={3}",
                product.Id, product.Name, family.Id, family.Name);

            container.SetLink(product, "Family", family);
            container.SaveChanges();
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Put_ProductFamily_link_Supplier()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< put productfamily..supplier >>");
            var family = container.ProductFamilies.OrderBy(pf => pf.Id).First();
            var supplier = container.Suppliers.Where(s => s.Id == 1).First();

            Console.WriteLine("\tAssociating \n\tProductFamily: Id={0}, Name={1} \n\tTo\n\tSupplier: Id={2}, Name={3}",
                family.Id, family.Name, supplier.Id, supplier.Name);

            container.SetLink(family, "Supplier", supplier);
            container.SaveChanges();
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Put_ProductFamily()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< put productfamily >>");
            var key = 4;
            var family = container.ProductFamilies.Where(pf => pf.Id == key).FirstOrDefault();
            if (family != null)
            {
                Console.WriteLine("\tUpdating ProductFamily with Id={0}, Name={1}", family.Id, family.Name);

                family.Description = "Updated Description";
                container.UpdateObject(family);

                container.SaveChanges(SaveChangesOptions.ReplaceOnUpdate);
            }
            else
            {
                Console.WriteLine("\tProductFamily with Id '{0}' not found.", key);
            }
        }
コード例 #12
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Post_ProductFamily_Products()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< post productfamily.products >>");
            var key = 4;
            ProductFamily family = container.ProductFamilies.Where(pf => pf.Id == key).AsEnumerable().SingleOrDefault();

            var sql2012 = new Product
            {
                Name = "SQL Server 2012",
                ReleaseDate = new DateTime(2012, 3, 6),
                SupportedUntil = new DateTime(2017, 7, 11)
            };
            container.AddRelatedObject(family, "Products", sql2012);

            Console.WriteLine("\tCreating Product with Name={0} under ProductFamily with name {1}", sql2012.Name, family.Name);
            container.SaveChanges();
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Post_ProductFamily_link_Products()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< post productfamily..products >>");
            var product = container.Products.OrderBy(p => p.Id).First(); // OrderBy need to avoid Take throw.
            var family = container.ProductFamilies.OrderBy(pf => pf.Id).First();

            Console.WriteLine("\tAssociating \n\tProduct: Id={0}, Name={1} \n\tTo\n\tProudctFamily: Id={2}, Name={3}",
                product.Id, product.Name, family.Id, family.Name);

            container.AddLink(family, "Products", product);
            container.SaveChanges();
        }
コード例 #14
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Post_ProductFamily()
        {
            var container = new Container();

            Console.WriteLine("\n\t<< post productfamily >>");
            var newData = new ProductFamily
            {
                Id = 4,
                Name = "SQL SERVER",
                Description = "A relational database engine."
            };

            Console.WriteLine("\tCreating ProductFamily with Id={0}, Name={1}, Description={2}", newData.Id, newData.Name, newData.Description);

            container.AddObject("ProductFamilies", newData);
            container.SaveChanges();
        }
コード例 #15
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
        private static void Patch_ProductFamily()
        {
            var container = new Container();
            Console.WriteLine("\n\t<< patch productfamily >>");
            var key = 4;
            var family = container.ProductFamilies.Where(pf => pf.Id == key).AsEnumerable().SingleOrDefault();

            if (family != null)
            {
                Console.WriteLine("\tPatching ProductFamily with Id={0}, Name={1}", family.Id, family.Name);

                family.Description = "Patched Description";
                container.UpdateObject(family);

                container.SaveChanges();
            }
            else
            {
                Console.WriteLine("\tProductFamily with Id '{0}' not found.", key);
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: nickgoodrow/ODataSamples
 private static void Invoke_Action()
 {
     var container = new Container();
     Console.WriteLine("\n\t<< invoke action >>");
     string uri = container.BaseUri.AbsoluteUri + "ProductFamilies(1)/ODataService.Models.CreateProduct";
     var results = container.Execute<int>(new Uri(uri), "POST", true, new BodyOperationParameter("Name", "New Product"));
     var result = results.Single();
     Console.WriteLine("\t" + @"action CreateProduct({{ ""Name"": ""New Product"" }}) returned {0}", result);
 }