mirror of
https://github.com/dotnet/skills.git
synced 2026-09-20 09:49:54 +08:00
33 lines
974 B
C#
33 lines
974 B
C#
namespace FlakyCoupled;
|
|
|
|
public class Order
|
|
{
|
|
public string Id { get; set; } = Guid.NewGuid().ToString();
|
|
public string ItemName { get; set; } = "";
|
|
public int Quantity { get; set; }
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
public DateTime? ProcessedAt { get; set; }
|
|
}
|
|
|
|
public class OrderService
|
|
{
|
|
private readonly Dictionary<string, Order> _orders = new();
|
|
|
|
public Order CreateOrder(string itemName, int quantity)
|
|
{
|
|
var order = new Order { ItemName = itemName, Quantity = quantity };
|
|
_orders[order.Id] = order;
|
|
return order;
|
|
}
|
|
|
|
public void ProcessOrder(string orderId)
|
|
{
|
|
if (!_orders.ContainsKey(orderId))
|
|
throw new InvalidOperationException($"Order {orderId} not found");
|
|
_orders[orderId].ProcessedAt = DateTime.UtcNow;
|
|
}
|
|
|
|
public Order GetOrder(string orderId) => _orders[orderId];
|
|
public List<Order> GetAllOrders() => _orders.Values.ToList();
|
|
}
|