Esempio n. 1
0
        /// <summary>
        /// Método que realiza la búsqueda de pedidos por nombre o por id
        /// </summary>
        /// <param name="campo">Campo que indica que tipo de busqueda instanciar</param>
        /// <param name="campo2">Campo que se rellena por la busqueda del parámetro campo</param>
        /// <param name="criterio">Puede ser nombre o id</param>
        private void operacionDatosCliente(TextBox campo, TextBox campo2, BuscarPor criterio)//RF-002
        {
            DelegadoCliente datosCliente = new DelegadoCliente(conexion);
            BusquedaDual    search       = FactoryDeBusqueda.crear(campo, datosCliente, criterio);

            datosCliente = search.buscarCliente(datosCliente);
            search.asignacionDeCampos(labelDireccionCliente, labelEstadoDePago, labelTelefono, campo2);
            factura.Cliente = datosCliente.Persona().Cliente;
        }
        /// <summary>
        /// Metodo que ayuda a la creacion de tipo de busqueda
        /// </summary>
        /// <param name="campo">Puede ser nombre o id</param>
        /// <param name="cliente">Objeto a modificar</param>
        /// <param name="criterio">Parametro que diferencia el tipo de busqueda</param>
        /// <returns></returns>
        public static BusquedaDual crear(TextBox campo, DelegadoCliente cliente, BuscarPor criterio)
        {
            switch (criterio)
            {
            case BuscarPor.NOMBRE:
                return(new BusquedaPorNombre(campo, cliente));

            case BuscarPor.ID:
                return(new BusquedaPorId(campo, cliente));

            default:
                throw new NotSupportedException("No existe ese tipo de búsqueda");
            }
        }