Ejemplo n.º 1
0
        public static MesaStatusViewModel AgregarPedidos(IList <PedidoViewModel> pedidos)
        {
            var pedidosAServir            = new List <PedidoItemViewModel>();
            var pedidosComidaEmPreparacao = new List <PedidoItemViewModel>();
            var pedidosServidos           = new List <PedidoItemViewModel>();


            foreach (var pedido in pedidos)
            {
                foreach (var item in pedido.PedidoBebidaItens.Where(x => string.IsNullOrEmpty(x.Servido)))
                {
                    pedidosAServir.Add(item);
                }
            }

            foreach (var pedido in pedidos)
            {
                foreach (var item in pedido.PedidoComidaItens.Where(x => !string.IsNullOrEmpty(x.EmPreparacao) && string.IsNullOrEmpty(x.Servido) && !x.MenuItem.Bebida))
                {
                    pedidosComidaEmPreparacao.Add(item);
                }
            }

            foreach (var pedido in pedidos)
            {
                foreach (var item in pedido.PedidoBebidaItens.Where(x => !string.IsNullOrEmpty(x.Servido)))
                {
                    pedidosServidos.Add(item);
                }
                foreach (var item in pedido.PedidoComidaItens.Where(x => !string.IsNullOrEmpty(x.Servido)))
                {
                    pedidosServidos.Add(item);
                }
            }

            var pedidosItensConsolidados = new MesaStatusViewModel
            {
                PedidosAServir      = pedidosAServir,
                PedidosEmPreparacao = pedidosComidaEmPreparacao,
                PedidosServidos     = pedidosServidos
            };

            return(pedidosItensConsolidados);
        }
Ejemplo n.º 2
0
        public MesaStatusViewModel Status(int id)
        {
            using (var mesaAberta = new MesaAbertaQueryHandler())
            {
                var mesa    = mesaAberta.Handle(new MesaAbertaQuery(id, 0));
                var pedidos = mesa.Pedidos.Select(x => new PedidoViewModel
                {
                    Id                = x.Id,
                    NumMesa           = mesa.NumMesa,
                    PedidoBebidaItens = x.ItensPedidos.Where(b => b.MenuItem.Bebida).Select(i => new PedidoItemViewModel
                    {
                        Id       = i.Id,
                        MenuItem = new MenuItemViewModel
                        {
                            Id          = i.MenuItem.Id,
                            NumMenuItem = i.MenuItem.NumMenuItem,
                            Descricao   = i.MenuItem.Descricao,
                            Valor       = i.MenuItem.Valor,
                            Bebida      = i.MenuItem.Bebida
                        },
                        Descricao    = i.Descricao,
                        Quantidade   = i.Quantidade,
                        Valor        = (i.Quantidade * (double)i.MenuItem.Valor),
                        AServir      = i.AServir.HasValue ? i.AServir.Value.ToString("d") : "",
                        EmPreparacao = i.EmPreparacao.HasValue ? i.EmPreparacao.Value.ToString("d") : "",
                        Servido      = i.Servido.HasValue ? i.Servido.Value.ToString("d") : ""
                    }).ToList(),
                    PedidoComidaItens = x.ItensPedidos
                                        .Where(b => !b.MenuItem.Bebida)
                                        //.Where(b => !b.Servido.HasValue)
                                        .Select(i => new PedidoItemViewModel
                    {
                        Id       = i.Id,
                        MenuItem = new MenuItemViewModel
                        {
                            Id          = i.MenuItem.Id,
                            NumMenuItem = i.MenuItem.NumMenuItem,
                            Descricao   = i.MenuItem.Descricao,
                            Valor       = i.MenuItem.Valor,
                            Bebida      = i.MenuItem.Bebida
                        },
                        Descricao    = i.Descricao,
                        Quantidade   = i.Quantidade,
                        AServir      = i.AServir.HasValue ? i.AServir.Value.ToString("d") : "",
                        EmPreparacao = i.EmPreparacao.HasValue ? i.EmPreparacao.Value.ToString("d") : "",
                        Servido      = i.Servido.HasValue ? i.Servido.Value.ToString("d") : ""
                    }).ToList()
                }).ToList();

                var pedidosItensAgregados = Util.AgregarPedidos(pedidos);
                var mesaStatus            = new MesaStatusViewModel
                {
                    MesaId              = mesa.Id,
                    NumMesa             = mesa.NumMesa,
                    PedidosAServir      = pedidosItensAgregados.PedidosAServir,
                    PedidosEmPreparacao = pedidosItensAgregados.PedidosEmPreparacao,
                    PedidosServidos     = pedidosItensAgregados.PedidosServidos
                };

                return(mesaStatus);
            }
        }