コード例 #1
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);
        }
コード例 #2
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)});
        }
コード例 #3
0
ファイル: VendaFilterManager.cs プロジェクト: gercyc/ITE.ERP
        /// <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));
                }
            }
        }