/// <summary>
            /// Saves the transaction log.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The empty response.</returns>
            private static NullResponse Save(InsertTransactionLogDataRequest request)
            {
                var allTables = new DataTable[] { request.TransactionLogTable };

                request.TransactionLogTable.TableName = "ax.RETAILTRANSACTIONTABLE";
                request.TransactionLogTable.Columns.Add("CREATEDOFFLINE", typeof(int));

                foreach (DataRow row in request.TransactionLogTable.Rows)
                {
                    row["CREATEDOFFLINE"] = 1; // set offline flag to true.
                }

                using (var databaseContext = new SqliteDatabaseContext(request.RequestContext))
                    using (var transaction = databaseContext.BeginTransaction())
                    {
                        foreach (DataTable dataTable in allTables)
                        {
                            databaseContext.SaveTable(dataTable);
                        }

                        transaction.Commit();
                    }

                return(new NullResponse());
            }
            /// <summary>
            /// Saves the transaction log.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The empty response.</returns>
            private static NullResponse Save(InsertTransactionLogDataRequest request)
            {
                ParameterSet parameters = new ParameterSet();

                parameters["@bi_ChannelId"]         = request.ChannelId;
                parameters["@TVP_TransactionTable"] = request.TransactionLogTable;

                int errorCode;

                using (var databaseContext = new SqlServerDatabaseContext(request))
                {
                    errorCode = databaseContext.ExecuteStoredProcedureNonQuery("INSERTTRANSACTION", parameters);
                }

                if (errorCode != (int)DatabaseErrorCodes.Success)
                {
                    throw new StorageException(StorageErrors.Microsoft_Dynamics_Commerce_Runtime_CriticalStorageError, errorCode, "Unable to save transaction log.");
                }

                return(new NullResponse());
            }