private void ValidarColores(ICollection <Prenda> prendas) { foreach (var prenda in prendas) { _contextoValidacion.SetEstrategia( new ValidadorColores( (prenda.ColorPrimario, prenda.ColorSecundario)) ); if (_contextoValidacion.RealizarValidacion()) { throw new InvalidOperationException("Combinacion de colores invalida"); } } }
private IEnumerable <Atuendo> CrearAtuendos(Combinations <Prenda> combinaciones, decimal?temperatura = 0, int capas = 0) { var combinacionesCorrectas = new List <List <Prenda> >(); foreach (var combinacion in combinaciones) { _contextoValidacion.SetEstrategia( new ValidadorAtuendo(combinacion, capas, temperatura)); if (_contextoValidacion.RealizarValidacion()) { combinacionesCorrectas.Add(combinacion.ToList()); } } var result = combinacionesCorrectas.Select(c => new Atuendo { Prendas = c }); return(result); }