/// <summary> /// Retorna uma IQueryable usada para geração do relatório da venda /// </summary> /// <param name="cliFor"></param>Venda /// <returns></returns>IQueryable public IQueryable <CliFor> GetDataSource(CliFor cliFor, TypeStatusVenda status) { using (var ctx = new BalcaoContext()) { var query = ctx.CliForDao.Where(c => c.IdCliFor == cliFor.IdCliFor); var cliente = query.FirstOrDefault(); //filtro para o status IQueryable <Venda> vendasPeriodo = null; //a vencer ou vencidas if (status == TypeStatusVenda.Aberto) { //filtra as vendas nao vencidas e vencidas vendasPeriodo = cliente.Vendas.AsQueryable().Where(v => v.StatusVenda == TypeStatusVenda.Aberto || v.StatusVenda == TypeStatusVenda.Vencida); } //filtre pelo status else if (status != TypeStatusVenda.Todas) { vendasPeriodo = cliente.Vendas.AsQueryable().Where(v => v.StatusVenda == status); } else//traz tudo { vendasPeriodo = cliente.Vendas.AsQueryable(); } cliente.Vendas = vendasPeriodo.ToList(); return(query); } }
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); }
//Para a proposta public RptVendasFormaPagto(DateTime dtInicial, DateTime dtFinal, TypeStatusVenda status) { init(dtInicial, dtFinal); var vendas = new VendaFilterManager().FindVendasByPeriodo(dtInicial, dtFinal, status, TypeAgrupamentoVendas.Cliente); setReport(vendas); }
public Venda(int idVenda, CliFor cliFor, decimal totalVenda, TypeStatusVenda statusVenda, DateTime dataVenda) { this.IdVenda = idVenda; this.CliFor = cliFor; this.TotalVenda = totalVenda; this.StatusVenda = statusVenda; this.DataVenda = dataVenda; }
public RptVendasFormaPagto(DateTime dtInicial, TypeStatusVenda status) { init(dtInicial, dtInicial); var vendas = new VendaFilterManager().FindVendasDoDia(dtInicial, status); setReport(vendas); }
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> /// Busca vendas por dia informado /// </summary> /// <param name="dtInicio"></param> /// <returns></returns> public IQueryable <Venda> FindVendasDoDia(DateTime dtInicio, TypeStatusVenda status) { using (var ctx = new BalcaoContext()) { var vendas = ctx.VendaDao.Where(v => v.TipoMovimento == TypeVenda.Venda && v.DataVenda.Date == dtInicio.Date && v.StatusVenda == status) .OrderBy(v => v.DataVenda); return(vendas); } }
/// <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)); } } }