private OrderAfter GetOrder(Guid clientOrderId) { using (var conn = new SqlConnection(_connectionString)) { conn.Open(); using (var tx = conn.BeginTransaction()) using (var cmd = new SqlCommand("SELECT OrderId, Name, Amount, Success, ClientOrderId FROM OrdersPlaced WHERE ClientOrderId = @ClientOrderId", conn, tx)) { cmd.Parameters.AddWithValue("ClientOrderId", clientOrderId); using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { if (reader.Read()) { var order = new OrderAfter { OrderId = (int)reader[0], Name = (string)reader[1], Amount = (decimal)reader[2], Success = (bool)reader[3], ClientOrderId = (Guid)reader[4], }; return(order); } } } } return(null); }
private void SaveOrder(OrderAfter order) { using (var conn = new SqlConnection(_connectionString)) { conn.Open(); using (var tx = conn.BeginTransaction()) using (var cmd = new SqlCommand("INSERT OrdersPlaced (OrderId, Name, Amount, Success, ClientOrderId) VALUES (@OrderId, @Name, @Amount, @Success, @ClientOrderId)", conn, tx)) { cmd.Parameters.AddWithValue("OrderId", order.OrderId); cmd.Parameters.AddWithValue("Name", order.Name); cmd.Parameters.AddWithValue("Amount", order.Amount); cmd.Parameters.AddWithValue("Success", order.Success); cmd.Parameters.AddWithValue("ClientOrderId", order.ClientOrderId); cmd.ExecuteNonQuery(); tx.Commit(); } } }
public ActionResult New(OrderForm form) { var order = new OrderAfter { Name = form.Name, Amount = form.Amount, ClientOrderId = Guid.NewGuid() }; SaveOrder(order); var message = new PlaceOrder { Name = order.Name, Amount = order.Amount, ClientOrderId = order.ClientOrderId }; MvcApplication.Bus.Send(message); return(RedirectToAction("Show", new { order.ClientOrderId })); }