Exemplo n.º 1
0
        /// <summary>
        /// Esta clase hereda de BaseHandler, tiene como única responsabilidad reconocer
        /// el type correspondiente al departamento para luego ensamblar el filtro del type con ese valor. Cumple con SRP
        ///
        /// También sigue el patrón creator dado que son responsables de crear los filtros. Para esto
        /// utilizan el mensaje interpetado en primera instancia por el interpreter
        /// </summary>
        /// <param name="m"></param>
        public override void Handle(InterpreterMessage m)
        {
            List <string> departments = new List <string> {
                "artigas", "canelones", "cerro largo", "colonia", "durazno", "flores", "florida", "lavalleja", "maldonado", "montevideo", "paysandu", "rio negro", "rivera", "rocha", "salto", "san jose", "soriano", "tacuarembo", "treinta y tres"
            };

            if (m.MessageType == Type.Department)
            {
                if (departments.Contains(m.Value))
                {
                    SingleInstance <Mediator> .GetInstance.AddFilter(
                        new DepartmentFilter(m.Value),
                        m.ID
                        );
                }
                else
                {
                    throw new InvalidInputException("Por favor, ingrese un departamento válido.");
                }
            }
            base.Handle(m);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Esta clase implementa la interfaz BaseHandler, tiene como única responsabilidad reconocer
        /// el type correspondiente al barrio para luego ensamblar el filtro del type con ese valor. Cumple con SRP
        ///
        /// También sigue el patrón creator dado que son responsables de crear los filtros. Para esto
        /// utilizan el mensaje interpetado en primera instancia por el interpreter
        /// </summary>
        /// <param name="m"></param>
        public override void Handle(InterpreterMessage m)
        {
            List <string> neighbourhoods = new List <string> {
                "aguada", "aires puros", "arroyo seco", "atahualpa", "bañados de carrasco", "barra de carrasco", "barrio sur", "bella italia", "bella vista", "belvedere", "bolivar", "brazo oriental", "buceo", "camino maldonado", "capurro", "capurro bella vista", "carrasco", "carrasco este", "carrasco norte", "casabo", "casabo pajas blancas", "casavalle", "centro", "cerrito", "cerro", "ciudad vieja", "colon", "conciliacion", "cordon", "flor de maronas", "goes", "golf", "ituizango", "jacinto vera", "jardines del hipodromo", "la blanqueada", "la caleta", "la colorada", "la comercial", "la figurita", "la paloma tomkinson", "la teja", "larrañaga", "las acacias", "las canteras", "lezica", "malvín", "malvin norte", "manga", "marconi", "maroñas", "melilla", "mercado modelo", "montevideo", "nuevo paris", "pajas blancas", "palermo", "parque batlle", "parque miramar", "parque rodo", "paso de la arena", "paso molino", "peñarol", "peñarol lavalleja", "perez castellanos", "piedas blancas", "pocitos", "pocitos nuevo", "prado", "prado nueva savona", "puerto", "puerto buceo", "punta carretas", "punta espinillo", "punta gorda", "punta rieles", "reducto", "santiago vazquez", "sayago", "tres cruces", "tres ombues pblo victoria", "union", "villa biarritz", "villa dolores", "villa española", "villa garcia manga rural", "villa muños", "zona rural"
            };

            if (m.MessageType == Type.Neighbourhood)
            {
                if (neighbourhoods.Contains(m.Value))
                {
                    SingleInstance <Mediator> .GetInstance.AddFilter(
                        new NeighbourhoodFilter(m.Value),
                        m.ID
                        );
                }
                else
                {
                    throw new InvalidInputException("Por favor ingrese correctamente el barrio.");
                }
            }

            base.Handle(m);
        }