public RptSinteticoVenda(CliFor cliFor, DateTime dtInicial, DateTime dtFinal, TypeStatusVenda statusVenda, TypeAgrupamentoVendas agrupar) { var vendas = new VendaFilterManager().FindVendasByPeriodo(cliFor, dtInicial, dtFinal, statusVenda, agrupar); init(vendas, dtInicial, dtFinal); }
public RptSinteticoVenda(DateTime dtInicial, DateTime dtFinal, TypeStatusVenda statusVenda, TypeAgrupamentoVendas agrupar) { var vendas = new VendaFilterManager().FindVendasByPeriodo(dtInicial, dtFinal, statusVenda, agrupar); init(vendas, dtInicial, dtFinal); //this.GroupHeader1.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] { //new DevExpress.XtraReports.UI.GroupField("CliFor.NomeCliente", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)}); }
/// <summary> /// Retorna vendas do cliente informado, dentro do período de datas desejado /// </summary> /// <param name="cliente"></param> /// <param name="dtInicio"></param> /// <param name="dtFinal"></param> /// <param name="status"></param> /// <returns></returns> public IQueryable <Venda> FindVendasByPeriodo(CliFor cliente, DateTime dtInicio, DateTime dtFinal, TypeStatusVenda status, TypeAgrupamentoVendas agrupar) { using (var ctx = new BalcaoContext()) { //filtra pelo cliente //Saos as vendas em atraso e aos que vao vencer if (status == TypeStatusVenda.Aberto) { var vendas = ctx.VendaDao.Where(v => v.TipoMovimento == TypeVenda.Venda && v.DataVenda.Date >= dtInicio.Date && v.DataVenda.Date <= dtFinal.Date && v.IdCliForVenda == cliente.IdCliFor); vendas = vendas.Where(v => v.StatusVenda == TypeStatusVenda.Aberto || v.StatusVenda == TypeStatusVenda.Parcial || v.StatusVenda == TypeStatusVenda.Vencida) .OrderBy(v => v.DataVenda); return(vendas); } //StatusVenda.Quitada , StatusVenda.Vencida , StatusVenda.Cancelada else if (status != TypeStatusVenda.Todas) { return(ctx.VendaDao.Where(v => v.TipoMovimento == TypeVenda.Venda && v.DataVenda.Date >= dtInicio.Date && v.DataVenda.Date <= dtFinal.Date && v.StatusVenda == status && v.IdCliForVenda == cliente.IdCliFor) .OrderBy(v => v.DataVenda)); } //Todas else { return(ctx.VendaDao.Where(v => v.TipoMovimento == TypeVenda.Venda && v.DataVenda.Date >= dtInicio.Date && v.DataVenda.Date <= dtFinal.Date && v.IdCliForVenda == cliente.IdCliFor) .OrderBy(v => v.DataVenda)); } } }