示例#1
0
        public bool tokenValidade(string token)
        {
            String conteudo = UtilConvert.FromBase64(token);

            String[] dataHora      = conteudo.Split('&')[1].Split('$');
            DateTime tokenValidade = UtilConvert.ObterDataHora(dataHora[0], dataHora[1]);

            return(tokenValidade.CompareTo(DateTime.Now) >= 1);
        }
示例#2
0
        public string novaReserva(string cpf, string dataStr, string horaStr, string lugaresStr, string informacoes, string codCliente)
        {
            cpf = UtilFormatar.retirarFormatacao(cpf);

            clnCliente objCliente;

            if (clienteBLL.autenticado())
            {
                objCliente = clienteBLL.obterCliente();
            }
            else if (codCliente != null && UtilValidar.validarInt(codCliente))
            {
                objCliente = new clnCliente
                {
                    Cod = UtilConvert.ToInt(codCliente)
                }.obterPorCod();
            }
            else
            {
                return("0Cliente não informado");
            }

            string validar = validarDados(cpf, dataStr, horaStr, lugaresStr, informacoes, objCliente);

            if (string.IsNullOrEmpty(validar))
            {
                if (string.IsNullOrEmpty(informacoes))
                {
                    informacoes = "Sem informações adicionais.";
                }

                clnReserva objReserva = new clnReserva
                {
                    Informacoes = informacoes,
                    Pessoas     = UtilConvert.ToInt(lugaresStr),
                    CodCliente  = objCliente.Cod,
                    Agendado    = UtilConvert.ObterDataHora(dataStr, horaStr),
                    Agendamento = DateTime.Now.Date,
                    Situacao    = clnReserva.reservaSituacao.MARCADA
                };
                objReserva.gravar();

                atribuirMesas(objReserva);

                return("1Reserva realizada com sucesso");
            }
            else
            {
                return("0" + validar);
            }
        }
示例#3
0
        private string validarDados(string cpf, string dataStr, string horaStr, string lugaresStr, string informacoes, clnCliente objCliente)
        {
            if (objCliente != null)
            {
                StringBuilder errosBuilder = new StringBuilder();

                if (UtilValidar.vazio(cpf))
                {
                    errosBuilder.Append("É necessário informar o CPF.");
                }
                else if (!UtilValidar.validarCPF(cpf))
                {
                    errosBuilder.Append("O CPF informado é inválido.");
                }
                else if (!cpf.Equals(objCliente.Cpf))
                {
                    errosBuilder.Append("O CPF foi informado incorretamente.");
                }

                if (UtilValidar.vazio(dataStr))
                {
                    errosBuilder.Append("É necessário informar a data.");
                }
                else if (!UtilValidar.validarData(dataStr))
                {
                    errosBuilder.Append("A data informada é inválida.");
                }
                else if (!UtilValidar.validarDataFutura(dataStr))
                {
                    errosBuilder.Append("A data informada é inválida.");
                }

                if (UtilValidar.vazio(horaStr))
                {
                    errosBuilder.Append("É necessário informar a hora.");
                }
                else if (!UtilValidar.validarHora(horaStr))
                {
                    errosBuilder.Append("A hora informada é inválida.");
                }

                if (UtilValidar.vazio(lugaresStr))
                {
                    errosBuilder.Append("É necessário informar os lugares.");
                }
                else if (!UtilValidar.validarValor(lugaresStr))
                {
                    errosBuilder.Append("É necessário informar um valor válido para os lugares.");
                }
                else
                {
                    int lugares = UtilConvert.ToInt(lugaresStr);
                    if (lugares < 2)
                    {
                        errosBuilder.Append("É necessário reservar no minimo 2 lugares.");
                    }
                    else if (lugares > 8)
                    {
                        errosBuilder.Append("Não é possível reservar mais que 8 lugares.");
                    }
                }

                if (informacoes.Length > 256)
                {
                    errosBuilder.Append("O limite de informações é de 256 caracteres.");
                }

                if (errosBuilder.Length == 0)
                {
                    int      lugares = UtilConvert.ToInt(lugaresStr);
                    DateTime data    = UtilConvert.ObterDataHora(dataStr, horaStr);

                    //TODAS AS INFORMAÇÕE ESTÃO OK, VALIDE SE NÃO TEM RESERVA E SE É POSSÍVEL
                    List <clnReserva> objReservas = new clnReserva
                    {
                        CodCliente = objCliente.Cod,
                        Agendado   = data,
                        Ativo      = true
                    }.obterPorClienteData();

                    if (objReservas.Count > 0)
                    {
                        errosBuilder.Append("Você já realizou uma reserva para esta data!");
                    }
                    else
                    {
                        int lugaresTotais = new clnMesa {
                        }.obterLugares();

                        int lugaresReservados = new clnReserva
                        {
                            Agendado = data
                        }.obterLugaresReservados();

                        if (lugaresReservados > (lugaresTotais / 2))
                        {
                            errosBuilder.Append("Não há lugares disponiveis para reserva via Internet nesta data.");
                        }
                        else
                        {
                            int lugaresDisponiveis = lugaresTotais - lugaresReservados;

                            if (lugares > lugaresDisponiveis)
                            {
                                errosBuilder.Append("Não existem lugares disponiveis para esta data");
                            }
                        }
                    }
                }

                return(errosBuilder.ToString());
            }
            else
            {
                return("Você não está autenticado.");
            }
        }