Exemplo n.º 1
0
        public IEnumerable <Venda> BuscaVendasComFiltro(FiltroTelaVendas venda)
        {
            var lvendas = BuscaTodas();

            if (venda.CodigoCliente > 0)
            {
                lvendas = lvendas.Where(v => v.Cliente.Codigo == venda.CodigoCliente);
            }

            if (venda.DataFinal.HasValue)
            {
                lvendas = lvendas.Where(v => v.DataVenda <= venda.DataFinal.Value);
            }

            if (venda.DataInicial.HasValue)
            {
                lvendas = lvendas.Where(v => v.DataVenda >= venda.DataInicial.Value);
            }

            if (venda.Status == 2)
            {
                lvendas = lvendas.Where(v => v.DataPagamento.HasValue);
            }
            else if (venda.Status == 3)
            {
                lvendas = lvendas.Where(v => v.DataVencimento < DateTime.Now && !v.DataPagamento.HasValue);
            }
            else if (venda.Status == 1)
            {
                lvendas = lvendas.Where(v => v.DataVencimento >= DateTime.Now && !v.DataPagamento.HasValue);
            }

            return(lvendas);
        }
Exemplo n.º 2
0
        private void GerarGraficos()
        {
            try
            {
                lblNotificacao.Text = string.Empty;
                dataInicial         = false;
                dataFinal           = false;

                var filtro = new FiltroTelaVendas()
                {
                    DataInicial = String.IsNullOrWhiteSpace(txtDataInicial.Text.Replace("_", "").Replace("/", "")) ? (DateTime?)null : DateTime.Parse(txtDataInicial.Text),
                    DataFinal   = String.IsNullOrWhiteSpace(txtDataFinal.Text.Replace("_", "").Replace("/", "")) ? (DateTime?)null : DateTime.Parse(txtDataFinal.Text),
                };

                if (filtro.DataFinal.HasValue && filtro.DataInicial.HasValue && filtro.DataFinal.Value < filtro.DataInicial.Value)
                {
                    lblNotificacao.Text = "A data inicial deve ser menor que a data final.";
                }
                else
                {
                    var vendas = new CadastroVenda().BuscaVendasComFiltro(filtro).ToList();

                    var dt         = BuscarDtGraficoVendas(vendas);
                    var dtClientes = BuscarClientes(vendas);

                    GraficoSpline(graficoVendasPorMes, dt, "Quantidade de Vendas por mês", "Mes", "Qtd");
                    GraficoSpline(gfcValorVendidoMes, dt, "Valores vendidos por mês", "Mes", "Valor");
                    GraficoClientesQueMaisCompram(dtClientes.OrderByDescending(c => c.QuantidadeCompras).Take(5).ToList());
                    GraficoClientesQueMaisGerarValor(dtClientes.OrderByDescending(c => c.ValorComprado).Take(5).ToList());
                }
            }
            catch (FormatException ex)
            {
                if (ex.Message.Contains("DateTime"))
                {
                    lblNotificacao.Text = Resources.DataInvalida;

                    if (!String.IsNullOrWhiteSpace(txtDataInicial.Text.Replace("_", "").Replace("/", "")) && DataInvalida(txtDataInicial.Text.Replace("_", "")))
                    {
                        dataInicial = true;
                    }

                    if (!String.IsNullOrWhiteSpace(txtDataFinal.Text.Replace("_", "").Replace("/", "")) && DataInvalida(txtDataFinal.Text.Replace("_", "")))
                    {
                        dataFinal = true;
                    }
                }
            }
            catch (Exception ex)
            {
                lblNotificacao.Text = ex.Message;
            }

            this.Refresh();
        }
Exemplo n.º 3
0
        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            try
            {
                dataInicial         = false;
                dataFinal           = false;
                lblNotificacao.Text = string.Empty;

                var filtro = new FiltroTelaVendas()
                {
                    CodigoCliente = cbCliente.SelectedValue == null ? 0 : int.Parse(cbCliente.SelectedValue.ToString()),
                    DataInicial   = String.IsNullOrWhiteSpace(txtDataInicial.Text.Replace("_", "").Replace("/", "")) ? (DateTime?)null : DateTime.Parse(txtDataInicial.Text),
                    DataFinal     = String.IsNullOrWhiteSpace(txtDataFinal.Text.Replace("_", "").Replace("/", "")) ? (DateTime?)null : DateTime.Parse(txtDataFinal.Text),
                    Status        = cbStatus.SelectedValue == null ? 0 : int.Parse(cbStatus.SelectedValue.ToString())
                };

                if (filtro.DataFinal.HasValue && filtro.DataInicial.HasValue && filtro.DataFinal.Value < filtro.DataInicial.Value)
                {
                    lblNotificacao.Text = "A data inicial deve ser menor que a data final.";
                }
                else
                {
                    var lvenda = new CadastroVenda().BuscaVendasComFiltro(filtro).ToList();

                    PreencheGrid(lvenda);
                }
            }
            catch (FormatException ex)
            {
                if (ex.Message.Contains("DateTime"))
                {
                    lblNotificacao.Text = Resources.DataInvalida;

                    if (!String.IsNullOrWhiteSpace(txtDataInicial.Text.Replace("_", "").Replace("/", "")) && DataInvalida(txtDataInicial.Text.Replace("_", "")))
                    {
                        dataInicial = true;
                    }

                    if (!String.IsNullOrWhiteSpace(txtDataFinal.Text.Replace("_", "").Replace("/", "")) && DataInvalida(txtDataFinal.Text.Replace("_", "")))
                    {
                        dataFinal = true;
                    }
                }
            }
            catch (Exception ex)
            {
                lblNotificacao.Text = ex.Message;
            }

            this.Refresh();
        }
Exemplo n.º 4
0
 public IEnumerable <Venda> BuscaVendasComFiltro(FiltroTelaVendas filtro)
 {
     return(_repositorioVenda.BuscaVendasComFiltro(filtro));
 }