public async Task <bool> Handle(MarkOrderStatusAsDecoratedCommand cmd, CancellationToken cancellationToken) { //TODO::Verify if there is any order request with the input order // If no, reject command //Create required events for this action and publish them var decoratedEvent = new CupcakeOrderDecoratedEvent(cmd.Order); await _mediator.Publish(decoratedEvent); return(true); //send acknowledgement as "true"(command accepted) }
public async Task <IActionResult> UpdateOrderStageAsDecoratedAsync([FromBody] MarkOrderStatusAsDecoratedCommand cmd) { if (!ModelState.IsValid) { BadRequest(); } var decoratedOrder = cmd.Order; Console.WriteLine("===============Decorator===================="); Console.WriteLine($"POST => updating order#{decoratedOrder.Id} as decorated, moving this to readytobox queue"); Console.WriteLine("----"); Console.WriteLine($"Id:{decoratedOrder.Id},Flavour: {decoratedOrder.Flavour},Quantity:{decoratedOrder.Quantity}"); Console.WriteLine($"DecoratedBy:{decoratedOrder.DecoratedBy}, DecoratedOn:{decoratedOrder.DecoratedOn}"); Console.WriteLine("==================================="); //Send a command to update the order status as decorated var isAccepted = await _mediator.Send(cmd); //"your order has been updated as decorated , moved it to box queue." return(Ok()); }