Example #1
0
 /// <summary>
 /// Estaqblece un  nuevo Hecho en el consecuentes
 /// </summary>
 /// <param name="hecho">Objeto tipo hecho que se va a agregar</param>
 public void agregarHechoAlConsecuente(Hecho hecho)
 {
     consecuente = new DatosHechos()
     {
         id_hecho          = hecho.id_hecho,
         nombre_hecho      = "" + hecho,
         estado_hecho      = false,
         hecho_establecido = false
     };
 }
Example #2
0
 /// <summary>
 /// Método que limpia los atributos asociados al proceso de inferencia
 /// </summary>
 public void limpiarReglaParaInferencia()
 {
     consecuente.estado_hecho      = false;
     consecuente.hecho_establecido = false;
     for (int i = 0; i < antecedentes.Count; i++)
     {
         DatosHechos aux = (DatosHechos)antecedentes[i];
         aux.estado_hecho      = false;
         aux.hecho_establecido = false;
         antecedentes[i]       = aux;
     }
     _regla_validada = false;
 }
Example #3
0
        /// <summary>
        /// ToString modificado
        /// </summary>
        /// <returns>Regla</returns>
        public override string ToString()
        {
            string retorno = "SI ";

            for (int i = 0; i < antecedentes.Count; i++)
            {
                if (i != 0)
                {
                    retorno += " Y ";
                }
                DatosHechos datos = (DatosHechos)antecedentes[i];
                retorno += datos.nombre_hecho;
            }
            retorno += " ENTONCES " + consecuente.nombre_hecho;
            return(retorno);
        }
Example #4
0
        /// <summary>
        /// Método que elimina un hecho de los antecedentes
        /// </summary>
        /// <param name="id_hecho">id del hecho a eliminar</param>
        public void eliminarAntecedente(string id_hecho)
        {
            object encontrado = null;

            foreach (object item in antecedentes)
            {
                DatosHechos datos_hecho = (DatosHechos)item;
                if (datos_hecho.id_hecho.Equals(id_hecho))
                {
                    encontrado = item;
                }
            }
            if (encontrado != null)
            {
                antecedentes.Remove(encontrado);
            }
        }
Example #5
0
        /// <summary>
        /// Se agrega un nuevo Hecho a lista de antecedentes
        /// </summary>
        /// <param name="hecho">Objeto tipo hecho que se va a agregar</param>
        public bool agregarHechoAlAntecedente(Hecho hecho)
        {
            //tod comprobar hecho no existente
            if (consultarAntecendente(hecho.id_hecho))
            {
                return(false);
            }
            DatosHechos datos_hecho = new DatosHechos()
            {
                id_hecho          = hecho.id_hecho,
                nombre_hecho      = "" + hecho,
                estado_hecho      = false,
                hecho_establecido = false
            };

            antecedentes.Add(datos_hecho);
            return(true);
        }
Example #6
0
        /// <summary>
        /// Método que cambia el estado del hecho en la regla ya sea en antecedente o consecuente
        /// </summary>
        /// <param name="id_hecho">id del Hecho a modificar</param>
        /// <param name="estado_hecho">Estado del hecho</param>
        public void cambiarEstadoHecho(string id_hecho, bool estado_hecho)
        {
            if (consecuente.id_hecho.Equals(id_hecho))
            {
                consecuente.estado_hecho      = estado_hecho;
                consecuente.hecho_establecido = true;
                return;
            }

            for (int i = 0; i < antecedentes.Count; i++)
            {
                DatosHechos aux = (DatosHechos)antecedentes[i];
                if (aux.id_hecho.Equals(id_hecho))
                {
                    aux.estado_hecho      = estado_hecho;
                    aux.hecho_establecido = true;
                    antecedentes[i]       = aux;
                    return;
                }
            }
        }
Example #7
0
 /// <summary>
 /// Método que elimina el hecho consecuente de la regla
 /// </summary>
 public void eliminarConsecuente()
 {
     consecuente = new DatosHechos();
 }