/// <summary>
        /// Get all Dyntaxa Revision Reference relation items.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="revisionId"></param>
        /// <returns></returns>
        public static List <WebDyntaxaRevisionReferenceRelation> GetAllDyntaxaRevisionReferenceRelations(
            WebServiceContext context,
            int revisionId)
        {
            List <WebDyntaxaRevisionReferenceRelation> referenceRelations = new List <WebDyntaxaRevisionReferenceRelation>();

            // Get information from database.
            using (DataReader dataReader = context.GetTaxonDatabase().GetAllDyntaxaRevisionReferenceRelations(revisionId))
            {
                while (dataReader.Read())
                {
                    var referenceRelation = new WebDyntaxaRevisionReferenceRelation();
                    referenceRelation.LoadData(dataReader);
                    referenceRelations.Add(referenceRelation);
                }
            }

            return(referenceRelations);
        }
        /// <summary>
        /// Get dyntaxa revision reference relation item(s).
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="revisionId">The revision identifier.</param>
        /// <param name="relatedObjectGUID">The related object unique identifier.</param>
        /// <returns>
        /// A List of WebDyntaxaRevisionReferenceRelation if any revision steps have been
        /// made for specified (revisionId,relatedObjectGUID); otherwise null.
        /// </returns>
        public static List <WebDyntaxaRevisionReferenceRelation> GetDyntaxaRevisionReferenceRelation(
            WebServiceContext context,
            int revisionId,
            string relatedObjectGUID)
        {
            List <WebDyntaxaRevisionReferenceRelation> referenceRelations = new List <WebDyntaxaRevisionReferenceRelation>();

            // Get information from database.
            relatedObjectGUID.CheckNotEmpty("relatedObjectGUID");
            relatedObjectGUID = relatedObjectGUID.CheckInjection();
            using (DataReader dataReader = context.GetTaxonDatabase().GetDyntaxaRevisionReferenceRelation(revisionId, relatedObjectGUID))
            {
                while (dataReader.Read())
                {
                    var referenceRelation = new WebDyntaxaRevisionReferenceRelation();
                    referenceRelation.LoadData(dataReader);
                    referenceRelations.Add(referenceRelation);
                }
            }

            return(referenceRelations);
        }
        /// <summary>
        /// Gets the dyntaxa revision reference relation by identifier.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="id">The identifier.</param>
        /// <returns></returns>
        public static WebDyntaxaRevisionReferenceRelation GetDyntaxaRevisionReferenceRelationById(
            WebServiceContext context,
            int id)
        {
            WebDyntaxaRevisionReferenceRelation dyntaxaReferenceRelation;

            // Get information from database.
            using (DataReader dataReader = context.GetTaxonDatabase().GetDyntaxaRevisionReferenceRelationById(id))
            {
                if (dataReader.Read())
                {
                    dyntaxaReferenceRelation = new WebDyntaxaRevisionReferenceRelation();
                    dyntaxaReferenceRelation.LoadData(dataReader);
                }
                else
                {
                    return(null);
                }
            }

            return(dyntaxaReferenceRelation);
        }