/// <summary> /// Creates the TransformDefinition for the dataset to be iterated. /// </summary> private TransformDefinition CreateOrderDefintion() { // Create the resultant object. TransformDefinition result = CreatePullStyleTransformDef(TestConstants.CONNECTOR_SYSTEM, "Order"); TransformRecordDefinition orderRecDef = result.CreateTransformRecord("Order", string.Empty); TransformDefinitionBuilder.CreateField(orderRecDef, "UniqueID"); TransformDefinitionBuilder.CreateField(orderRecDef, "OrderType", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(orderRecDef, "Customer"); TransformDefinitionBuilder.CreateField(orderRecDef, "OrderDate", IntManFieldTypeEnum.eDate); TransformDefinitionBuilder.CreateField(orderRecDef, "ShipDate", IntManFieldTypeEnum.eDate); TransformDefinitionBuilder.CreateField(orderRecDef, "OrderNo"); TransformDefinitionBuilder.CreateField(orderRecDef, "ExchangeRate", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(orderRecDef, "NetValue", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(orderRecDef, "DiscountValue", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(orderRecDef, "TaxValue", IntManFieldTypeEnum.eDecimal); TransformRecordDefinition orderDetailRecDef = result.CreateTransformRecord("OrderDetail", "Order"); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "Item"); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "Description", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "Qty", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "UnitAmount", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "TaxCode", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "DiscountAmount", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(orderDetailRecDef, "TaxAmount", IntManFieldTypeEnum.eDecimal); TransformRecordDefinition serialNumRecDef = result.CreateTransformRecord("SerialNumbers", "OrderDetail"); TransformDefinitionBuilder.CreateField(serialNumRecDef, "Serial"); return(result); }
/// <summary> /// Creates the TransformDefinition for the dataset to be iterated. /// </summary> private TransformDefinition CreateCustomerDefintion() { // Create the resultant object. TransformDefinition result = CreatePullStyleTransformDef(TestConstants.CONNECTOR_SYSTEM, "Customer"); TransformRecordDefinition customerRecDef = result.CreateTransformRecord("Customer", string.Empty); TransformDefinitionBuilder.CreateField(customerRecDef, "AccountNo"); TransformDefinitionBuilder.CreateField(customerRecDef, "AccountName"); TransformDefinitionBuilder.CreateField(customerRecDef, "CreditLimit", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(customerRecDef, "Currency"); TransformDefinitionBuilder.CreateField(customerRecDef, "AddressLine1"); TransformDefinitionBuilder.CreateField(customerRecDef, "AddressLine2"); TransformDefinitionBuilder.CreateField(customerRecDef, "AddressLine3"); TransformDefinitionBuilder.CreateField(customerRecDef, "AddressLine4"); TransformDefinitionBuilder.CreateField(customerRecDef, "City"); TransformDefinitionBuilder.CreateField(customerRecDef, "County"); TransformDefinitionBuilder.CreateField(customerRecDef, "Country"); TransformDefinitionBuilder.CreateField(customerRecDef, "PostCode"); TransformDefinitionBuilder.CreateField(customerRecDef, "DefaultTaxCode", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(customerRecDef, "OrderPriority"); TransformDefinitionBuilder.CreateField(customerRecDef, "UseTaxCodeAsDefault", IntManFieldTypeEnum.eBoolean); return(result); }
public void FlatDatasetPushConnectorTest() { // Create the TransformDefinition for the Customer import. TransformDefinition tfmDef = CreateAuthorizeDefinition(); // Create the TransactionFactory to contain the dataset. var factory = new TransactionFactory(tfmDef); // Get a reference to the Customer definition. TransformRecordDefinition recDef = tfmDef.RecordDefById("Customer"); // Create a Customer transaction object Transaction transaction = TransactionFactory.CreateTransaction(recDef, true); // Set the various fields of the Customer transaction //transaction.SetFieldValue("Reference", "00090014", false); transaction.SetFieldValue("Name", "John Smith", true); transaction.SetFieldValue("ShortName", "JohnS", true); transaction.SetFieldValue("CreditLimit", 5000M, true); transaction.SetFieldValue("Currency", "", true); transaction.SetFieldValue("PaymentTermDays", 2, true); transaction.SetFieldValue("CountryCode", "UK", true); transaction.SetFieldValue("AddressLine1", "91 Brick Lane", true); transaction.SetFieldValue("AddressLine2", "", true); transaction.SetFieldValue("AddressLine3", "", true); transaction.SetFieldValue("AddressLine4", "", true); transaction.SetFieldValue("City", "LONDON", true); transaction.SetFieldValue("County", "LOONDON", true); transaction.SetFieldValue("PostCode", "E1 6QL", true); transaction.SetFieldValue("AddressCountryCode", "UK", true); transaction.SetFieldValue("MainTelephoneCountryCode", "44", true); transaction.SetFieldValue("MainTelephoneAreaCode", "208", true); transaction.SetFieldValue("MainTelephoneSubscriberNumber", "1231017", true); transaction.SetFieldValue("MainFaxCountryCode", "", true); transaction.SetFieldValue("MainFaxAreaCode", "", true); transaction.SetFieldValue("MainFaxSubscriberNumber", "", true); transaction.SetFieldValue("MainWebSite", "www.realisable.co.uk", true); transaction.SetFieldValue("DefaultTaxCode", "1", true); transaction.SetFieldValue("TaxRegistrationCode", "GB998728391", true); transaction.SetFieldValue("MonthsToKeepTransactions", 1, true); transaction.SetFieldValue("OrderPriority", "A", true); transaction.SetFieldValue("DUNSCode", "", true); transaction.SetFieldValue("UseTaxCodeAsDefault", true, true); transaction.SetFieldValue("DefaultNominalCode", "1000", true); transaction.SetFieldValue("TradingAccountType", "Trade", true); transaction.SetFieldValue("EarlySettlementDiscountPercent", 1.2M, true); transaction.SetFieldValue("EarlySettlementDiscountDays", 2, true); transaction.SetFieldValue("PaymentTermsDays", 2, true); transaction.SetFieldValue("PaymentTermsBasis", 2, true); transaction.SetFieldValue("SAGE200IMPSUCCESS", "", true); // Insert the Customer transaction into the data structure. TransactionFactory.InsertTransaction(factory.Data, transaction); ProcessTransactions(factory); // TODO: Performs some tests to ensure the data being 'Pushed' to the application has been // accepted and the fields have been populated with correct values. }
public static TransformRecordDefinition CreateRecord(TransformDefinition tfmDef, string recordId, string parentId) { TransformRecordDefinition result = tfmDef.CreateTransformRecord(recordId, parentId); result.ParentRecordId = parentId; return(result); }
public void HierarchicalPullConnectorTest() { TransformDefinition tfmDef = CreateOrderDefintion(); IReader reader = new PullDataInterop(); reader.Initialise(tfmDef, _testMode, new SystemConnectorDTO(TestConstants.CONNECTOR_SYSTEM)); IterateRecursive(tfmDef.RecordDefById("Order"), reader); }
public void FlatPullConnectorTest() { TransformDefinition tfmDef = CreateCustomerDefintion(); IReader reader = new PullDataInterop(); reader.Initialise(tfmDef, _testMode, new SystemConnectorDTO(TestConstants.CONNECTOR_SYSTEM)); IterateFlat(tfmDef.RecordDefById("Customer"), reader); }
/// <summary> /// Called to initialise the Reader object. /// </summary> /// <param name="transformDef">The transform definition.</param> /// <param name="testMode">Indicates true/false if the Reader is being invoked from the designer/preview mode.</param> /// <param name="system">The SystemConnectorDTO object containing the settings.</param> public void Initialise(TransformDefinition transformDef, bool testMode, SystemConnectorDTO system) { string importId = transformDef.Options.GetProperty(GlobalResources.SYS_CONNECT_TRAN_TYPE_OPT); _systemId = system.SystemId; _testMode = testMode; GetReaderOptions(transformDef); OpenDataDocument(importId); }
/// <summary> /// Is called before processing is started; do any initialisation here. /// </summary> /// <param name="transformDef">The connector transform definition.</param> /// <param name="iterator">The transaction iterator.</param> /// <param name="testMode">Indicates if transform is being run in the designer/Preview mode.</param> /// <param name="errAction">The action to take if there's an error.</param> /// <param name="updateOperation">Whether to insert and/or update and/or delete.</param> /// <param name="system">The System object containing the settings.</param> /// <param name="auditController">The audit controller object.</param> public void Initialise(TransformDefinition transformDef, TransactionIterator iterator, bool testMode, eTransformErrorAction errAction, eERPUpdateOperation updateOperation, SystemConnectorDTO system, ITransformAuditController auditController) { _transformDef = transformDef; _iterator = iterator; _testMode = testMode; _errAction = errAction; _updateOperation = updateOperation; _system = system; _auditController = auditController; Logon(system); }
/// <summary> /// Creates the TransformDefinition for the Customer push style connector. /// </summary> /// <returns></returns> private TransformDefinition CreateAuthorizeDefinition(eERPUpdateOperation updateOp = eERPUpdateOperation.eUpdateInsert) { // Create the resultant object. TransformDefinition tfmDef = CreatePushStyleTransformDef(TestConstants.CONNECTOR_SYSTEM, ImportTypeEnum.Authorize, updateOp); // Create the Customer RecordDefinition. TransformRecordDefinition recDef = TransformDefinitionBuilder.CreateRecord(tfmDef, "Authorize", string.Empty); // Add the fields to the Customer Transform. TransformDefinitionBuilder.CreateField(recDef, "Reference"); TransformDefinitionBuilder.CreateField(recDef, "Name"); TransformDefinitionBuilder.CreateField(recDef, "ShortName"); TransformDefinitionBuilder.CreateField(recDef, "CreditLimit", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(recDef, "Currency"); TransformDefinitionBuilder.CreateField(recDef, "PaymentTermDays"); TransformDefinitionBuilder.CreateField(recDef, "CountryCode"); TransformDefinitionBuilder.CreateField(recDef, "AddressLine1"); TransformDefinitionBuilder.CreateField(recDef, "AddressLine2"); TransformDefinitionBuilder.CreateField(recDef, "AddressLine3"); TransformDefinitionBuilder.CreateField(recDef, "AddressLine4"); TransformDefinitionBuilder.CreateField(recDef, "City"); TransformDefinitionBuilder.CreateField(recDef, "County"); TransformDefinitionBuilder.CreateField(recDef, "PostCode"); TransformDefinitionBuilder.CreateField(recDef, "AddressCountryCode"); TransformDefinitionBuilder.CreateField(recDef, "MainTelephoneCountryCode"); TransformDefinitionBuilder.CreateField(recDef, "MainTelephoneAreaCode"); TransformDefinitionBuilder.CreateField(recDef, "MainTelephoneSubscriberNumber"); TransformDefinitionBuilder.CreateField(recDef, "MainFaxCountryCode"); TransformDefinitionBuilder.CreateField(recDef, "MainFaxAreaCode"); TransformDefinitionBuilder.CreateField(recDef, "MainFaxSubscriberNumber"); TransformDefinitionBuilder.CreateField(recDef, "MainWebSite"); TransformDefinitionBuilder.CreateField(recDef, "DefaultTaxCode", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(recDef, "TaxRegistrationCode"); TransformDefinitionBuilder.CreateField(recDef, "MonthsToKeepTransactions", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(recDef, "OrderPriority"); TransformDefinitionBuilder.CreateField(recDef, "DUNSCode"); TransformDefinitionBuilder.CreateField(recDef, "UseTaxCodeAsDefault", IntManFieldTypeEnum.eBoolean); TransformDefinitionBuilder.CreateField(recDef, "DefaultNominalCode"); TransformDefinitionBuilder.CreateField(recDef, "TradingAccountType"); TransformDefinitionBuilder.CreateField(recDef, "EarlySettlementDiscountPercent", IntManFieldTypeEnum.eDecimal); TransformDefinitionBuilder.CreateField(recDef, "EarlySettlementDiscountDays", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(recDef, "PaymentTermsDays", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(recDef, "PaymentTermsBasis", IntManFieldTypeEnum.eLongInt); TransformDefinitionBuilder.CreateField(recDef, "SAGE200IMPSUCCESS"); return(tfmDef); }
/// <summary> /// Creates a TransformDefinition object for a Push Style Connector. /// </summary> /// <param name="systemConnectorId">The id for the System Connector used to retrieve the connection properties.</param> /// <param name="impType">The import type.</param> /// <param name="updateOp">The update operation.</param> /// <returns></returns> protected TransformDefinition CreatePushStyleTransformDef(string systemConnectorId, ImportTypeEnum impType, eERPUpdateOperation updateOp) { TransformDefinition tfmDef = _jobDef.CreateTransform(); ITransformSetup tfmSetup = new CustomConnectorTransformSetup(); tfmSetup.InitialiseTransform(tfmDef); // Set the options for the connector. tfmDef.Options.SetProperty(GlobalResources.SYS_CONNECT_TRAN_TYPE_OPT, Convert.ToInt32(impType).ToString(), false); tfmDef.Options.SetProperty(GlobalResources.SYS_CONNECT_SYSID_OPT, systemConnectorId, false); tfmDef.Options.SetProperty(GlobalResources.SYS_CONNECT_UPDATE_OP_OPT, Convert.ToInt32(updateOp).ToString(), false); tfmDef.Options.SetProperty(GlobalResources.CUS_CONNECT_ASSEMBLY_NAME_OPT, TestConstants.ASSEMBLY_NAME, false); tfmDef.AuditDefinition.ErrorAction = eTransformErrorAction.eTransformErrorActionAbort; return(tfmDef); }
/// <summary> /// Processes a Push Style dataset by instantiating the ITransformInterop object and making the appropriate calls. /// </summary> /// <param name="transactionFactory">The transaction factory containing the dataset.</param> //protected string ProcessTransactions(TransactionFactory transactionFactory) //{ // ITransformInterop import = new TransformInterop(); // import.CreateController(JOBDEF_ID, INSTANCE_ID, transactionFactory.TransformDefinition.GetXml(), transactionFactory.Data.OuterXml, true, string.Empty); // ((TransformInterop) import).SetAuditProxy(new AuditProxy()); // // Run the actual import. // import.Process(); // return import.TransformedData(); //} protected static void ProcessTransactions(TransactionFactory transactionFactory) { TransformDefinition tfmDef = transactionFactory.TransformDefinition; // Obtain the system connector. SystemConnectorDTO connectorDTO = new SystemConnectorDTO(tfmDef.Options.GetProperty(GlobalResources.SYS_CONNECT_SYSID_OPT)); // Get the updateOperation. eERPUpdateOperation updateOperation = tfmDef.Options.GetProperty <eERPUpdateOperation>(GlobalResources.SYS_CONNECT_UPDATE_OP_OPT); // Create the ITransformProcess object implemented by the connector. PushDataInterop target = new PushDataInterop(); // Now initialise. target.Initialise(tfmDef, transactionFactory.CreateTransactionIterator(), false, tfmDef.AuditDefinition.ErrorAction, updateOperation, connectorDTO, new AuditProxy()); // Run the actual import. target.Process(); }
/// <summary> /// Transform the code by adding highlight markup and styles to recognized tokens. /// </summary> /// <param name="code">The code block to transform.</param> /// <param name="type">The code block type.</param> /// <returns>The transformed block.</returns> public string Transform(string code, string type) { this.transformDefinition = TransformDefinitionFactory.Load( this.transformPath, type, this.options); this.buffer = new Buffer( code, this.transformDefinition.Patterns[SeparatorsPattern], this.options); while (!this.buffer.Eof) { if (!this.transformDefinition.Apply(this.buffer)) { this.buffer.SkipToken(); } this.buffer.NextToken(); } return(this.buffer.Data); }
private TransformDefinition CreateCaptureDefinition(eERPUpdateOperation updateOperation = eERPUpdateOperation.eUpdate) { // Create the resultant object. TransformDefinition result = CreatePushStyleTransformDef(TestConstants.CONNECTOR_SYSTEM, ImportTypeEnum.Capture, updateOperation); // Create the Record Definition TransformRecordDefinition order = TransformDefinitionBuilder.CreateRecord(result, "Capture", string.Empty); TransformDefinitionBuilder.CreateField(order, nameof(Capture.ApiLoginID)); // "ApiLoginID"); TransformDefinitionBuilder.CreateField(order, nameof(Capture.ApiTransactionKey)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.TransactionAmount)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.TransactionID)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.ResponseCode)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.MessageCode)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.Description)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.AuthCode)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.ErrorCode)); TransformDefinitionBuilder.CreateField(order, nameof(Capture.CaptureErrorMessage)); return(result); }
/// <summary> /// Creates a TransformDefinition object for a Pull Style connector. /// </summary> /// <param name="systemConnectorId">The id for the System Connector used to retrieve the connection properties.</param> /// <param name="importDataType">The type of data being retrieved.</param> /// <returns>The constructed TransformDefinition object.</returns> protected TransformDefinition CreatePullStyleTransformDef(string systemConnectorId, string importDataType, eTransformErrorAction errorAction = eTransformErrorAction.eTransformErrorActionAbort) { TransformDefinition result = _jobDef.CreateTransform(); ITransformSetup tfmSetup = new CustomReaderSetup(); tfmSetup.InitialiseTransform(result); // Set the options for the Reader definition. result.Options.SetProperty(GlobalResources.SYS_CONNECT_TRAN_TYPE_OPT, importDataType, false); result.Options.SetProperty(GlobalResources.SYS_CONNECT_SYSID_OPT, systemConnectorId, false); result.Options.SetProperty(GlobalResources.CUS_CONNECT_ASSEMBLY_NAME_OPT, TestConstants.ASSEMBLY_NAME, false); // Set any custom options. Move this to your actual test code if the options are specific to a test. result.Options.SetProperty("Option1", "Option Value 1", false); result.Options.SetProperty("Option2", "Option Value 2", false); result.AuditDefinition.ErrorAction = errorAction; return(result); }
/// <summary> /// Validates the ReaderOptions. /// </summary> /// <remarks> /// This is a mock scenario; where if the two options are same value an exception is thrown. /// </remarks> public void ValidateSettings(TransformDefinition transformDefinition, IList <ReaderOption> options, string[] optionValues) { string option1Value = string.Empty; string option2Value = string.Empty; for (int i = 0; i < options.Count; i++) { ReaderOption option = options[i]; if (option.Id == "Option1") { option1Value = optionValues[i]; } else { option2Value = optionValues[i]; } } if (option1Value != string.Empty && option2Value != string.Empty && option1Value == option2Value) { throw new Exception("Option 1 cannot be the same value as option 2"); } }
public void CCCaptureTest() { //string ApiLoginID = "9r95gdR4N7T3"; //string ApiTransactionKey = "7C2p9DN6K8VztH5R"; decimal TransactionAmount = 1.00M; string TransactionID = "61620710013"; // Create the TransformDefinition for the Order datastructure. TransformDefinition tfmDef = CreateCaptureDefinition(); // Create a TransactionFactory object. var factory = new TransactionFactory(tfmDef); // Get a reference to the SalesOrder definition. TransformRecordDefinition recDef = tfmDef.RecordDefById(ENTITY); // Create the SalesOrder transaction. Transaction orderTransaction = TransactionFactory.CreateTransaction(recDef, true); // It's not necessary to set every field in a test...just those you want! //orderTransaction.SetFieldValue("ApiLoginID", ApiLoginID, true); //orderTransaction.SetFieldValue("ApiTransactionKey", ApiTransactionKey, true); orderTransaction.SetFieldValue("TransactionAmount", TransactionAmount, true); orderTransaction.SetFieldValue("TransactionID", TransactionID, true); eERPUpdateOperation updateOperation = eERPUpdateOperation.eUpdate; // Insert the transaction into the data structure TransactionFactory.InsertTransaction(factory.Data, orderTransaction); SystemConnectorDTO systemConnector = new SystemConnectorDTO(TestConstants.CONNECTOR_SYSTEM); ProcessTransactions(factory, tfmDef, updateOperation, systemConnector); // TODO: Performs some tests to ensure the data being 'Pushed' to the application has been // accepted and the fields have been populated with correct values. }
/// <summary> /// Demonstrates how to get the ReaderOptions from the Transform Definition. /// </summary> /// <param name="transformDef">The transformDefintion</param> private void GetReaderOptions(TransformDefinition transformDef) { _readerOption1 = GetReaderOptionValue(transformDef, "Option1"); _readerOption2 = GetReaderOptionValue(transformDef, "Option2"); }
public TransformCaller(TransformDefinition transformDefinition, TypeCaster typeCaster) : base(typeCaster, transformDefinition) { }
protected TransactionIterator ProcessTransactions(TransactionFactory transactionFactory, TransformDefinition tfmDef, eERPUpdateOperation updateOperation, SystemConnectorDTO system) { TransactionIterator iterator = new TransactionIterator(transactionFactory.Data, tfmDef); PushDataInterop target = new PushDataInterop(); target.Initialise(tfmDef, iterator, true, eTransformErrorAction.eTransformErrorActionAbort, updateOperation, system, new AuditProxy()); // Run the actual import. target.Process(); return(iterator); }
private string GetReaderOptionValue(TransformDefinition transformDef, string property) { return(transformDef.Options.GetProperty(property)); }