示例#1
0
        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");
                }
            }
        }
示例#2
0
        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);
        }