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());
        }
Beispiel #2
0
 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);
         }
     }
 }
Beispiel #3
0
 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);
         }
     }
 }
Beispiel #4
0
 public static async Task LogAGROrderCallback(AGROrderResponseDTO response, CancellationToken token)
 {
     await LogAGROrderAction(response, token, "call_back");
 }
Beispiel #5
0
        public async Task LogAGROrderCallback(AGROrderResponseDTO response, CancellationToken token)
        {
            await DataWriter.LogAGROrderCallback(response, token);

            await DataWriter.UpdateOrderStatus(response, token);
        }