TRABALHAR COM HORAS
Bom dia!
Sou iniciante em .NET e estou fazendo um programa para clinicas.
O meu maior problema atualmente é na parte de agendamento! Estou passando pelo seguinte cenário:
1º - O administrador do programa irá entrar com os dados:
* Hora do inicio do expediente,
* Hora fim,
* Inicio do almoço,
* Fim do almoço,
* Intervalo que será de atendimento (em minutos. Exemplo: 45 min cada atendimento)
Fiz um FOR somando 45 minutos (Exemplo) e dentro dele, coloquei 2 IFs que são para parar o FOR quando o expediente terminar e um para o almoço.
Entretanto, o código ele [Ô]come[Ô] minutos na parte do almoço! Ele não pula os minutos (por exemplo: 11:45 -> 12:30 -> 13:15 ->... ). Ou então ele repete horário (13:15 -> 13:15 -> 14:00...).
Como faço para ele parar em (11:45 ->) 12:00 e continuar a partir das 13:00 (-> 13:45)? Tentei de diversas maneiras, mas sem sucesso.
2º - Os dados serão mostrados num DataGridView, porém, há diferença no horário de trabalho.
Por exemplo, há quem chega as 08:00 e sai as 17:00 e quem chega as 09:00 e sai as 18:00.
* Gostaria que fosse mostrado assim:
08:00 - Cliente 1 - *NULL*
09:00 - Cliente 2 - Cliente 3
...
18:00 - *NULL* - Cliente N
*NULL*: Só para mostrar que não haverá atendimento naquela hora.
Observações importantes: Estou usando SQL Server 2008 R2.
O primeiro problema é que estou enfrentando mais dificuldade, ficarei grato a quem puder me ajudar, seja postando tutorial, código ou dicas.
Abraços e obrigado.
Sou iniciante em .NET e estou fazendo um programa para clinicas.
O meu maior problema atualmente é na parte de agendamento! Estou passando pelo seguinte cenário:
1º - O administrador do programa irá entrar com os dados:
* Hora do inicio do expediente,
* Hora fim,
* Inicio do almoço,
* Fim do almoço,
* Intervalo que será de atendimento (em minutos. Exemplo: 45 min cada atendimento)
Fiz um FOR somando 45 minutos (Exemplo) e dentro dele, coloquei 2 IFs que são para parar o FOR quando o expediente terminar e um para o almoço.
Entretanto, o código ele [Ô]come[Ô] minutos na parte do almoço! Ele não pula os minutos (por exemplo: 11:45 -> 12:30 -> 13:15 ->... ). Ou então ele repete horário (13:15 -> 13:15 -> 14:00...).
Como faço para ele parar em (11:45 ->) 12:00 e continuar a partir das 13:00 (-> 13:45)? Tentei de diversas maneiras, mas sem sucesso.
2º - Os dados serão mostrados num DataGridView, porém, há diferença no horário de trabalho.
Por exemplo, há quem chega as 08:00 e sai as 17:00 e quem chega as 09:00 e sai as 18:00.
* Gostaria que fosse mostrado assim:
08:00 - Cliente 1 - *NULL*
09:00 - Cliente 2 - Cliente 3
...
18:00 - *NULL* - Cliente N
*NULL*: Só para mostrar que não haverá atendimento naquela hora.
Observações importantes: Estou usando SQL Server 2008 R2.
O primeiro problema é que estou enfrentando mais dificuldade, ficarei grato a quem puder me ajudar, seja postando tutorial, código ou dicas.
Abraços e obrigado.
pq vc nao usa a Hora do Servidor ?
Tipo inicio do expediente pega a hora do Servidor...
Fim do expediente pega hora do Servidor tbm...
Para Atendimento, quando iniciar um Atendimento, pega a hora do Servidor e quando terminar o Atendimento pega a hora do Servidor tbm, assim voce conseque calcular o tempo do Atendimento já que voce tem a hora inicial e a hora final...
Tipo inicio do expediente pega a hora do Servidor...
Fim do expediente pega hora do Servidor tbm...
Para Atendimento, quando iniciar um Atendimento, pega a hora do Servidor e quando terminar o Atendimento pega a hora do Servidor tbm, assim voce conseque calcular o tempo do Atendimento já que voce tem a hora inicial e a hora final...
Eu pensei nisso, mas poderiam burlar a hora (e eu não quero que isso aconteça). Esse programa irá ficar na recepção e tenho que mostrar todos os horários disponÃveis (e não disponÃveis) para o atendimento.
Por exemplo:
Médica X vai pegar de 8 às 17
Médica Y vai pegar de 9 às 18
To pensando em separar por tempos:
8 Ã 12 e de 13 Ã s 17
Calculo a hora de 8 até 12 e depois pego de 13 as 17, ao invés de 8 às 17 direto.
Será que fica mais flexÃvel?
Por exemplo:
Médica X vai pegar de 8 às 17
Médica Y vai pegar de 9 às 18
To pensando em separar por tempos:
8 Ã 12 e de 13 Ã s 17
Calculo a hora de 8 até 12 e depois pego de 13 as 17, ao invés de 8 às 17 direto.
Será que fica mais flexÃvel?
Como burlar a hora se o servidor somente que tem acesso e o administrador?
No caso, a máquina em que será instalada, todos terão acesso. O administrador que falei no primeiro post é o administrador da aplicação (nÃveis de usuário).
hum...
ahhh mas no caso ae....cria um servidor a Parte onde terá somente o banco de Dados e somente 1 usuário terá acesso para administrar o Banco....o correto é isso....
Se deixar todo mundo ter acesso, tem uns espertinho ae que [Ô]fuçam[Ô] e conseguem as coisas....[Ô]fdp[Ô] tem em todo lugar.....
Se deixar todo mundo ter acesso, tem uns espertinho ae que [Ô]fuçam[Ô] e conseguem as coisas....[Ô]fdp[Ô] tem em todo lugar.....
é verdade, mas o lugar que vai utilizar não tem outro computador e internet. Ai tenho que rodar a aplicação junto com o banco, tudo local.
Putz.....ae ferrô hem....
Entao...o que voce pode fazer assim é ficar salvando as Horas em uma tabela temporária no seu banco de Dados.
Tipo cria uma Tabela temporária onde voce grava a Hora do inicio do expediente e o final do espediente, dai atravez dessa Hora voce faz os acrecimos de 45 minutos que voce deseja...fez o acrecimo, chegou na hora desejada, grava na tabela tbm...e assim sucessivamente...
Entao...o que voce pode fazer assim é ficar salvando as Horas em uma tabela temporária no seu banco de Dados.
Tipo cria uma Tabela temporária onde voce grava a Hora do inicio do expediente e o final do espediente, dai atravez dessa Hora voce faz os acrecimos de 45 minutos que voce deseja...fez o acrecimo, chegou na hora desejada, grava na tabela tbm...e assim sucessivamente...
noss...expediente com S......to ficando [Ô]burrão[Ô] mesmo.....
Tópico encerrado , respostas não são mais permitidas