The PhotoMethods class contains the methods requried for making calls to the API related to photos.
        /// <summary>
        /// <para>
        /// Performs the Photo Method:
        /// Upload a photo.
        /// </para><para>
        /// Serializes the given PhotoUploadRequest into xml and sends the message.
        /// Loads the file and converts it to the appropriate data format for the request - it does not require the "PhotoData" field of the PhotoUploadRequest object to have anything in it.
        ///  </para>
        /// </summary>
        /// <param name="up">The object that will be serialized into xml and then sent in a POST message.</param>
        /// <returns>XDocument.</returns>
        public XDocument UploadPhotoFormat(PhotoUploadRequest up)
        {
            if (_photo == null)
            {
                _photo = new PhotoMethods(_connection);
            }

            return _photo.UploadPhotoFormat(up);
        }
        /// <summary>
        /// <para>Performs the Photo Method:
        /// Adds a photo to an auction. The currently authenticated user must be the seller.Remove a photo.
        /// </para>
        /// REQUIRES AUTHENTICATION.
        /// </summary>
        /// <param name="photoId">The id of the photo to add.</param>
        /// /// <param name="listingId">The ID of the listing to add the photo to.</param>
        /// <returns>XDocument: PhotoResponse.</returns>
        public XDocument AddPhotoToListing(string photoId, string listingId)
        {
            if (_photo == null)
            {
                _photo = new PhotoMethods(_connection);
            }

            return _photo.AddPhotoToListing(photoId, listingId);
        }
        /// <summary>
        /// Performs the Photo Method:
        /// Retrieve a list of member photos.
        /// <para>
        /// Creates a query string and performs the request.
        /// </para><para>
        /// REQUIRES AUTHENTICATION.</para>
        /// </summary>
        /// <returns>MemberPhotos.</returns>
        public MemberPhotos MemberPhotos()
        {
            if (_photo == null)
            {
                _photo = new PhotoMethods(_connection);
            }

            return _photo.MemberPhotos();
        }
        /// <summary>
        /// <para>Performs the Photo Method:
        /// Remove a photo.
        /// </para><para>
        /// Creates a query string using the photo id provided.
        /// </para>
        /// REQUIRES AUTHENTICATION.
        /// </summary>
        /// <param name="photoId">The id of the photo to be removed.</param>
        /// <returns>RemovePhoto.</returns>
        public string RemovePhoto(string photoId)
        {
            if (_photo == null)
            {
                _photo = new PhotoMethods(_connection);
            }

            return _photo.RemovePhoto(photoId);
        }
        // Photo Methods:
        /// <summary>
        /// <para>Performs the Photo Method:
        /// Retrieve a list of member photos
        /// </para><para>
        /// using the "query" string provided - should be the  "Photos.xml" part of the url.
        /// It shouldn't include "http://api.trademe.co.nz/v1/".
        /// </para>
        /// REQUIRES AUTHENTICATION.
        /// </summary>
        /// <param name="query">The query string that will be added to the base url and used to connect to the API.</param>
        /// <returns>MemberPhotos.</returns>
        public MemberPhotos MemberPhotos(string query)
        {
            if (_photo == null)
            {
                _photo = new PhotoMethods(_connection);
            }

            return _photo.MemberPhotos(query);
        }