/// <summary> /// Initializes the Catalog /// </summary> private void InitializeMetadataStore() { // Open the shared metadatacatalog cache on the client to // read LOB information. This class represnts the Office // client shared storage for BCS metadata. Once on client, // this metadata can be accessed from any Office application catalog = new RemoteSharedFileBackedMetadataCatalog(); // Get the SalesOrderHeader entity instance using // namespace and name entitySalesOrderHeader = catalog.GetEntity( SalesOrderHeaderNamespace, SalesOrderHeader); // Get the SalesOrderLine entity instance using // namespace and name entitySalesOrderLine = catalog.GetEntity( SalesOrderHeaderNamespace, SalesOrderLine); salesOrderLineEntityIds = entitySalesOrderLine.GetIdentifiers(); // Get the handle to LobSystem lobInstance = catalog.GetLobSystem(SalesOrderLobSystemName). GetLobSystemInstances()[SalesOrderLobSystemInstanceName]; // Create list to hold changed rows changedSalesLineRows = new List <DataRow>(); }
private static object GetTypedIDValue(string sID, IEntity oEntity) { object oID = null; try { IIdentifierCollection type = oEntity.GetIdentifiers(); String sIdentifierType = type[0].IdentifierType.FullName.ToLower().Replace("system.", String.Empty); // Find the instance value based on the given identifier type switch (sIdentifierType) { case "string": oID = sID; break; case "datetime": oID = DateTime.Parse(sID, CultureInfo.CurrentCulture); break; case "boolean": oID = Boolean.Parse(sID); break; case "int64": oID = Int64.Parse(sID); break; case "int32": oID = Int32.Parse(sID); break; case "int16": oID = Int16.Parse(sID); break; case "double": oID = Double.Parse(sID); break; case "char": oID = Char.Parse(sID); break; case "guid": oID = new Guid(sID); break; default: oID = sID; break; } } catch (Exception e) { LogError("GetTypedIDValue errored with message " + e.Message); } return(oID); }