コード例 #1
0
        /// <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>();
        }
コード例 #2
0
        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);
        }