private static NullResponse SaveSalesTransaction(SaveCartDataRequest request) { var saveSalesTransactionProcedure = new SaveSalesTransactionProcedure(request); saveSalesTransactionProcedure.Execute(); return(new NullResponse()); }
private static NullResponse SaveCart(SaveCartDataRequest request) { ThrowIf.Null(request, "request"); ThrowIf.Null(request.SalesTransactions, "request.SalesTransactions"); var salesTransactionDataCollection = SalesTransactionConverter.ConvertToData(request.SalesTransactions, serializeData: true); using (DataTable table = new DataTable(SalesTransactionTableTypeName)) { SalesTransactionData.FillSchemaForSave(table); foreach (SalesTransactionData salesTransactionData in salesTransactionDataCollection) { table.Rows.Add(salesTransactionData.CreateDataRow(table)); } ParameterSet parameters = new ParameterSet(); parameters[SalesTransactionTableTypeVariableName] = table; parameters["@b_IgnoreRowVersionCheck"] = request.IgnoreRowVersionCheck; try { int errorCode; using (var databaseContext = new SqlServerDatabaseContext(request)) { errorCode = databaseContext.ExecuteStoredProcedureNonQuery(SaveSalesTransactionSprocName, parameters); } if (errorCode == (int)DatabaseErrorCodes.VersionMismatchError) { throw new StorageException(StorageErrors.Microsoft_Dynamics_Commerce_Runtime_ObjectVersionMismatchError, errorCode, "Version mismatch while saving transaction."); } if (errorCode != (int)DatabaseErrorCodes.Success) { throw new StorageException(StorageErrors.Microsoft_Dynamics_Commerce_Runtime_CriticalStorageError, errorCode, "Unable to save transactions."); } } catch (DatabaseException databaseException) { throw new StorageException( StorageErrors.Microsoft_Dynamics_Commerce_Runtime_CriticalStorageError, (int)databaseException.ErrorCode, databaseException, "Unable to save transactions."); } } return(new NullResponse()); }
/// <summary> /// Initializes a new instance of the <see cref="SaveSalesTransactionProcedure"/> class. /// </summary> /// <param name="request">The request object.</param> public SaveSalesTransactionProcedure(SaveCartDataRequest request) { this.request = request; }
private static void OnSaveCartExecuting(SaveCartDataRequest request) { var checkAccessRequest = new CheckAccessToCartServiceRequest(request.SalesTransactions); request.RequestContext.Execute <Response>(checkAccessRequest); }