コード例 #1
0
        /// <summary>
        /// Filtras as parcelas por status
        /// </summary>
        /// <param name="parcelas"></param>Lista de parcelas
        /// <param name="status"></param>Status das parcelas
        /// <returns></returns>
        public List <LancamentoFinanceiro> FindParcelasBy(TypeStatusLancamentoFinanceiro status)
        {
            var ctx = new BalcaoContext();

            //filtrando as parcelas
            IEnumerable <LancamentoFinanceiro> parcelasFilter = filtrarParcelas(ctx.LancamentosFinanceiros, status);

            //recebeu o filtro
            return(parcelasFilter != null?parcelasFilter.ToList() : null);
        }
コード例 #2
0
 public ReportParameter(DateTime dtInicio, DateTime dtFim, CliFor cliente,
                        TypeStatusLancamentoFinanceiro status, TypeLancamentoFinanceiro tipo, int idCentroCusto, string codigoMatriz)
 {
     this.IdCliente     = cliente != null ? cliente.IdCliFor : 0;
     this.DataInicio    = dtInicio;
     this.DataFim       = dtFim;
     this.Status        = (Int16)status;
     this.Tipo          = (Int16)tipo;
     this.CodigoMatriz  = codigoMatriz;
     this.IdCentroCusto = idCentroCusto;
 }
コード例 #3
0
        /// <summary>
        /// Filtras as parcelas pelo cliente e status
        /// </summary>
        public List <LancamentoFinanceiro> FindParcelasBy(CliFor cliFor, TypeStatusLancamentoFinanceiro status)
        {
            var ctx = new BalcaoContext();

            //filtrando parcelas por cliente
            var parcelas = ctx.LancamentosFinanceiros.Where(p => p.IdCliFor == cliFor.IdCliFor);

            //filtrando as parcelas
            IEnumerable <LancamentoFinanceiro> parcelasFilter = filtrarParcelas(parcelas, status);

            //recebeu o filtro
            return(parcelasFilter != null?parcelasFilter.ToList() : null);
        }
コード例 #4
0
        //parcela criada quando existir saldo restante
        public LancamentoFinanceiro(Nullable <int> idVenda, Decimal valorParcela, DateTime dtVencimento,
                                    int seqParcela, TypeStatusLancamentoFinanceiro status, String historico, Int32 idCliFor)

        {
            this.IdVenda           = idVenda;
            this.ValorLancamento   = valorParcela;
            this.ValorJuros        = 0;
            this.DataVencimento    = dtVencimento;
            this.DiasPrazo         = DataUtil.CalcularDias(dtVencimento, dtVencimento);
            this.SequencialParcela = seqParcela;
            this.StatusLancamento  = status;
            this.Observacao        = historico;
            this.IdCliFor          = idCliFor;
        }
コード例 #5
0
        //parcela criada na venda
        public LancamentoFinanceiro(Venda venda, Decimal valorParcela, DateTime dtParcela, DateTime dtVencimento, int seqParcela,
                                    TypeStatusLancamentoFinanceiro status) : this()

        {
            this.IdCliFor          = venda.IdCliForVenda;
            this.IdFilial          = venda.IdFilial;
            this.IdCentroCusto     = venda.IdCentroCusto;
            this.ValorLancamento   = valorParcela;
            this.ValorJuros        = 0;
            this.DataLancamento    = venda.DataVenda;
            this.DataVencimento    = dtVencimento;
            this.DiasPrazo         = DataUtil.CalcularDias(dtParcela, dtVencimento);
            this.SequencialParcela = seqParcela;
            this.StatusLancamento  = status;

            if (this.DiasPrazo < 0)
            {
                this.DiasPrazo = 0;
            }

            this.TipoLancamento = TypeLancamentoFinanceiro.Receber;
        }
コード例 #6
0
        public async Task <List <LancamentoFinanceiro> > FindLancamentosLikeCliente(string search, TypeLancamentoFinanceiro tipo,
                                                                                    TypeStatusLancamentoFinanceiro status)
        {
            using (var ctx = new BalcaoContext())
            {
                ctx.LazyLoading(false);

                //Observação: enum todos eh somente uma referencia para montar o select
                //todos os tipos e todos os status
                if (tipo == TypeLancamentoFinanceiro.Todos && status == TypeStatusLancamentoFinanceiro.Todos)
                {
                    return(await ctx.LancamentosFinanceiros
                           .Include(l => l.CliFor)
                           .Include(l => l.Venda)
                           .Include(l => l.FormaPagamento)
                           .Include(l => l.Venda.FormaPagamentoVenda)
                           .Include(l => l.CentroCusto)
                           .Include(l => l.Filial)
                           .Where(l => l.CliFor.RazaoSocial.Contains(search))
                           .ToListAsync());
                }

                //NOVO
                else if (tipo != TypeLancamentoFinanceiro.Todos && status == TypeStatusLancamentoFinanceiro.Pendente)
                {
                    var lancamentos = await ctx.LancamentosFinanceiros
                                      .Include(l => l.CliFor)
                                      .Include(l => l.Venda)
                                      .Include(l => l.FormaPagamento)
                                      .Include(l => l.Venda.FormaPagamentoVenda)
                                      .Include(l => l.CentroCusto)
                                      .Include(l => l.Filial)
                                      .Where(l => l.CliFor.RazaoSocial.Contains(search) &&
                                             l.DataPagamento == null &&
                                             l.StatusLancamento != TypeStatusLancamentoFinanceiro.Cancelado &&
                                             l.TipoLancamento == tipo)
                                      .ToListAsync();

                    return(lancamentos);
                }
                //NOVO
                else if (tipo == TypeLancamentoFinanceiro.Todos && status == TypeStatusLancamentoFinanceiro.Pendente)
                {
                    var lancamentos = await ctx.LancamentosFinanceiros
                                      .Include(l => l.CliFor)
                                      .Include(l => l.Venda)
                                      .Include(l => l.FormaPagamento)
                                      .Include(l => l.Venda.FormaPagamentoVenda)
                                      .Include(l => l.CentroCusto)
                                      .Include(l => l.Filial)
                                      .Where(l => l.CliFor.RazaoSocial.Contains(search) &&
                                             l.DataPagamento == null && l.StatusLancamento != TypeStatusLancamentoFinanceiro.Cancelado)
                                      .ToListAsync();

                    return(lancamentos);
                }

                //filtrando pelo tipo e status
                else if (tipo != TypeLancamentoFinanceiro.Todos && status != TypeStatusLancamentoFinanceiro.Todos)
                {
                    var lancamentos = await ctx.LancamentosFinanceiros
                                      .Include(l => l.CliFor)
                                      .Include(l => l.Venda)
                                      .Include(l => l.FormaPagamento)
                                      .Include(l => l.Venda.FormaPagamentoVenda)
                                      .Include(l => l.CentroCusto)
                                      .Include(l => l.Filial)
                                      .Where(l => l.StatusLancamento == status &&
                                             l.TipoLancamento == tipo &&
                                             l.CliFor.RazaoSocial.Contains(search))
                                      .ToListAsync();

                    return(lancamentos);
                }


                //filtrando pelo tipo e status
                else if (tipo != TypeLancamentoFinanceiro.Todos && status != TypeStatusLancamentoFinanceiro.Todos)
                {
                    var lancamentos = await ctx.LancamentosFinanceiros
                                      .Include(l => l.CliFor)
                                      .Include(l => l.Venda)
                                      .Include(l => l.FormaPagamento)
                                      .Include(l => l.Venda.FormaPagamentoVenda)
                                      .Include(l => l.CentroCusto)
                                      .Include(l => l.Filial)
                                      .Where(l => l.StatusLancamento == status &&
                                             l.TipoLancamento == tipo &&
                                             l.CliFor.RazaoSocial.Contains(search))
                                      .ToListAsync();

                    return(lancamentos);
                }


                //todos lançamentos filtrado pelo status
                else if (tipo == TypeLancamentoFinanceiro.Todos && status != TypeStatusLancamentoFinanceiro.Todos)
                {
                    var lancamentos = await ctx.LancamentosFinanceiros
                                      .Include(l => l.CliFor)
                                      .Include(l => l.Venda)
                                      .Include(l => l.FormaPagamento)
                                      .Include(l => l.Venda.FormaPagamentoVenda)
                                      .Include(l => l.CentroCusto)
                                      .Include(l => l.Filial)
                                      .Where(l => l.StatusLancamento == status &&
                                             l.CliFor.RazaoSocial.Contains(search))
                                      .ToListAsync();

                    return(lancamentos);
                }
                //todos lançamentos filtrado do tipo
                else
                {
                    var lancamentos = await ctx.LancamentosFinanceiros
                                      .Include(l => l.CliFor)
                                      .Include(l => l.Venda)
                                      .Include(l => l.FormaPagamento)
                                      .Include(l => l.Venda.FormaPagamentoVenda)
                                      .Include(l => l.CentroCusto)
                                      .Include(l => l.Filial)
                                      .Where(l => l.TipoLancamento == tipo &&
                                             l.CliFor.RazaoSocial.Contains(search))
                                      .ToListAsync();

                    return(lancamentos);
                }
            }
        }
コード例 #7
0
 //chamado internamente
 private IEnumerable <LancamentoFinanceiro> filtrarParcelas(IEnumerable <LancamentoFinanceiro> parcelas, TypeStatusLancamentoFinanceiro status)
 {
     //em aberto
     //quitadas
     if (status == TypeStatusLancamentoFinanceiro.Aberto || status == TypeStatusLancamentoFinanceiro.Pago)
     {
         return(parcelas.Where(p => p.StatusLancamento == status));
     }
     //vencidas
     else if (status == TypeStatusLancamentoFinanceiro.Vencido)
     {
         return(parcelas.Where(p => p.DataVencimento <= DateTime.Now || p.StatusLancamento == TypeStatusLancamentoFinanceiro.Vencido));
     }
     //todos os status
     else
     {
         return(parcelas);
     }
 }