public void OnChoiceIndexChange( Choice choice, int newIndex )
        {
            _choices.RemoveAt( choice.Index );
            _choices.Insert( newIndex, choice );

            this.CacheIndexes();
        }
 public void AddANewAnswer( Choice choice )
 {
     QMultipleChoice m = (QMultipleChoice)Question;
     if( m.Choices.Contains( choice ) )
     {
         if( _choices.Count < m.Max ) _choices.Add( choice );
         else throw new ApplicationException( "Could not add this choice : limit attempt" );
     }
     else throw new ApplicationException( "Could not add this choice : it's not a question's choice" );
 }
 public void AddANewChoice( string name, string value )
 {
     Choice c = new Choice { Name = name, Value = value, Parent = this };
     _choices.Add( c );
     c.SetIndex( _choices.Count - 1 );
 }