bom dia gente to precisando da ajuda de vcs, ver so to fazendo uma aplicação pra web de reserva de sala queria saber de vcs uma regra que nao permitise que na msm sala e no msm horario nao permitise o cadastro dessa sala ou auditorio tem como ajuda nisso??
Reserva de sala e auditorio
9 Respostas
Está fazendo um sistema e não sabe as regras do negócio ou apenas não sabe como aplicar estas regras?
Já ouviu falar de comparação?
Já ouviu falar de armazenamento de dados?
acho que é a regra pq tenho uma ideia mais ou menos como fazer, queria sabe tipo
if(horaInicio == horaBanco)
{
nao permitir
}
sei que tenho que fazer uma coisa parecia mais nao to sabendo aplicar
<blockquote><div class="quote-author">thiago0000:</div>acho que é a regra pq tenho uma ideia mais ou menos como fazer, queria sabe tipo
if(horaInicio == horaBanco)
{
nao permitir
}
sei que tenho que fazer uma coisa parecia mais nao to sabendo aplicar</blockquote>
Até ia te ajudar, mas como você não sabe ler (ou não quis ler que eu não respondo via MP), se vira aí.
<blockquote><div class="quote-author">drsmachado:</div><blockquote><div class="quote-author">thiago0000:</div>acho que é a regra pq tenho uma ideia mais ou menos como fazer, queria sabe tipo
if(horaInicio == horaBanco)
{
nao permitir
}
sei que tenho que fazer uma coisa parecia mais nao to sabendo aplicar</blockquote>
Até ia te ajudar, mas como você não sabe ler (ou não quis ler que eu não respondo via MP), se vira aí.</blockquote>
calma ai irmao nao tava vendo nao pq to aqui no estagio cara, desculpa ai se tiver como ajuda ajudar ai to precisando dessa ajuda msm
Cara, acho que te falando a solução não irá te ajudar…
Vc precisa dar uma estudada em lógica de programação, pois isso te dará a base para pegar a lógica de qualquer tipo que quiser…
O seu problema pode ser resolvido de n formas, uma delas vc já citou, ou seja, vc coloca no banco o dia e hora que está reservado, ex:
bdHoraReserva = 14:00
bdQtHoraReservado = 3
e faz a comparação
novaHora >= bdHoraReserva && novaHora <= (bdHoraReserva + bdQtHoraReservado)
não esquecendo que vai fazer isso se é o mesmo dia…
mas voltando a te falar, estude mais sobre lógica de programação, pq pra quem programa essa sua dúvida é trivial, se estudar lógica melhor não tera maiores dificuldades…
Forte abraço e espero ter ajudado…
outra solução tb é deixar o campo um timestamp como unique , assim nunca vai se repetir, nem se tentarem inserir manualmente no banco
Yuri, acho que o problema dele iria mais além do que repetir a escolha do horário…
pq imagina que o cara marque uma reunião para as 14:00 e outro marque para as 14:05, não se repetiu, porém acredito que a sala de reunião não está liberada ainda, sacou???
Vlw…
Yuri, acho que o problema dele iria mais além do que ser repetir…
pq imagina que o cara marque uma reunião para as 14:00 e outro marque para as 14:05, não se repetiu, porém acredito que a sala de reunião não está liberada ainda, sacou???
Vlw…
O Diogo está certo. Também NUNCA FAÇA REGRAS DE NEGÓCIO VIA BANCO DE DADOS. Isso é uma praga que assola a programação pois faz com que a lógica se fragmente.
É necessário fazer uma comparação dos intervalos de datas, de cada evento de um dia. Por exemplo se você tem um evento que começa as 14:00 e termina as 15:00 pode ter eventos antes e depois. Quais as regras então:
- A hora de inicio de um evento não pode estar dentro do intervalo de outro. Exemplo um evento começando as 14:30 e terminando as 15:30
- A hora de encerramento de um evento não pode estar dentro do intervalo de outro. Exemplo um evento começando as 13:30 e terminando as 14:30
- Um novo evento não pode ter um no intervalo de tempo que englobe eventos já cadastrados. Exemplo: um novo evento das 10:00 as 18:00 não pode ser cadastrado por que já temos um das 14:00 as 15:00.
Como fazer isso? Crie uma classe Evento e coloque e crie três funções uma para cada regra dentro e outra para dizer se é valido ou não usando a comparação.
Yuri, acho que o problema dele iria mais além do que ser repetir…
pq imagina que o cara marque uma reunião para as 14:00 e outro marque para as 14:05, não se repetiu, porém acredito que a sala de reunião não está liberada ainda, sacou???
Vlw…
O Diogo está certo. Também NUNCA FAÇA REGRAS DE NEGÓCIO VIA BANCO DE DADOS. Isso é uma praga que assola a programação pois faz com que a lógica se fragmente.
É necessário fazer uma comparação dos intervalos de datas, de cada evento de um dia. Por exemplo se você tem um evento que começa as 14:00 e termina as 15:00 pode ter eventos antes e depois. Quais as regras então:
- A hora de inicio de um evento não pode estar dentro do intervalo de outro. Exemplo um evento começando as 14:30 e terminando as 15:30
- A hora de encerramento de um evento não pode estar dentro do intervalo de outro. Exemplo um evento começando as 13:30 e terminando as 14:30
- Um novo evento não pode ter um no intervalo de tempo que englobe eventos já cadastrados. Exemplo: um novo evento das 10:00 as 18:00 não pode ser cadastrado por que já temos um das 14:00 as 15:00.
Como fazer isso? Crie uma classe Evento e coloque e crie três funções uma para cada regra dentro e outra para dizer se é valido ou não usando a comparação.
Na verdade x@ndy, não quis me aprofundar tanto para que ele estudasse lógica para resolver o problema dele… rs…
Mas ok, é isso ae…