/// <summary>
        /// Create the html required to make a link for a callstack line for a Bugg.
        /// </summary>
        /// <param name="Helper">The Url helper object.</param>
        /// <param name="CallStack">A line of callstack to make a link for.</param>
        /// <param name="Model">The view model for the current page.</param>
        /// <returns>A string suitable for MVC to render.</returns>
        public static MvcHtmlString CallStackSearchLink( this UrlHelper Helper, string CallStack, BuggsViewModel Model )
        {
            StringBuilder Result = new StringBuilder();
            TagBuilder Tag = new TagBuilder( "a" );

            string URL = Helper.Action( "Index", new {
                                                        controller = "Buggs",
                                                        SortTerm = Model.Term,
                                                        SortOrder = Model.Order,
                                                        UserGroup = Model.UserGroup,
                                                        SearchQuery = CallStack,
                                                        DateFrom = Model.DateFrom,
                                                        DateTo = Model.DateTo
                                                    } );

            Tag.MergeAttribute( "href", URL );
            Tag.InnerHtml = CallStack;
            Result.AppendLine( Tag.ToString() );

            return MvcHtmlString.Create( Result.ToString() );
        }
        /// <summary>
        /// Create the html required to create the links for table headers to control the sorting of Buggs.
        /// </summary>
        /// <param name="Helper">The Url helper object.</param>
        /// <param name="HeaderName">The table column header name.</param>
        /// <param name="SortTerm">The sort term to use when sorting by this column.</param>
        /// <param name="Model">The view model for the current page.</param>
        /// <returns>A string suitable for MVC to render.</returns>
        public static MvcHtmlString TableHeader( this UrlHelper Helper, string HeaderName, string SortTerm, BuggsViewModel Model )
        {
            StringBuilder Result = new StringBuilder();
            TagBuilder Tag = new TagBuilder( "a" ); // Construct an <a> Tag

            string URL = Helper.Action( "Index", new {
                                                        controller = "Buggs",
                                                        Page = Model.PagingInfo.CurrentPage,
                                                        SortTerm = SortTerm,
                                                        PreviousOrder = Model.Order,
                                                        PreviousTerm = Model.Term,
                                                        UserGroup = Model.UserGroup,
                                                        SearchQuery = Model.Query,
                                                        DateFrom = Model.DateFrom,
                                                        DateTo = Model.DateTo
                                                    } );

            Tag.MergeAttribute( "href", URL );
            string SortArrow = "";
            if( Model.Term == SortTerm )
            {
                if( Model.Order == "Descending" )
                {
                    SortArrow = "<img border=0 src='../../Content/Images/SortDescending.png' />";
                }
                else
                {
                    SortArrow = "<img border=0 src='../../Content/Images/SortAscending.png' />";
                }
            }
            else
            {
                SortArrow = "<img border=0 src='../../Content/Images/SortPlaceHolder.png' />";
            }

            Tag.InnerHtml = "<span>" + HeaderName + "&nbsp;" + SortArrow + "</span>";
            Result.AppendLine( Tag.ToString() );

            return MvcHtmlString.Create( Result.ToString() );
        }
Example #3
0
		/// <summary>
		/// Create the html required to change the current user group to filter Buggs by.
		/// </summary>
		/// <param name="Helper">The Url helper object.</param>
		/// <param name="UserGroup">The user group to generate a link for.</param>
		/// <param name="Model">The view model for the current page.</param>
		/// <returns>A string suitable for MVC to render.</returns>
		public static MvcHtmlString UserGroupLink( this UrlHelper Helper, string UserGroup, BuggsViewModel Model )
		{
			StringBuilder Result = new StringBuilder();
			TagBuilder Tag = new TagBuilder( "a" );

			string URL = Helper.Action( "Index", new { 
														controller = "Buggs",
														SortTerm = Model.SortTerm,
														SortOrder = Model.SortOrder,
														UserGroup = UserGroup,
														SearchQuery = Model.SearchQuery,
														DateFrom = Model.DateFrom,
														DateTo = Model.DateTo,
														BuildVersion = Model.BuildVersion,
														CrashType = Model.CrashType,
													} );

			Tag.MergeAttribute( "href", URL );
			Tag.InnerHtml = UserGroup;
			Result.AppendLine( Tag.ToString() );

			return MvcHtmlString.Create( Result.ToString() );
		}