public static WorkAction CreateOrderWithFreeNumberAction(OrderStorage storage) { return(WorkAction.CreateNew(ctx1 => { var creationSuccess = storage.TryAddNewOrder(out var num); Console.WriteLine(creationSuccess ? $"Создан новый заказ с номером '{num}'" : $"Не удалось создать заказ"); })); }
public static WorkAction ActionForExecutionOrder(OrderStorage storage) { return(WorkAction.CreateNew(ctx1 => { if (storage.GetOrdersCountInQueue() == 0) { Console.WriteLine($"Нельзя выполнить несуществующий заказ"); return; } var executionSuccess = storage.TryExecuteNextOrder(out var orderNumber); Console.WriteLine(executionSuccess ? $"Заказ '{orderNumber}' выполнен" : $"Заказ '{orderNumber}' не удалось выполнить"); })); }
public static DataInputAction CreateOrderWithForceNumberAction(Context ctx, OrderStorage storage) { return(DataInputAction.CreateNew("Введите новый номер заказа:", ActionsKeys.NewOrderNumber) .SetDescendantAction(WorkAction.CreateNew(ctx1 => { var newOrderNumber = ctx[ActionsKeys.NewOrderNumber]; if (int.TryParse(newOrderNumber, out var num)) { var creationSuccess = storage.TryAddNewOrder(num); Console.WriteLine(creationSuccess ? $"Создан новый заказ с номером '{num}'" : $"Не удалось создать заказ с номером '{num}'"); } else { Console.WriteLine($"Указаное значение не является целым числом '{newOrderNumber}'"); } }))); }