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