public override void Add(Aspetto aspetto, int value)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            if (!AspettiValori.IsValueValid(value))
                throw new ArgumentException("!AspettiValori.IsValueValid(value)");
            if (this._aspettiValori == _emptyAspettiValori)
                this._aspettiValori = new Dictionary<Aspetto, int>();

            // un utente non può inserire nuovi aspetti nel sistema
            if (!Document.GetInstance().Aspetti.Contains(aspetto))
                throw new ArgumentException("!Model.getInstance().Aspetti.Contains(aspetto)");
            #endregion

            try
            {
                this._aspettiValori.Add(aspetto, value);
            }
            catch (ArgumentException)
            {
                // TODO maH
                throw new ArgumentException("this._aspettiValori.Add(aspetto, value) aspetto deve essere unico!");
            }

            // aggiorno reference counting
            Document.GetInstance().Aspetti.Add(aspetto);
        }
        // inserisce un aspetto nel dizionario.
        // se non è gia presente lo aggiunge con contatore = 1
        // se è gia presente incrementa il suo contatore di 1
        public void Add(Aspetto aspetto)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            #endregion

            if (_aspettiReferenceCount.ContainsKey(aspetto))
                _aspettiReferenceCount[aspetto]++;
            else
                _aspettiReferenceCount.Add(aspetto, 1);
        }
        public virtual void ModificaPreferenza(Aspetto aspetto, int valutazione)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            if (!AspettiValori.IsValueValid(valutazione))
                throw new ArgumentException("!AspettiValori.IsValueValid(valutazione)");
            #endregion

            _preferenze.ModificaValutazione(aspetto, valutazione);

            OnChanged();
        }
        public void ModificaValutazione(Aspetto aspetto, int valutazione)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            if(!AspettiValori.IsValueValid(valutazione))
                throw new ArgumentException("!AspettiValori.IsValueValid(value)");
            #endregion

            if (this._aspettiValori == _emptyAspettiValori)
                return;

            if (this._aspettiValori.ContainsKey(aspetto))
                this._aspettiValori[aspetto] = valutazione;
        }
        public void Remove(Aspetto aspetto)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            #endregion

            if (_aspettiReferenceCount.ContainsKey(aspetto))
                _aspettiReferenceCount[aspetto]--;
            else
                throw new ArgumentException("_aspettiReferenceCount.ContainsKey(aspetto)");

            if (_aspettiReferenceCount[aspetto] <= 0)
                _aspettiReferenceCount.Remove(aspetto);
        }
        public virtual void RemovePreferenza(Aspetto aspetto)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            #endregion

            _preferenze.Remove(aspetto);

            OnChanged();
        }
        public void Remove(Aspetto aspetto)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentNullException("aspetto == null");
            #endregion

            if (this._aspettiValori == _emptyAspettiValori)
                return;

            if (this._aspettiValori.ContainsKey(aspetto))
            {
                this._aspettiValori.Remove(aspetto);

                // aggiorna il reference counter degli aspetti
                Document.GetInstance().Aspetti.Remove(aspetto);
            }
        }
 public abstract void Add(Aspetto aspetto, int value);
 public AspettoValore(Aspetto aspetto, int valore)
 {
     _aspetto = aspetto;
     _valore = valore;
 }
Exemple #10
0
 public bool Contains(Aspetto aspetto)
 {
     return _aspettiReferenceCount.ContainsKey(aspetto);
 }
        public void AddAspettoValutato(Aspetto aspetto, int valutazione)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentException("aspetto == null");
            if (!AspettiValori.IsValueValid(valutazione))
                throw new ArgumentException("!AspettiValori.IsValueValid(valutazione)");
            #endregion

            _aspettiValutati.Add(aspetto, valutazione);

            OnRecensioneChanged();
        }
        public void RemoveAspettoValutato(Aspetto aspetto)
        {
            #region Precondizioni
            if (aspetto == null)
                throw new ArgumentException("aspetto == null");
            #endregion

            _aspettiValutati.Remove(aspetto);

            OnRecensioneChanged();
        }