Exemple #1
0
 public void AtualizaPendencias(PendenciasCliente pendenciasCliente, Pagamento pagamento)
 {
     if (pendenciasCliente.CashGames != null)
     {
         foreach (var cash in pendenciasCliente.CashGames)
         {
             cash.Situacao  = Dominio.Enumeradores.SituacaoVenda.Pago;
             cash.Pagamento = pagamento;
             CashGameRepositorio.Atualizar(cash);
         }
     }
     if (pendenciasCliente.TorneiosCliente != null)
     {
         foreach (var torneio in pendenciasCliente.TorneiosCliente)
         {
             torneio.Situacao  = Dominio.Enumeradores.SituacaoVenda.Pago;
             torneio.Pagamento = pagamento;
             TorneioClienteRepositorio.Atualizar(torneio);
         }
     }
     if (pendenciasCliente.Vendas != null)
     {
         foreach (var vendaModel in pendenciasCliente.Vendas)
         {
             var venda = VendaRepositorio.Buscar(vendaModel.IdVenda);
             venda.Situacao  = Dominio.Enumeradores.SituacaoVenda.Pago;
             venda.Pagamento = pagamento;
             VendaRepositorio.Atualizar(venda);
         }
     }
 }
Exemple #2
0
 private double?ObterValorAtualCash(DateTime dataCaixa)
 {
     if (CashGameRepositorio.Filtrar(d => d.DataCadastro >= dataCaixa).Any())
     {
         return(CashGameRepositorio.Filtrar(d => d.DataCadastro >= dataCaixa).Sum(d => d.Valor));
     }
     return(0);
 }
        public CashGame BuscarPorId(int id)
        {
            var cashGame = CashGameRepositorio.Buscar(id);

            cashGame.NomeCliente     = cashGame?.Cliente?.Nome;
            cashGame.TipoFinalizador = ParcelamentoPagamentoRepositorio?.Filtrar
                                           (d => d.IdPagamento == cashGame.IdComprovantePagamento)?.FirstOrDefault()?.TipoFinalizador ?? TipoFinalizador.Nenhum;
            return(cashGame);
        }
Exemple #4
0
        public bool ExisteOperacaoPendente(DateTime dataCaixa)
        {
            var result = CashGameRepositorio.Filtrar(d => d.Situacao == Dominio.Enumeradores.SituacaoVenda.Pendente && d.DataCadastro >= dataCaixa).Any();

            if (result)
            {
                return(result);
            }
            result = TorneioClienteRepositorio.Filtrar(d => d.Situacao == Dominio.Enumeradores.SituacaoVenda.Pendente && d.DataCadastro >= dataCaixa).Any();
            if (result)
            {
                return(result);
            }
            return(VendaRepositorio.Filtrar(d => d.Situacao == Dominio.Enumeradores.SituacaoVenda.Pendente && d.DataVenda >= dataCaixa).Any());
        }
        public string CadatrarCashGame(CashGame entidade)
        {
            var result = ValidadorCashGame.Validar(entidade);

            if (result != "")
            {
                return(result);
            }
            entidade.DataCadastro      = DateTime.Now;
            entidade.IdUsuarioCadastro = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            GeraPagamentoCashGame(entidade);
            CashGameRepositorio.Cadastrar(entidade);
            Contexto.Salvar();

            //var nomeImpressora = UsuarioAplicacao.ObterDadosUsuarioLogado().Impressora.ToString();
            //new ImprimeCashGame().Imprime(entidade, nomeImpressora);
            return(result);
        }
Exemple #6
0
        public PendenciasCliente ObterPendenciaCliente(long idCliente)
        {
            var pendencias = new PendenciasCliente
            {
                CashGames       = CashGameRepositorio.ObterCashGamesPendente(idCliente),
                TorneiosCliente = ObterItensTorneioModel(TorneioClienteRepositorio.ObterTorneioClientePendente(idCliente)),
                Vendas          = VendaRepositorio.ObterVendaModelPendente(idCliente),
                Pagamentos      = PagamentoRepositorio.ObterPagamentosPendentes(idCliente)
            };

            pendencias.IdCliente = idCliente;
            var cliente = ClienteRepositorio.Filtrar(d => d.Id == idCliente).Select(d => new { Nome = d.Nome, Saldo = d.Saldo }).FirstOrDefault();

            pendencias.NomeCliente = cliente.Nome;
            pendencias.Saldo       = cliente.Saldo;
            pendencias.ValorTotal  = pendencias.CashGames.Sum(d => d.Valor);
            pendencias.ValorTotal += pendencias.TorneiosCliente.Sum(d => d.ValorTotal - (d.ValorPago ?? 0));
            pendencias.ValorTotal += pendencias.Vendas.Sum(d => d.Valor);

            return(pendencias);
        }
Exemple #7
0
        public ComprovanteModel ObterPagamentoCommpleto(long idPagamento)
        {
            var pagamento       = ObterPagamentoCliente(idPagamento);
            var cash            = CashGameRepositorio.Filtrar(d => d.IdComprovantePagamento == idPagamento).ToList();
            var parcelas        = ParcelamentoPagamentoRepositorio.Filtrar(d => d.IdPagamento == idPagamento).ToList();
            var vendas          = VendaRepositorio.Filtrar(d => d.IdComprovantePagamento == idPagamento).ToList();
            var torneioClientes = TorneioClienteRepositorio.Filtrar(d => d.IdComprovantePagamento == idPagamento).ToList();

            torneioClientes.ForEach(t => CalculaValorTotal(t));

            return(new ComprovanteModel
            {
                Pagamento = pagamento,
                CashGames = cash,
                IdCliente = pagamento.IdCliente,
                NomeCliente = pagamento.Cliente.Nome,
                ParcelamentoPagamentos = parcelas,
                Vendas = vendas,
                TorneiosCliente = torneioClientes
            });
        }
        public PaginacaoModel <CashGame, FiltroCashGame> Filtrar(PaginacaoModel <CashGame, FiltroCashGame> paginacao)
        {
            if (paginacao.Filtro == null)
            {
                paginacao.Filtro = new FiltroCashGame(paginacao.Parametro1, paginacao.Parametro2, paginacao.Parametro3);
            }
            else
            {
                paginacao.Parametro1 = paginacao.Filtro.NomeCliente;
                paginacao.Parametro2 = paginacao.Filtro.Valor;
                paginacao.Parametro3 = (short)paginacao.Filtro.Situacao;
            }

            var dataCaixa = CaixaAplicacao.ObterDataCaixaAtivo();

            if (dataCaixa == DateTime.MinValue)
            {
                dataCaixa = DateTime.Now;
            }
            var query = CashGameRepositorio.Query().Where(d => d.DataCadastro >= dataCaixa);

            if (paginacao.Filtro.NomeCliente.TemValor())
            {
                query = query.Where(d => d.Cliente.Nome.Contains(paginacao.Filtro.NomeCliente));
            }
            if (paginacao.Filtro.Valor > 0)
            {
                query = query.Where(d => d.Valor == paginacao.Filtro.Valor);
            }
            if (paginacao.Filtro.Situacao != SituacaoVenda.Nenhum)
            {
                query = query.Where(d => d.Situacao == paginacao.Filtro.Situacao);
            }

            paginacao.ListaModel = query.OrderBy(d => d.Id).Skip(((paginacao.Pagina - 1) * 10)).Take(10).ToList();
            paginacao.QtdPaginas = query.Count().CalculaQtdPaginas().TransformaEmLista();
            paginacao.ListaModel.ForEach(d => d.NomeCliente = d?.Cliente?.Nome ?? "");
            return(paginacao);
        }
Exemple #9
0
        public PendenciasCliente ObterDetalhesPagamento(long idPagamento)
        {
            var detalhesPagamento = new PendenciasCliente();

            detalhesPagamento.CashGames       = CashGameRepositorio.Filtrar(d => d.IdComprovantePagamento == idPagamento).ToList();
            detalhesPagamento.TorneiosCliente = PagamentosAplicacao.ObterItensTorneioModel(TorneiosClienteRepositorio.Filtrar(d => d.IdComprovantePagamento == idPagamento).ToList());
            var idNomeCliente = PagamentoRepositorio.Filtrar(d => d.Id == idPagamento).Select(d => new { Nome = d.Cliente.Nome, Id = d.IdCliente, Saldo = d.Cliente.Saldo }).FirstOrDefault();

            detalhesPagamento.IdCliente   = idNomeCliente.Id;
            detalhesPagamento.NomeCliente = idNomeCliente.Nome;
            detalhesPagamento.Saldo       = idNomeCliente.Saldo;
            var vendas = VendaRepositorio.Filtrar(d => d.IdComprovantePagamento == idPagamento).ToList();

            detalhesPagamento.Vendas        = new List <VendaModel>();
            detalhesPagamento.Parcelamentos = ParcelamentoPagamentoRepositorio.Filtrar(d => d.IdPagamento == idPagamento).ToList();
            //if (detalhesPagamento.Parcelamentos.Count() == 1)
            //    detalhesPagamento.Parcelamentos = new List<ParcelamentoPagamento>();
            foreach (var venda in vendas)
            {
                detalhesPagamento.Vendas.Add(new VendaModel(venda, PreVendaRepositorio));
            }
            return(detalhesPagamento);
        }
        public string AlterarCashGame(CashGame modelo)
        {
            var entidade = CashGameRepositorio.Buscar(modelo.Id);
            var result   = ValidadorCashGame.Validar(entidade);

            if (result != "")
            {
                return(result);
            }
            entidade.Valor         = modelo.Valor;
            entidade.Situacao      = modelo.Situacao;
            entidade.IdCliente     = modelo.IdCliente;
            entidade.DataAlteracao = DateTime.Now;
            if (modelo.Situacao == SituacaoVenda.Pago)
            {
                entidade.TipoFinalizador = modelo.TipoFinalizador;
            }
            entidade.IdUsuarioAlteracao = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            CashGameRepositorio.Atualizar(entidade);
            GeraPagamentoCashGame(entidade);
            var row = Contexto.Salvar();

            return(result);
        }