[longomatch/redesign3: 65/156] Document sub-categories



commit 81ba897eff6e8c198ac54cdc6b5ea640797ed3fe
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Mon Jan 31 20:53:11 2011 +0100

    Document sub-categories

 LongoMatch/Store/SubCategory.cs |   47 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)
---
diff --git a/LongoMatch/Store/SubCategory.cs b/LongoMatch/Store/SubCategory.cs
index 267cea9..0df0da9 100644
--- a/LongoMatch/Store/SubCategory.cs
+++ b/LongoMatch/Store/SubCategory.cs
@@ -21,6 +21,20 @@ using LongoMatch.Common;
 
 namespace LongoMatch.Store
 {
+	/// <summary>
+	/// A sub category is used to extend the tags of a category.
+	/// In a complex analysis scenario, a category is not enough to tag 
+	/// a play and we need to use subcategories. For example we might want to 
+	/// tag the type of goal, who scored, who did the passs and for which team.
+	///   * Goal
+	///     - Type: [Short Corner, Corner, Penalty, Penalty Corner, Field Goal]
+	///     - Scorer: Players List
+	///     - Assister: Players List
+	///     - Team: [Local Team, Visitor Team]
+	/// 
+	/// A sub category with name Type and a list of options will be added to the 
+	/// Goal category to extends its tags. 
+	/// </summary>
 	public class SubCategory
 	{
 		public SubCategory (){
@@ -35,11 +49,27 @@ namespace LongoMatch.Store
 			set;
 		}
 		
+		/// <summary>
+		/// List of available options for the subcategory
+		/// </summary>
 		public List<object> Options {
 			get;
 			set;
 		}
 		
+		/// <summary>
+		/// Wheter this subcategory allow multiple options.
+		/// eg: Team will only allow one option, because a goal can't be scored by 2 teams
+		/// </summary>
+		public bool AllowMultiple {
+			get;
+			set;
+		}
+		
+		/// <summary>
+		/// Whether this SubCategory should be added to the tagging widget shown after
+		/// creating a new play. 
+		/// </summary>
 		public bool FastTag {
 			get;
 			set;
@@ -58,24 +88,41 @@ namespace LongoMatch.Store
 		}
 	}
 	
+	/// <summary>
+	/// SubCategory to tag Players
+	/// </summary>
 	public class PlayerSubCategory: SubCategory
 	{
 		public PlayerSubCategory (){
 			Options = new List<Team>();
 		}
 		
+		/// <summary>
+		/// A list of options containing the teams to be shown in the options.
+		/// The teams LOCAL, VISITOR will be then mapped to a list of players
+		/// for this team, so that a change in the team's templates will not
+		/// affect the list of available players.
+		/// </summary>
 		public new List<Team> Options {
 			get;
 			set;
 		}
 	}
 	
+	/// <summary>
+	/// SubCategory to tag teams
+	/// </summary>
 	public class TeamSubCategory: SubCategory
 	{
 		public TeamSubCategory (){
 			Options = new List<Team>();
 		}
 		
+		/// <summary>
+		/// A list of options containing the teams to be shown in the options.
+		/// The teams LOCAL, VISITOR and NONE are then mapped to real team names
+		/// so that a change in the name doesn't affect the category.
+		/// </summary>
 		public new List<Team> Options {
 			get;
 			set;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]