public ITypeCalculator ObtenerInstancia(RangeType eRangeType) { IUtil util = new Util(); ITypeCalculator CreadorMensaje = null; switch (eRangeType) { case RangeType.Minute: CreadorMensaje = new MinuteCalculator(util); break; case RangeType.Hour: CreadorMensaje = new HourCalculator(util); break; case RangeType.Day: CreadorMensaje = new DayCalculator(util); break; case RangeType.Month: CreadorMensaje = new MonthCalculator(util); break; } return(CreadorMensaje); }
public List <EventDisplay> SetInfoEventsDisplay(List <Event> listEvents) { List <EventDisplay> listDisplay = new List <EventDisplay>(); foreach (Event item in listEvents) { EventDisplay newEvent = new EventDisplay(); newEvent.cNombre = item.cNombre; newEvent.dtFecha = item.dtFecha; newEvent.Tipo = _determineType.CalculateType(item.dtFecha); newEvent.lPasado = _validateDate.DeterminePastEvent(item.dtFecha); newEvent.iDiferencia = _validateDate.SetMinutes(item.dtFecha); ITypeCalculator typeCalculator = _determineTypeFactory.ObtenerInstancia(newEvent.Tipo); newEvent.cMensaje = typeCalculator.CreateDisplayMessage(newEvent); listDisplay.Add(newEvent); } return(listDisplay); }