public async Task <ObterComandaResponse> Handle(ObterComandaRequest request) { var comanda = await _comandaRepository.ConsultarPorId(request.ComandaId); return(new ObterComandaResponse { Comanda = new ComandaResponse { Id = comanda.Id, DataAbertura = comanda.DataAbertura, DataFechamento = comanda.DataFechamento, Mesa = comanda.Mesa, Pedidos = comanda.Pedidos.Select(p => new PedidoResponse { Id = p.Id, ComandaId = p.ComandaId, Cozinha = p.Cozinha, DataCancelamento = p.DataCancelamento, DataCriacao = p.DataCriacao, DataInicioPreparo = p.DataInicioPreparo, DataPronto = p.DataPronto, ItemId = p.ItemId, Quantidade = p.Quantidade, Status = p.Status, Valor = p.Valor }).ToList() } }); }
public async Task <FecharComandaResponse> Handler(FecharComandaCommand command) { var comanda = await _comandaRepository.ConsultarPorId(command.Id); if (comanda == null) { return(new FecharComandaResponse { Erro = new Notification(nameof(command.Id), "Essa comanda não existe") }); } comanda.Fechar(DateTime.Now); if (comanda.Notifications.Any()) { return(new FecharComandaResponse { Erro = comanda.Notifications }); } return(new FecharComandaResponse { ComandaId = comanda.Id, TotalPagar = comanda.TotalPagar }); }