Esempio n. 1
0
        /// <summary>
        /// Contiene la lógica para el procesamiento de un archivo de texto
        /// </summary>
        /// <param name="_cRutaArchivo">Ruta fisica del archivo txt.</param>
        /// <param name="_cSeparador">Simbolo separador</param>
        /// <param name="_dtFecha">Fecha a comparar</param>
        /// <returns>Lista del tipo EventosDTO</returns>
        public List <EventosDTO> Procesar(string _cRutaArchivo, string _cSeparador, DateTime _dtFecha)
        {
            string[]                arrContenido = null;
            List <EventosDTO>       lstEventos   = new List <EventosDTO>();
            EventosDTO              entEvento    = new EventosDTO();
            IGeneradorMensajeEvento svrGeneradorEventoService = null;

            this.cSeparador    = _cSeparador;
            this.dtFechaActual = _dtFecha;
            arrContenido       = this.svrLectorArchivoTxt.ObtenerContenido(_cRutaArchivo);
            GeneradorMensajeEventoFactory generadorEventoFactory = new GeneradorMensajeEventoFactory();

            foreach (var a in arrContenido)
            {
                entEvento = new EventosDTO();
                ValidarEntrada(a);
                entEvento = crearInstancia(a);
                //MES
                if (entEvento.iTotalMeses >= 1 || entEvento.iTotalMeses <= -1)
                {
                    svrGeneradorEventoService = generadorEventoFactory.ObtenerInstanciaGeneradorMensajeEvento((int)BanderasEvento.Periodos.MES);
                    entEvento.cEventoImprime  = svrGeneradorEventoService.GeneraMensaje((entEvento.iTotalMeses > 0 ? true : false), Math.Truncate(Math.Abs(entEvento.iTotalMeses)));
                } // DIA
                else if (entEvento.iTotalDias >= 1 || entEvento.iTotalDias <= -1)
                {
                    svrGeneradorEventoService = generadorEventoFactory.ObtenerInstanciaGeneradorMensajeEvento((int)BanderasEvento.Periodos.DIA);
                    entEvento.cEventoImprime  = svrGeneradorEventoService.GeneraMensaje((entEvento.iTotalDias > 0 ? true : false), Math.Truncate(Math.Abs(entEvento.iTotalDias)));
                }//Horas
                else if (entEvento.iTotalHOras >= 1 || entEvento.iTotalHOras <= -1)
                {
                    svrGeneradorEventoService = generadorEventoFactory.ObtenerInstanciaGeneradorMensajeEvento((int)BanderasEvento.Periodos.HORA);
                    entEvento.cEventoImprime  = svrGeneradorEventoService.GeneraMensaje((entEvento.iTotalHOras > 0 ? true : false), Math.Truncate(Math.Abs(entEvento.iTotalHOras)));
                }//Minutos
                else if (entEvento.iTotalMinutos >= 1 || entEvento.iTotalMinutos <= -1)
                {
                    svrGeneradorEventoService = generadorEventoFactory.ObtenerInstanciaGeneradorMensajeEvento((int)BanderasEvento.Periodos.MINUTO);
                    entEvento.cEventoImprime  = svrGeneradorEventoService.GeneraMensaje((entEvento.iTotalMinutos > 0 ? true : false), Math.Truncate(Math.Abs(entEvento.iTotalMinutos)));
                }
                lstEventos.Add(entEvento);
            }
            return(lstEventos);
        }
Esempio n. 2
0
        /// <summary>
        /// Devuelve el servicio correspondiente de acuerdo al tipo de período recibido como parámetro.
        /// </summary>
        /// <param name="_iTipoPeriodo">Tipo de periodo del Enum BanderasEventos</param>
        /// <returns>Servicio del tipo de interfaz IGeneradorMensajeEvento</returns>
        public IGeneradorMensajeEvento ObtenerInstanciaGeneradorMensajeEvento(int _iTipoPeriodo)
        {
            IGeneradorMensajeEvento svrService = null;

            switch (_iTipoPeriodo)
            {
            case 1:
                svrService = new GeneradorMensajeEventoMesService();
                break;

            case 2:
                svrService = new GeneradorMensajeEventoDiaService();
                break;

            case 3:
                svrService = new GeneradorMensajeEventoHoraService();
                break;

            case 4:
                svrService = new GeneradorMensajeEventoMinutoService();
                break;
            }
            return(svrService);
        }