// GET: api/Eventos public EventosDTO Get() { var repo = new EventosRepository(); //Eventos e = repo.Retrieve(); EventosDTO e = repo.RetrieveDTO(); return(e); }
/// <summary> /// Genera una instancia de la clase EventosDTO /// </summary> /// <param name="_cLinea">Linea de texto del archivo de texto</param> /// <returns>Instancia de la clase EventosDTO</returns> private EventosDTO crearInstancia(string _cLinea) { EventosDTO Evento = new EventosDTO(); string[] arrayDatos = ExtraerCampos(_cLinea); AsignarCampos(Evento, arrayDatos); return(Evento); }
/// <summary> /// Asigna valores a los campos de la clase EventosDTO /// </summary> /// <param name="_evento">Objeto de la clase EventosDTO</param> /// <param name="_arrayDatos">Array con los valores de la linea</param> private void AsignarCampos(EventosDTO _evento, string[] _arrayDatos) { DateTime dtEvento = DateTime.Parse(_arrayDatos[1]); TimeSpan time = ObtenerDiferenciaFecha(dtFechaActual, dtEvento); _evento.cEvento = _arrayDatos[0]; _evento.dtEvento = dtEvento; _evento.iTotalDias = time.TotalDays; _evento.iTotalHOras = time.TotalHours; _evento.iTotalMinutos = time.TotalMinutes; _evento.iTotalMeses = CalcularNumeroMeses(time.TotalDays); }
//public RecuperadorEventos(string url) //{ //} public EventosDTO ObtenerRegistros(string url) { _rutaArchivo = url ?? throw new ArgumentNullException(nameof(url)); StreamReader buffer = new StreamReader(_rutaArchivo); EventosDTO eventosDTO = new EventosDTO(); string[] eventos; while (buffer.ReadLine() != null) { eventos = buffer.ReadLine().Split(','); eventosDTO.titulo = eventos[0]; eventosDTO.fecha = DateTime.Parse(eventos[1]); } return(eventosDTO); }
/// <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); }