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>
        /// 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 #3
0
        /// <summary>
        /// Método para actualizar un hecho del repositorio de datos
        /// </summary>
        /// <param name="hecho">Hecho a actualizar</param>
        public void actualizarHecho(Hecho hecho)
        {
            string id_hecho = "";

            if (hecho != null)
            {
                id_hecho = hecho.id_hecho;
            }
            if (File.Exists(ruta_carpeta_archivos + id_hecho))
            {
                using (Stream stream = File.OpenWrite(ruta_carpeta_archivos + id_hecho))
                {
                    BinaryFormatter serializer = new BinaryFormatter();
                    serializer.Serialize(stream, hecho);
                    stream.Close();
                }
            }
        }
Example #4
0
        /// <summary>
        /// Metodo Equals modificado para comparar en base a Variable, condición y valor en la condición
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public override bool Equals(object obj)
        {
            string tipo_obj = "" + obj.GetType();

            if (!tipo_obj.Equals("SistemaExpertoLib.Hecho"))
            {
                return(false);
            }
            Hecho hecho = (Hecho)obj;

            if (!this.id_variable.Equals(hecho.id_variable))
            {
                return(false);
            }
            if (this.tipo_variable != hecho.tipo_variable)
            {
                return(false);
            }
            if (!this.condicion.Equals(hecho.condicion))
            {
                return(false);
            }
            switch (this.tipo_variable)
            {
            case Variable.LISTA:
                if (!this._valor_lista_hecho.Equals(hecho.valor_lista_hecho))
                {
                    return(false);
                }
                break;

            case Variable.NUMERICO:
                if (this.valor_numerico != hecho.valor_numerico)
                {
                    return(false);
                }
                break;
            }
            return(true);
        }