示例#1
0
        /// <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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
        //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);
        }
示例#4
0
文件: Venda.cs 项目: gercyc/ITE.ERP
 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;
 }
示例#5
0
        public RptVendasFormaPagto(DateTime dtInicial, TypeStatusVenda status)
        {
            init(dtInicial, dtInicial);

            var vendas = new VendaFilterManager().FindVendasDoDia(dtInicial, status);

            setReport(vendas);
        }
示例#6
0
        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)});
        }
示例#7
0
 /// <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);
     }
 }
示例#8
0
        /// <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));
                }
            }
        }