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); } }
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); } }
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); } }
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(); }
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(); }
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); } }
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); } }
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); } }
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(); }
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(); }
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); } }
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(); }
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(); }
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(); }
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); } }
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); }