public override bool Equals(Object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }
            Sentimiento unSentimiento = (Sentimiento)obj;

            return((Nombre.Equals(unSentimiento.Nombre)) &&
                   ((TipoDeSentimiento.Equals(unSentimiento.TipoDeSentimiento))));
        }
 private bool EsSentimientoRepetido(Sentimiento unSentimiento)
 {
     foreach (Sentimiento otroSentimiento in GetListaSentimientos())
     {
         if (unSentimiento.Nombre.Contains(otroSentimiento.Nombre)
             | otroSentimiento.Nombre.Contains(unSentimiento.Nombre))
         {
             return(true);
         }
     }
     return(false);
 }
        public void RegistrarSentimiento(string unNombreSentimiento, TipoSentimiento unTipo)
        {
            unNombreSentimiento = unNombreSentimiento.ToLower();
            if (unNombreSentimiento.Length == 0)
            {
                throw new ArgumentOutOfRangeException("El sentimiento esta vacio");
            }
            Sentimiento unSentimiento = new Sentimiento(unNombreSentimiento, unTipo);

            if (EsSentimientoRepetido(unSentimiento))
            {
                throw new ArgumentOutOfRangeException("El sentimiento ya existe");
            }
            AgregarSentimiento(unSentimiento);
            Trace.WriteLine("Se crea el Sentimiento con nombre " + unSentimiento.Nombre + " y tipo "
                            + unSentimiento.TipoDeSentimiento);
        }
        public void EliminarSentimiento(string unNombreSentimiento, TipoSentimiento unTipo)
        {
            unNombreSentimiento = unNombreSentimiento.ToLower();
            if (unNombreSentimiento.Length == 0)
            {
                throw new ArgumentOutOfRangeException("El sentimiento esta vacio");
            }
            Sentimiento unSentimiento = new Sentimiento(unNombreSentimiento, unTipo);

            if (GetListaSentimientos().Contains(unSentimiento))
            {
                this.accesoDatos.EliminarSentimiento(unNombreSentimiento, unTipo);
                Trace.WriteLine("Se elimina el Sentimiento con nombre " + unSentimiento.Nombre + " y tipo "
                                + unSentimiento.TipoDeSentimiento);
            }
            else
            {
                throw new ArgumentOutOfRangeException("El sentimiento no existe.");
            }
        }
 private void AgregarSentimiento(Sentimiento unSentimiento)
 {
     this.accesoDatos.AgregarSentimiento(unSentimiento);
 }