AODL.Document.Content.Text.Header.GetHeadingNumber C# (CSharp) Method

GetHeadingNumber() private method

Gets the heading number, if used via Outline-Level. Support for outline numbering up to deepth of 6, yet.
private GetHeadingNumber ( ) : string
return string
		private string GetHeadingNumber()
		{
			try
			{
				int outline1		= 0;
				int outline2		= 0;
				int outline3		= 0;
				int outline4		= 0;
				int outline5		= 0;
				int outline6		= 0;

				foreach(IContent content in this.Document.Content)
					if (content is Header)
						if (((Header)content).OutLineLevel != null)
						{
							int no	= Convert.ToInt32(((Header)content).OutLineLevel);
							if (no == 1)
							{
								outline1++;
								outline2	= 0;
								outline3	= 0;
								outline4	= 0;
								outline5	= 0;
								outline6	= 0;
							}
							else if (no == 2)
								outline2++;
							else if (no == 3)
								outline3++;
							else if (no == 4)
								outline4++;
							else if (no == 5)
								outline5++;
							else if (no == 6)
								outline6++;

							if (content == this)
							{
								string sNumber		= outline1.ToString()+".";
								string sNumber1		= "";
								if (outline6 != 0)
									sNumber1		= "."+outline6.ToString()+".";
								if (outline5 != 0)
									sNumber1		= sNumber1+"."+outline5.ToString()+".";
								if (outline4 != 0)
									sNumber1		= sNumber1+"."+outline4.ToString()+".";
								if (outline3 != 0)
									sNumber1		= sNumber1+"."+outline3.ToString()+".";
								if (outline2 != 0)
									sNumber1		= sNumber1+"."+outline2.ToString()+".";
								
								sNumber				+= sNumber1;

								return sNumber.Replace("..",".");
							}
						}
			}
			catch(Exception)
			{
				//unhandled, only the numbering will maybe incorrect
			}
			return "";
		}