Ignorar horas no laborales

30/04/2015 - 17:37 por Carl Fica | Informe spam
Estimados, vengo por sabiduría. Necesito ignorar horas que no son laborales. las horas laborales son de 8:30 a 18:30.yo tengo una función para fin de semanas que es así(funciona).

private bool esdialaboral(DateTime fer)
{
if (fer.DayOfWeek == DayOfWeek.Saturday || fer.DayOfWeek == DayOfWeek.Sunday)
{
return false;
}
return true;
}
}

y la otra función la tengo así

private bool eshoralaboral(DateTime fer)
{
if (((fer.Hour >= 8) && (fer.Minute >= 30))
|| ((fer.Hour <= 18) && (fer.Minute <= 30)))
{
return true;
}
return false;
}

pero una vez que ejecuto el programa me sigue contando las horas en vez de ignorarlas. AgradeceŽre cualquier ayuda muchas gracias.

Preguntas similare

Leer las respuestas

#1 kevinkuja
01/05/2015 - 00:28 | Informe spam
private bool eshoralaboral(DateTime fer) {
return ((fer.Hour >= 9 && fer.Hour <= 17) || (fer.Hour == 8 && fer.Minute >= 30) || (fer.Hour == 18 && fer.Minute <= 30));
}
Respuesta Responder a este mensaje
#2 Kalli
04/05/2015 - 18:53 | Informe spam
Hola Carl,

Te recomiendo que utilices TDD para crear esta clase.
La idea es crear pequeños tests (hay quien les gusta llamarles ejemplos) de cada situación o escenario distinto y que pruebes que
Te recomiendo el libro de Carlos Blé. Es gratuito y está muy bien. Se lee muy rápido.
http://www.carlosble.com/downloads/..._ebook.pdf

También te recomendaría evitar If..Then anidados.
Aunque tu método se entiende perfectísimamente, en situaciones un pelín más enrevesadas se lee mejor aplicando el refactoring "Replace Nested Conditional with Guard Clauses":
http://refactoring.com/catalog/repl...auses.html
(está sacado de otro libro muy recomendable: el "Refactoring" de Martin Fowler.
Hay una cita muy buena de Kent Beck (creo) que dice que el código se escribe una vez pero se lee muchas. Es por eso que a veces, aunque parezcan cambios menores, merece la pena hacerlos para mejorar la legibilidad del código.

Cualquier cosilla que tengas, silba que por aquí estaremos...


Un saludo,
JC
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida