Thursday, October 3, 2013

Infografia - Responsive Web Design

Les comparto una excelente infografía sobre el Responsive Web Design.



Fuente: webbizarro.com

Thursday, September 12, 2013

Cuántos Sábados y Domingos hay en un rango de fechas

Cuántos Sábados y Domingos hay en un rango de fechas (en vb.net)

La solución... seguramente muchas pero la mía ha sido Una función que recibe el rango de fechas (en mi caso solo una porque la trabajo con la fecha actual) que va preguntando si las fechas intermedias son o no sábado o domingo. Simple. 

    Public Function NotWorkingDays(ByVal dtFechaRegistro As Date)

        Dim dtFechaActual As Date = Now.Date 
        dtFechaRegistro = dtFechaRegistro.Date

        Dim dias_no_laborales As Integer = 0
        While dtFechaRegistro <= dtFechaActual

            If dtFechaRegistro.DayOfWeek = DayOfWeek.Saturday Or dtFechaRegistro.DayOfWeek = DayOfWeek.Sunday Then
                dias_no_laborales = dias_no_laborales + 1
            End If

            dtFechaRegistro = dtFechaRegistro.AddDays(1)
        End While

        Return dias_no_laborales
    End Function

Friday, August 30, 2013

Datediff - convertir horas A decimal

Me pidieron saber el tiempo transcurrido en horas dada dos fechas. Fecha hora inicial en la que el Call Center recibió una llamada hasta la hora fecha en la que se dio respuesta a esa llamada.

Fecha Hora inicial: 30/08/2013 07:30:30
Fecha Hora final: 30/08/2013 08:00:00

Dado ese ejemplo, tenemos que transcurrieron 1.51 horas de tiempo. Pero resulta que cuando realizamos alguna división, la función Datediff omite la parte decimal y por tanto el cálculo ya no es exacto.

La siguiente línea de código muestra cómo hacerlo. Cómo convertir horas a decimal utilizando DATEDIFF

declare @start datetime
set @start = '2013-08-29 07:00:00'

declare @end datetime
set @end = '2013-08-29 08:30:30' --getdate() 1,51
select cast(datediff(second, @start, @end) / 3600.0 as decimal (10, 2))


Fácil, ¿no?

Friday, June 28, 2013

Formato fecha "dia de mes del Año"

En Visual Basic .NET tenemos la función ToString() para dar formato a la fecha. Y el formato más común es "dd/MM/yyyy" pero y si quiero algo así como "28 de junio del 2013"? 

Como sigue:

Now.Date.ToString("dd \de MMMM \del yyyy", CultureInfo.CreateSpecificCulture("es-ES"))

HaPPy CoDiNg =)

Consulta SQL entre 2 servidores distintos

Vaya, qué tragedia que me pasó hoy. Mas bien que no lo hice en el servidor de producción sino en el de test. 

Hice un update sin where y afectó alrededor de 1500 registros jajaj. Haber grabado mi reacción de ese momento. Lo único que me consolaba era que se trataba de una copia de base de datos. Pero de todas maneras esa copia la estamos utilizando más de uno, no solo yo. Y pedir una nueva copia es re-dificil. Mucho trámite. 

Lo que hice fue hacer un insert de los registros de la base de datos del servidor de producción. Le hice un truncate a la tabla y luego el insert. En realidad, hice el truncate a dos tablas y el insert a estas mismas dos ya que es un maestro-detalle. 

Sin embargo, primero hay que agregar el servidor al que queremos acceder desde nuestro servidor. En este caso, yo desde el servidor de test al servidor de producción. Cómo lo hacemos? 

EXEC sp_addlinkedsrvlogin 'NombreDeTuServidor', 'false', NULL, 'UsuarioConElQueTeConectas', 'ContrseniaDeEseUsuario'

Lo ejecutas y ahora estás apto para realizar tu consulta de esta manera:

insert into parametro (spar_id, spar_dom_id, spar_descripcion, iCreateBy, dtCreatedt, iUpdateBy, dtUpdatedt, iEstadoReg, iConcurrency_id, bActivo, bActivoMovil) 
(select * from BOSCZDB00.Boveda.dbo.parametro)

Nota para que puedas acceder a la tabla de otro servidor va de la siguiente manera:

SERVIDOR.BASE_DE_DATOS.ESQUEMA.TABLA

HaPPy CoDiNg!