void GetLob(String slob) { if (!_lobs.ContainsKey(slob)) { NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances(); LobSystemInstance l = sysInstances[slob]; IEnumerator it = _cfg.lobCollection.GetEnumerator(); while (it.MoveNext()) { Lob lob = (Lob)it.Current; if (lob.name.Equals(slob)) { _lobInsts.Add(slob, l); //the real lob _lobs.Add(slob, lob); //the config of lob break; } } } _lobInst = (LobSystemInstance)_lobInsts[slob]; _lob = (Lob)_lobs[slob]; if (_lobInst == null) { throw new Exception(slob + " does not exist in this service provider, check the name to make sure it's correct."); } if (_lob == null) { throw new Exception(slob + " is not found in bdc.xml"); } return; }
public void ProductsCanBeFound() { SqlSessionProvider.Instance().SetSharedResourceProviderToUse("ContosoSSP"); NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances(); LobSystemInstance lobSystemInstance = sysInstances["ContosoProductCatalogService"]; NamedEntityDictionary entities = lobSystemInstance.GetEntities(); Entity productEntity = entities["Product"]; IEntityInstance productInstance = productEntity.FindSpecific("1000000000", lobSystemInstance); Assert.AreEqual("Blood Pressure Kit", productInstance["Name"]); Assert.AreEqual("Blood pressure kit includes cuff with velcro adhesive and easy to read glow in the dark dial.", productInstance["LongDescription"]); Assert.AreEqual("Blood pressure kit includes cuff and easy to read dial.", productInstance["ShortDescription"]); Assert.AreEqual("1000000000", productInstance["Sku"]); Assert.AreEqual("8", productInstance["CategoryId"]); Assert.IsTrue(productInstance["ImagePath"].ToString().EndsWith("images/bloodpressure.jpg")); Assert.IsTrue(productInstance["ThumbnailImagePath"].ToString().EndsWith("images/bloodpressure.jpg")); productInstance = productEntity.FindSpecific("2000000000", lobSystemInstance); Assert.AreEqual("Gurney", productInstance["Name"]); Assert.AreEqual("Gurney includes rubber wheels and extra padding. Meets most federal safety requirements.", productInstance["LongDescription"]); Assert.AreEqual("Gurney includes rubber wheels and extra padding.", productInstance["ShortDescription"]); Assert.AreEqual("2000000000", productInstance["Sku"]); Assert.AreEqual("10", productInstance["CategoryId"]); Assert.IsTrue(productInstance["ImagePath"].ToString().EndsWith("images/gurney.jpg")); Assert.IsTrue(productInstance["ThumbnailImagePath"].ToString().EndsWith("images/gurney.jpg")); }
public void ContosoProductCatalogServiceIsRegistered() { SqlSessionProvider.Instance().SetSharedResourceProviderToUse("ContosoSSP"); NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances(); Assert.AreEqual(1, sysInstances.Count); Assert.IsNotNull(sysInstances["ContosoProductCatalogService"]); }
private static void IterateLOBSystems() { NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances(); Console.WriteLine("Listing system instances..."); foreach (String name in sysInstances.Keys) { Console.WriteLine(name); } NamedLobSystemDictionary lobSystems = ApplicationRegistry.GetLobSystems(); foreach (LobSystem lobSystem in lobSystems.Values) { Console.WriteLine("Application: " + lobSystem.Name); NamedDataClassDictionary lobClasses = lobSystem.GetDataClasses(); foreach (DataClass dataClass in lobClasses.Values) { Console.WriteLine(" Entities: " + dataClass.Name); } if (lobSystem.Name == "AdventureWorksSample") { // work on a specific class DataClass customers = lobClasses["Customer"]; NamedMethodDictionary methods = customers.GetMethods(); foreach (Method meth in methods.Values) { Console.WriteLine(" Method: " + meth.Name); } } if (lobSystem.Name == "AdventureWorksLOBSystem") { // filter all femalce Employees Entity employees = lobSystem.GetEntities()["HumanResources.Employee"]; FilterCollection filtered = employees.GetFinderFilters(); (filtered[0] as ComparisonFilter).Value = 10; IEntityInstanceEnumerator empEnum = employees.FindFiltered(filtered, ApplicationRegistry.GetLobSystemInstances ()["AdventureWorksInstance"]); while (empEnum.MoveNext()) { DataTable dt = (empEnum.Current as DbEntityInstance).EntityAsDataTable; PrintDataRow(dt.Rows[0]); } } } }
public void ContosoProductCatalogServiceHasCatalogAndProductEntities() { SqlSessionProvider.Instance().SetSharedResourceProviderToUse("ContosoSSP"); NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances(); LobSystemInstance lobSystemInstance = sysInstances["ContosoProductCatalogService"]; NamedEntityDictionary entities = lobSystemInstance.GetEntities(); Assert.AreEqual(3, entities.Count); Assert.IsNotNull(entities["Category"]); Assert.IsNotNull(entities["Product"]); Assert.IsNotNull(entities["Part"]); }
public void CategoryCanBeFound() { SqlSessionProvider.Instance().SetSharedResourceProviderToUse("ContosoSSP"); NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances(); LobSystemInstance lobSystemInstance = sysInstances["ContosoProductCatalogService"]; NamedEntityDictionary entities = lobSystemInstance.GetEntities(); Entity categoryEntity = entities["Category"]; IEntityInstance categoryInstance = categoryEntity.FindSpecific("0", lobSystemInstance); Assert.AreEqual("Root Category", categoryInstance["Name"]); Assert.AreEqual("0", categoryInstance["CategoryId"]); Assert.AreEqual(string.Empty, categoryInstance["ParentId"]); categoryInstance = categoryEntity.FindSpecific("1", lobSystemInstance); Assert.AreEqual("Medical Supplies", categoryInstance["Name"]); Assert.AreEqual("1", categoryInstance["CategoryId"]); Assert.AreEqual("0", categoryInstance["ParentId"]); }