private IDyntaxaRevisionReferenceRelation GetDyntaxaRevisionReferenceRelation(
            IUserContext userContext,
            WebDyntaxaRevisionReferenceRelation webDyntaxaRevisionReferenceRelation)
        {
            // Vi kanske borde skapa en Factory istället?
            // DyntaxaRevisionReferenceRelation.Create(...)
            DyntaxaRevisionReferenceRelation referenceRelation = null;

            if (webDyntaxaRevisionReferenceRelation.IsNotNull())
            {
                referenceRelation = new DyntaxaRevisionReferenceRelation();
                UpdateDyntaxaRevisionReferenceRelation(userContext, referenceRelation, webDyntaxaRevisionReferenceRelation);
            }

            return(referenceRelation);
        }
        private void UpdateDyntaxaRevisionReferenceRelation(IUserContext userContext, DyntaxaRevisionReferenceRelation referenceRelation, WebDyntaxaRevisionReferenceRelation webReferenceRelation)
        {
            if (webReferenceRelation.IsNull())
            {
                return;
            }
            referenceRelation.Id          = webReferenceRelation.Id;
            referenceRelation.CreatedBy   = webReferenceRelation.CreatedBy;
            referenceRelation.CreatedDate = webReferenceRelation.CreatedDate;
            referenceRelation.DataContext = GetDataContext(userContext);

            if (webReferenceRelation.IsChangedInRevisionEventIdSpecified)
            {
                referenceRelation.ChangedInRevisionEventId = webReferenceRelation.ChangedInRevisionEventId;
            }
            else
            {
                referenceRelation.ChangedInRevisionEventId = null;
            }

            referenceRelation.RevisionEventId     = webReferenceRelation.RevisionEventId;
            referenceRelation.IsPublished         = webReferenceRelation.IsPublished;
            referenceRelation.ModifiedBy          = webReferenceRelation.ModifiedBy;
            referenceRelation.ModifiedDate        = webReferenceRelation.ModifiedDate;
            referenceRelation.RevisionId          = webReferenceRelation.RevisionId;
            referenceRelation.OldReferenceType    = webReferenceRelation.OldReferenceType;
            referenceRelation.RelatedObjectGUID   = webReferenceRelation.RelatedObjectGUID;
            referenceRelation.ReferenceType       = webReferenceRelation.ReferenceType;
            referenceRelation.ReferenceRelationId = webReferenceRelation.ReferenceRelationId;
            referenceRelation.ReferenceId         = webReferenceRelation.ReferenceId;

            switch (webReferenceRelation.Action)
            {
            case ReferenceEditActionStringAdd:
                referenceRelation.Action = ReferenceRelationEditAction.Add;
                break;

            case ReferenceEditActionStringDelete:
                referenceRelation.Action = ReferenceRelationEditAction.Delete;
                break;

            case ReferenceEditActionStringModify:
                referenceRelation.Action = ReferenceRelationEditAction.Modify;
                break;

            default:
                referenceRelation.Action = ReferenceRelationEditAction.Unknown;
                break;
            }
        }