TRABALHAR COM HORAS

ERICKGLEDSON 13/11/2012 11:24:25
#414107
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.
F001E 13/11/2012 11:30:58
#414108
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...
ERICKGLEDSON 13/11/2012 11:40:24
#414113
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?
KURTGU 13/11/2012 13:07:15
#414122
Como burlar a hora se o servidor somente que tem acesso e o administrador?
ERICKGLEDSON 13/11/2012 13:36:00
#414128
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).
KURTGU 13/11/2012 13:38:34
#414129
hum...
F001E 13/11/2012 13:57:19
#414130
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.....
ERICKGLEDSON 13/11/2012 14:02:57
#414131
é 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.
F001E 13/11/2012 14:25:25
#414133
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...
F001E 13/11/2012 14:27:04
#414134
noss...expediente com S......to ficando [Ô]burrão[Ô] mesmo.....
Tópico encerrado , respostas não são mais permitidas