Exemplo n.º 1
0
 public string GravarPreVenda(PreVenda preVenda)
 {
     if (preVenda.Quantidade == 0)
     {
         return("Favor inserir quantidade nesse produto");
     }
     preVenda.Ativo     = Ativo.Ativo;
     preVenda.DataHora  = DateTime.Now;
     preVenda.IdUsuario = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
     PreVendaRepositorio.Cadastrar(preVenda);
     Contexto.Salvar();
     return("");
 }
Exemplo n.º 2
0
        public Caixa AbrirCaixa()
        {
            var caixa = new Caixa
            {
                DataAbertura      = DateTime.Now,
                IdUsuarioAbertura = AutenticacaoAplicacao.ObterUsuarioLogado().Id,
                Ativo             = Ativo.Ativo
            };

            CaixaRepositorio.Cadastrar(caixa);
            Contexto.Salvar();
            return(LoadCaixa());
        }
Exemplo n.º 3
0
        public string AlterarProduto(Produto entidade)
        {
            var result = Validador.Validar(entidade);

            if (result.TemValor())
            {
                return(result);
            }
            entidade.DataAlteracao      = DateTime.Now;
            entidade.IdUsuarioAlteracao = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            ProdutoRepositorio.Atualizar(entidade);
            Contexto.Salvar();
            return(result);
        }
Exemplo n.º 4
0
        public string FinalizarVenda(FinalizacaoVendaModel finalizacaoVendaModel)
        {
            try
            {
                if (finalizacaoVendaModel.IdCliente == 0)
                {
                    return("Favor selecionar o cliente");
                }

                if (finalizacaoVendaModel.ValorPago > 0 && finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.EmAberto)
                {
                    return("Favor selecionar o tipo do pagamento!");
                }

                if (finalizacaoVendaModel.ValorPago > 0 && finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.Cortesia)
                {
                    return("Favor retirar o valor se for uma cortesia");
                }

                if ((finalizacaoVendaModel?.ValorPago ?? 0) == 0 &&
                    finalizacaoVendaModel.TipoFinalizador != TipoFinalizador.Saldo &&
                    finalizacaoVendaModel.TipoFinalizador != TipoFinalizador.EmAberto &&
                    finalizacaoVendaModel.TipoFinalizador != TipoFinalizador.Cortesia)
                {
                    return("Favor digite o valor a ser pago ou selecione o tipo de pagamento correto!");
                }
                var idUsuarioLogado = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
                var preVendas       = PreVendaRepositorio.Filtrar(d => d.Ativo == Ativo.Ativo && d.IdUsuario == idUsuarioLogado).ToList();
                var venda           = GravarVenda(finalizacaoVendaModel.IdCliente, preVendas);

                if (finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.Saldo && finalizacaoVendaModel.ValorPago > venda.Cliente.Saldo)
                {
                    return("Favor selecionar o tipo do pagamento!");
                }

                if (finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.Saldo && ((venda?.Cliente?.Saldo ?? 0) + (finalizacaoVendaModel?.ValorPago ?? 0)) < venda.Valor)
                {
                    return("Cliente não possui saldo!");
                }

                GeraPagamentoVenda(finalizacaoVendaModel, venda);

                var resultado = Contexto.Salvar();
                return("");
            }
            catch (Exception ex)
            {
                return("Erro ao tentar finalizar a venda, tente novamente!");
            }
        }
Exemplo n.º 5
0
        public string AtualizarCliente(Cliente cliente)
        {
            var result = Validador.Validar(cliente, ClienteRepositorio);

            if (result != "")
            {
                return(result);
            }
            cliente.IdUsuarioAlteracao = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            cliente.DataAlteracao      = DateTime.Now;
            ClienteRepositorio.Atualizar(cliente);
            var test = Contexto.Salvar();

            return(result);
        }
Exemplo n.º 6
0
        public string CadastrarCliente(Cliente Cliente)
        {
            var result = Validador.Validar(Cliente, ClienteRepositorio);

            if (result != "" && result != null)
            {
                return(result);
            }
            Cliente.DataCadastro      = DateTime.Now;
            Cliente.IdUsuarioCadastro = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            ClienteRepositorio.Cadastrar(Cliente);
            var teste = Contexto.Salvar();

            return(result);
        }
        public string AlterarTorneioCliente(TorneioCliente entidade)
        {
            var result = Validador.ValidaTorneioCliente(entidade);

            if (result != "")
            {
                return(result);
            }
            entidade.DataAlteracao      = DateTime.Now;
            entidade.IdUsuarioAlteracao = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            TorneioClienteRepositorio.Atualizar(entidade);
            var rows = Contexto.Salvar();

            return(result);
        }
        public string CadastrarTorneioCliente(TorneioCliente entidade)
        {
            var result = Validador.ValidaTorneioCliente(entidade);

            if (result != "")
            {
                return(result);
            }
            entidade.DataCadastro      = DateTime.Now;
            entidade.IdUsuarioCadastro = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            entidade.Situacao          = SituacaoVenda.Pendente;
            entidade.ValorPago         = entidade.ValorPago ?? 0;
            TorneioClienteRepositorio.Cadastrar(entidade);
            Contexto.Salvar();
            return(result);
        }
Exemplo n.º 9
0
        private Venda GravarVenda(long idCliente, List <PreVenda> preVendas)
        {
            var venda = new Venda
            {
                Cliente   = ClienteAplicacao.BuscarClientePorId(idCliente),
                DataVenda = DateTime.Now,
                IdUsuario = AutenticacaoAplicacao.ObterUsuarioLogado().Id,
                QtdItem   = RetornaQtdTotalVenda(preVendas.Select(d => d.Quantidade).ToList()),
                Valor     = RetornaValorTotalVenda(preVendas)
            };

            VendaRepositorio.Cadastrar(venda);
            GravarItemVenda(preVendas, venda);
            preVendas.ForEach(d => d.Venda = venda);
            preVendas.ForEach(d => PreVendaRepositorio.Atualizar(d));
            return(venda);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        public VendaModelo ObterPreVendaAtual()
        {
            var idUsuarioAtual = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
            var preVendas      = PreVendaRepositorio.ObterPreVendaAtual(idUsuarioAtual);

            foreach (var item in preVendas)
            {
                if (item.Produto == null)
                {
                    item.Produto = ProdutoAplicacao.BuscarPorId(item.IdProduto);
                }
            }

            return(new VendaModelo
            {
                PreVendas = preVendas,
                PaginacaoCliente = new Dominio.modelos.PaginacaoModel <Cliente, Dominio.modelos.FiltroCliente>(),
                ValorTotal = preVendas.Sum(d => (d.Produto.Valor * d.Quantidade)),
            });
        }
Exemplo n.º 12
0
        public string FecharCaixa()
        {
            var caixa  = CaixaRepositorio.Filtrar(d => d.Ativo == Ativo.Ativo).FirstOrDefault();
            var result = PagamentosAplicacao.ExisteOperacaoPendente(caixa.DataAbertura);

            if (result)
            {
                return("Caixa só poderá ser fechado quando não houver pagamentos pendentes!");
            }

            if (caixa != null)
            {
                caixa.Ativo               = Ativo.Inativo;
                caixa.DataFechamento      = DateTime.Now;
                caixa.IdUsuarioFechamento = AutenticacaoAplicacao.ObterUsuarioLogado().Id;
                CaixaRepositorio.Atualizar(caixa);
                var resultado = Contexto.Salvar();
            }
            return("");
        }
Exemplo n.º 13
0
        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);
        }