예제 #1
0
        public Task <IEnumerable <dynamic> > GetDataTable2()
        {
            var model = new PedidoItem().Query();

            model.Join("PEDIDO", "PEDIDO.id", "PEDIDO_ITEM.pedido");

            //model.Join("PEDIDO_ITEM", "PEDIDO_ITEM.item", "ITEM.id");
            //model.LeftJoin("CATEGORIA", "CATEGORIA.id", "ITEM.CATEGORIAID");
            //model.LeftJoin("PESSOA", "PESSOA.id", "ITEM.FORNECEDOR");

            model.Where("PEDIDO.TIPO", Home.pedidoPage);
            model.Where("PEDIDO.excluir", "=", "0");
            model.Where("PEDIDO_ITEM.excluir", "=", "0");
            model.Where("PEDIDO.emissao", ">=", Validation.ConvertDateToSql(dataInicial.Value, true));
            model.Where("PEDIDO.emissao", "<=", Validation.ConvertDateToSql(dataFinal.Value, true));

            model.SelectRaw(
                "PEDIDO_ITEM.item as item, " +
                "PEDIDO_ITEM.cprod as cprod, " +
                "PEDIDO_ITEM.XPROD as produto, " +
                "PEDIDO_ITEM.MEDIDA as produto, " +
                "SUM(PEDIDO_ITEM.TOTALCOMPRA) as SumCompras, " +
                "SUM(PEDIDO_ITEM.TOTAL) as SumVendas, " +
                "SUM(PEDIDO_ITEM.QUANTIDADE) as TotalVendas");

            model.GroupBy("PEDIDO_ITEM.item", "PEDIDO_ITEM.cprod", "PEDIDO_ITEM.XPROD", "PEDIDO_ITEM.MEDIDA");

            //model.Limit(200);

            return(model.GetAsync <dynamic>());
        }
예제 #2
0
        private decimal CalcularMeiaPizza()
        {
            decimal valorMeiaPizza = 0;

            if (PedidoItem.Any(x => x.DividiSabor))
            {
                foreach (var referencia in PedidoItem.Where(x => x.DividiSabor && x.Referencia.HasValue).GroupBy(y => y.Referencia))
                {
                    valorMeiaPizza += PedidoItem.Where(x => x.Referencia.HasValue && x.Referencia.Value.Equals(referencia.Key)).Sum(itemPedido => itemPedido.ValorUnitario / 2);
                }
            }

            return(valorMeiaPizza);
        }