public async Task <IHttpActionResult> AGROrderCallBack([FromBody] AGROrderResponseDTO response, CancellationToken token) { if (response == null) { return(BadRequest("The response was not deserialized correctly.")); } var service = new DataContractService(); await service.LogAGROrderCallback(response, token); return(Ok()); }
public static async Task LogAGROrderAction(AGROrderResponseDTO response, CancellationToken token, string action) { using (var con = new SqlConnection(StgConnectionString)) { con.Open(); using (var cmd = new SqlCommand("[log].[insert_order_transfer_log]", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@order_id", response.agr_order_id); cmd.Parameters.AddWithValue("@action", action); cmd.Parameters.AddWithValue("@success", response.erp_order_status == AGRConstants.ERP_ORDER_STATUS.COMPLETED); cmd.Parameters.AddWithValue("@order_type", response.agr_order_type); cmd.Parameters.AddWithValue("@error_message", response.error_message); cmd.Parameters.AddWithValue("@error_stack_trace", response.error_message); await cmd.ExecuteNonQueryAsync(token); } } }
public static async Task UpdateOrderStatus(AGROrderResponseDTO response, CancellationToken token) { using (var con = new SqlConnection(ProdConnectionString)) { con.Open(); using (var cmd = new SqlCommand("[dbo].[orders_update_transfer_status]", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@order_id", response.agr_order_id); if (response.erp_order_status == AGRConstants.ERP_ORDER_STATUS.COMPLETED) { cmd.Parameters.AddWithValue("@status", 2); cmd.Parameters.AddWithValue("@description", "ERP Order number: " + response.erp_order_no); } else { cmd.Parameters.AddWithValue("@status", 1); cmd.Parameters.AddWithValue("@description", "Order creation failed on the ERP side. See [log].[order_transfer_log] for details"); } await cmd.ExecuteNonQueryAsync(token); } } }
public static async Task LogAGROrderCallback(AGROrderResponseDTO response, CancellationToken token) { await LogAGROrderAction(response, token, "call_back"); }
public async Task LogAGROrderCallback(AGROrderResponseDTO response, CancellationToken token) { await DataWriter.LogAGROrderCallback(response, token); await DataWriter.UpdateOrderStatus(response, token); }