| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- using System;
 - using System.Collections.Generic;
 - using System.ComponentModel;
 - using System.Net.Http.Headers;
 - 
 - namespace CacheControl_test.Areas.HelpPage
 - {
 -     /// <summary>
 -     /// This is used to identify the place where the sample should be applied.
 -     /// </summary>
 -     public class HelpPageSampleKey
 -     {
 -         /// <summary>
 -         /// Creates a new <see cref="HelpPageSampleKey"/> based on media type.
 -         /// </summary>
 -         /// <param name="mediaType">The media type.</param>
 -         public HelpPageSampleKey(MediaTypeHeaderValue mediaType)
 -         {
 -             if (mediaType == null)
 -             {
 -                 throw new ArgumentNullException("mediaType");
 -             }
 - 
 -             ActionName = String.Empty;
 -             ControllerName = String.Empty;
 -             MediaType = mediaType;
 -             ParameterNames = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
 -         }
 - 
 -         /// <summary>
 -         /// Creates a new <see cref="HelpPageSampleKey"/> based on media type and CLR type.
 -         /// </summary>
 -         /// <param name="mediaType">The media type.</param>
 -         /// <param name="type">The CLR type.</param>
 -         public HelpPageSampleKey(MediaTypeHeaderValue mediaType, Type type)
 -             : this(mediaType)
 -         {
 -             if (type == null)
 -             {
 -                 throw new ArgumentNullException("type");
 -             }
 - 
 -             ParameterType = type;
 -         }
 - 
 -         /// <summary>
 -         /// Creates a new <see cref="HelpPageSampleKey"/> based on <see cref="SampleDirection"/>, controller name, action name and parameter names.
 -         /// </summary>
 -         /// <param name="sampleDirection">The <see cref="SampleDirection"/>.</param>
 -         /// <param name="controllerName">Name of the controller.</param>
 -         /// <param name="actionName">Name of the action.</param>
 -         /// <param name="parameterNames">The parameter names.</param>
 -         public HelpPageSampleKey(SampleDirection sampleDirection, string controllerName, string actionName, IEnumerable<string> parameterNames)
 -         {
 -             if (!Enum.IsDefined(typeof(SampleDirection), sampleDirection))
 -             {
 -                 throw new InvalidEnumArgumentException("sampleDirection", (int)sampleDirection, typeof(SampleDirection));
 -             }
 -             if (controllerName == null)
 -             {
 -                 throw new ArgumentNullException("controllerName");
 -             }
 -             if (actionName == null)
 -             {
 -                 throw new ArgumentNullException("actionName");
 -             }
 -             if (parameterNames == null)
 -             {
 -                 throw new ArgumentNullException("parameterNames");
 -             }
 - 
 -             ControllerName = controllerName;
 -             ActionName = actionName;
 -             ParameterNames = new HashSet<string>(parameterNames, StringComparer.OrdinalIgnoreCase);
 -             SampleDirection = sampleDirection;
 -         }
 - 
 -         /// <summary>
 -         /// Creates a new <see cref="HelpPageSampleKey"/> based on media type, <see cref="SampleDirection"/>, controller name, action name and parameter names.
 -         /// </summary>
 -         /// <param name="mediaType">The media type.</param>
 -         /// <param name="sampleDirection">The <see cref="SampleDirection"/>.</param>
 -         /// <param name="controllerName">Name of the controller.</param>
 -         /// <param name="actionName">Name of the action.</param>
 -         /// <param name="parameterNames">The parameter names.</param>
 -         public HelpPageSampleKey(MediaTypeHeaderValue mediaType, SampleDirection sampleDirection, string controllerName, string actionName, IEnumerable<string> parameterNames)
 -             : this(sampleDirection, controllerName, actionName, parameterNames)
 -         {
 -             if (mediaType == null)
 -             {
 -                 throw new ArgumentNullException("mediaType");
 -             }
 - 
 -             MediaType = mediaType;
 -         }
 - 
 -         /// <summary>
 -         /// Gets the name of the controller.
 -         /// </summary>
 -         /// <value>
 -         /// The name of the controller.
 -         /// </value>
 -         public string ControllerName { get; private set; }
 - 
 -         /// <summary>
 -         /// Gets the name of the action.
 -         /// </summary>
 -         /// <value>
 -         /// The name of the action.
 -         /// </value>
 -         public string ActionName { get; private set; }
 - 
 -         /// <summary>
 -         /// Gets the media type.
 -         /// </summary>
 -         /// <value>
 -         /// The media type.
 -         /// </value>
 -         public MediaTypeHeaderValue MediaType { get; private set; }
 - 
 -         /// <summary>
 -         /// Gets the parameter names.
 -         /// </summary>
 -         public HashSet<string> ParameterNames { get; private set; }
 - 
 -         public Type ParameterType { get; private set; }
 - 
 -         /// <summary>
 -         /// Gets the <see cref="SampleDirection"/>.
 -         /// </summary>
 -         public SampleDirection? SampleDirection { get; private set; }
 - 
 -         public override bool Equals(object obj)
 -         {
 -             HelpPageSampleKey otherKey = obj as HelpPageSampleKey;
 -             if (otherKey == null)
 -             {
 -                 return false;
 -             }
 - 
 -             return String.Equals(ControllerName, otherKey.ControllerName, StringComparison.OrdinalIgnoreCase) &&
 -                 String.Equals(ActionName, otherKey.ActionName, StringComparison.OrdinalIgnoreCase) &&
 -                 (MediaType == otherKey.MediaType || (MediaType != null && MediaType.Equals(otherKey.MediaType))) &&
 -                 ParameterType == otherKey.ParameterType &&
 -                 SampleDirection == otherKey.SampleDirection &&
 -                 ParameterNames.SetEquals(otherKey.ParameterNames);
 -         }
 - 
 -         public override int GetHashCode()
 -         {
 -             int hashCode = ControllerName.ToUpperInvariant().GetHashCode() ^ ActionName.ToUpperInvariant().GetHashCode();
 -             if (MediaType != null)
 -             {
 -                 hashCode ^= MediaType.GetHashCode();
 -             }
 -             if (SampleDirection != null)
 -             {
 -                 hashCode ^= SampleDirection.GetHashCode();
 -             }
 -             if (ParameterType != null)
 -             {
 -                 hashCode ^= ParameterType.GetHashCode();
 -             }
 -             foreach (string parameterName in ParameterNames)
 -             {
 -                 hashCode ^= parameterName.ToUpperInvariant().GetHashCode();
 -             }
 - 
 -             return hashCode;
 -         }
 -     }
 - }
 
 
  |