miércoles, 9 de julio de 2008

Sumar fechas sin tomar en cuenta fines de semana

Una compañerita de trabajo me pidió un favor el cual consistía en poder sumarle a una fecha N días pero sin tomar en cuenta los fines de semana.Las siguientes funciones hacen dicha tarea:
  • DateTimeIgnoringWeekEnds: La cual recibe como parametros la fecha inicial y los días a sumar.


  • NumberOfWeekEndDays: Esta función es usada por la función anterior y nos ayuda a saber cuantos días son sabado o domingo entre dos fechas.

private int NumberOfWeekEndDays(DateTime startDate, DateTime endDate)
{
int intContador = 0;
DateTime tempDate = startDate;
while (tempDate <= endDate)
{
if (tempDate.DayOfWeek == DayOfWeek.Saturday ||
tempDate.DayOfWeek == DayOfWeek.Sunday)
{
intContador++;
}
tempDate = tempDate.AddDays(1);
}

return intContador;
}

public DateTime DateTimeIgnoringWeekEnds(DateTime starDate, int days)
{
int intweekends = 0;
int intHelp = 0;

DateTime endDate = starDate.AddDays(days);

do
{
intweekends = NumberOfWeekEndDays(starDate, endDate);
endDate = starDate.AddDays(days + intweekends);

if (intHelp == 0 || intHelp != intweekends)
intHelp = intweekends;
else
intweekends = 0;

} while (intweekends != 0);

return endDate;
}

    Ejemplo :

DateTime dtmFechInicio = DateTime.Now;
DateTime dtmFechaFinal = DateTimeIgnoringWeekEnds(dtmFechInicio, 13);

lunes, 21 de enero de 2008

Srcipt#

Script# brings the C# development experience (programming and tooling) to the JavaScript/Ajax world.

The Script# compiler is a C# compiler that generates JavaScript as its output instead of IL. A key goal of the compiler to produce readable JavaScript (as if you had authored it by hand), and would be comfortable deploying into real apps. Hence the translation works from C# source directly into JavaScript without an intermediate IL layer. The compiler can also produce equivalent, but much more compact script for use in release mode deployment. The compiler does not introduce any additional levels of abstraction, thereby allowing you full control of what your application does. In essense the best of script with the best of C#!

The Script# compiler can optionally be used with the Script# Framework that provides a more productive application development platform for larger, and more complex applications.

http://projects.nikhilk.net

miércoles, 31 de octubre de 2007

Como debe de dios manda...

Nefasta frase de igualmente nefasto maestro de COBOL que tenía en la vocacional... pero muy cierta.

Los estándares nos facilitan la vida... hasta que llegan los proveedores y usan esos estándares como se les da su regalada gana... ¿Cuántas veces no hemos visto que tags de html, reglas de estilo, métodos de objetos DOM hacen una cosa en internet explorer y otra completamente en mozilla, en opera?

En fin, mientras la guerra de adaptación de estándares sigue, existe el W3C, que se dedica a establecer dichos estándares y obligar de cierta manera a los proveedores de seguirlos.

Y este sitio, W3schools, de los mejores que conozco, para los que desarrollamos web.

Saludos

lunes, 22 de octubre de 2007

Patrones de diseño

Las ciencias computacionales, como cualquier otra ciencia, se ha ido desarrollando con el paso de los años, pero debido a su condición tecnológica avanza a pasos agigantados.

A partir del inicio de la programación orientada a objetos, se fueron creando técnicas de desarrollo de software que evitaban escribir una y otra vez el mismo código (reutilización, uno de los pilares de la POO), que generó varias metodologías de desarrollo.

A pesar de que muchas veces los desarrolladores utilizaban un mismo patrón al momento de solucionar un problema, pocas veces se tenía documentación o siquiera un lenguaje común mediante el cual los mismos pudieran expresar sus ideas.

Fue por eso que, tomando ideas de arquitectura, el Gang Of Four hizo un compilado de dichas técnicas, nombrando sus virtudes, su aplicación y comportamiento, es decir, catalogándolos.

Los Patrones de Diseño nos ayudan sobremanera para la construcción de un sistema, nos ahorran un tiempo significativo y producen mejores resultados en ejecución y un mantenimiento simple. Es necesario estudiarlos, comprenderlos, pero sobre todo aplicarlos, ya que nos elevarán de una categoría de desarrollador a Arquitecto.

Posteriormente iré desmenuzando los patrones tal cual el orden del libro de Gang of Four. Por lo mientras, aquí un pequeño resumen

miércoles, 17 de octubre de 2007

Subgurim.NET

Esta página me ha gustado bastante ya que en ella se pueden encontrar desde conceptos bastante básicos pero explicados de una manera muy sencilla y fácil de entender hasta temas bastante útiles y complejos, lo que me hiso llegar a esta página es un control “File Upload” que utiliza AJAX y se pueden subir múltiples archivos. Otra cosa interesante es una página del mismo autor tusencuestas.com que te ayuda hacer de manera bastante fácil encuestas solo tienes que registrarte para empezar hacer tus encuestas.

La mayoría de los artículos son para C# y ASP, aquí les dejo el enlace.

Subgurim.NET

martes, 25 de septiembre de 2007

Cadenas de Conexión

Por si algún día no sabes como crear alguna cadena de conexión para cualquier motor de base de datos o bien algún tipo de archivo o quieres saber que propiedades colocar. Te recomiendo que entres a esta pagina donde encontraras muchas cadenas de conexión para ocupar. http://www.connectionstrings.com/

jueves, 13 de septiembre de 2007

Bienvenida

Hola ¿qué tal?, bienvenido a mi blog DeveloperMx en blogspot.com, espero que este recurso te sea de utilidad para encontrar fuentes de infromación que te ayuden a resolver los problemas diarios que encuentras en esta tan interesante y difundida actividad que es el desarrollo de aplicaciones informáticas.
El objetivo de este blog es el de poner a tu disposición las direcciones de los enlaces web donde puedas consultar un tema en particular, además de complementarlas con una breve descripción para que te formes una idea clara antes de ingresar al recurso, y que de esta manera ahorres tiempo y esfuerzo en tu búsqueda.