/// <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()); }