Ejemplo n.º 1
0
        public static DosVal<DateTime, DateTime> FechasDeComisiones(DateTime dBase)
        {
            int iDiaIni = Util.Entero(Config.Valor("Comisiones.DiaInicial"));
            int iDiaFin = Util.Entero(Config.Valor("Comisiones.DiaFinal"));
            int iDiaBase = (int)dBase.DayOfWeek;

            var oRes = new DosVal<DateTime, DateTime>();
            oRes.Valor1 = dBase.AddDays((double)(iDiaBase <= iDiaIni ? (iDiaIni - 7 - iDiaBase) : (iDiaIni - iDiaBase)));
            oRes.Valor2 = dBase.AddDays((double)(iDiaBase > (iDiaFin + 1) ? (iDiaFin + 7 - iDiaBase) : (iDiaFin - iDiaBase)));

            // Se mandan las horas a los extremos, de 00:00 a 23:59, para que no haya problemas con los filtros
            oRes.Valor1 = oRes.Valor1.Date;
            oRes.Valor2 = oRes.Valor2.Date.AddDays(1).AddSeconds(-1);

            return oRes;
        }
Ejemplo n.º 2
0
        public static DosVal <DateTime, DateTime> FechasDeComisiones(DateTime dBase)
        {
            int iDiaIni  = Util.Entero(Config.Valor("Comisiones.DiaInicial"));
            int iDiaFin  = Util.Entero(Config.Valor("Comisiones.DiaFinal"));
            int iDiaBase = (int)dBase.DayOfWeek;

            var oRes = new DosVal <DateTime, DateTime>();

            oRes.Valor1 = dBase.AddDays((double)(iDiaBase <= iDiaIni ? (iDiaIni - 7 - iDiaBase) : (iDiaIni - iDiaBase)));
            oRes.Valor2 = dBase.AddDays((double)(iDiaBase > (iDiaFin + 1) ? (iDiaFin + 7 - iDiaBase) : (iDiaFin - iDiaBase)));

            // Se mandan las horas a los extremos, de 00:00 a 23:59, para que no haya problemas con los filtros
            oRes.Valor1 = oRes.Valor1.Date;
            oRes.Valor2 = oRes.Valor2.Date.AddDays(1).AddSeconds(-1);

            return(oRes);
        }
Ejemplo n.º 3
0
        private void LlenarSemanas()
        {
            int iAnio = (int)this.nudAnio.Value;

            int iDiaIni = Util.Entero(Config.Valor("Comisiones.DiaInicial"));
            DateTime oFecha = new DateTime(iAnio, 1, 1).Date;
            int iDif = (iDiaIni - (int)oFecha.DayOfWeek);
            iDif += (iDif < 0 ? 8 : 0);
            oFecha = oFecha.AddDays(iDif);
            var oSemanas = new List<DosVal<DateTime, string>>();
            while (oFecha.Year == iAnio)
            {
                var oSem = new DosVal<DateTime, string>(oFecha, string.Format("{0:00} {1} al ", oFecha.Day, oFecha.ToString("MMM")));
                oFecha = oFecha.AddDays(6);
                oSem.Valor2 += string.Format("{0:00} {1}", oFecha.Day, oFecha.ToString("MMM"));
                oSem.Valor2 = oSem.Valor2.ToUpper();
                oSemanas.Add(oSem);
                oFecha = oFecha.AddDays(1);
            }
            // Se agrega la semana especial de aguinaldo
            oSemanas.Add(new DosVal<DateTime, string>(DateTime.Now, "AGUINALDO"));

            this.cmbSemana.CargarDatos("Valor1", "Valor2", oSemanas);
        }