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); } } }
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); }
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); }
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); }
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); }
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); }