// Actual PhotoSearch function
/// <summary>
/// Search for photos.
/// </summary>
/// <param name="userId">The ID of the user to search the photos of.</param>
/// <param name="tags">A comma seperated list of tags to search for.</param>
/// <param name="tagMode">Match all tags, or any tag.</param>
/// <param name="text">Text to search for in photo title or description.</param>
/// <param name="perPage">Number of photos to return per page.</param>
/// <param name="page">The page number to return.</param>
/// <param name="extras">Optional extras to return.</param>
/// <param name="minUploadDate">The minimum upload date.</param>
/// <param name="maxUploadDate">The maxmimum upload date.</param>
/// <param name="license">The license type to return.</param>
/// <returns>A <see cref="Photos"/> instance.</returns>
public Photos PhotosSearch(string userId, string tags, TagMode tagMode, string text, DateTime minUploadDate, DateTime maxUploadDate, int license, int perPage, int page, PhotoSearchExtras extras)
{
PhotoSearchOptions options = new PhotoSearchOptions();
options.UserId = userId;
options.Tags = tags;
options.TagMode = tagMode;
options.Text = text;
options.MinUploadDate = minUploadDate;
options.MaxUploadDate = maxUploadDate;
if( license > 0 ) options.AddLicense(license);
options.PerPage = perPage;
options.Page = page;
options.Extras = extras;
return PhotosSearch(options);
}