internal InvitationInfo InvitationInfo(DataRow row)
 {
     return new InvitationInfo
     {
         Id = row.ReadInt("invitation"),
         ObjectType = row.ReadNullableTrimmedString("objecttype"),
         ObjectId = row.ReadInt("objectid"),
         ObjectName = row.ReadNullableTrimmedString("objectname"),
         Language = row.ReadNullableTrimmedString("lang"),
         Data = row.ReadNullableTrimmedString("data"),
         CreateDate = row.ReadDateTime("createdate"),
         AccessCode = row.ReadNullableTrimmedString("accesscode"),
         AccessCodeExpired = row.ReadNullableDateTime("accesscodeexpdate"),
         CompleteDate = row.ReadNullableDateTime("completedate"),
         Verified = row.ReadBoolean("verified"),
         ShareCode = row.ReadNullableTrimmedString("sharecode"),
         IsSurveyed = row.ReadBoolean("is_surveyed"),
         IsExpired = row.ReadBoolean("is_expired"),
         CanSurvey = row.ReadBoolean("can_survey"),
         IsShared = row.ReadBoolean("is_shared"),
         CanShare = row.ReadBoolean("can_share")
     };
 }
 internal ExcursionInvitation ExcursionInvitation(DataRow row)
 {
     return new ExcursionInvitation
     {
         AccessCode = row.ReadNullableTrimmedString("accesscode"),
         ExpareDate = row.ReadNullableDateTime("accesscodeexpdate")
     };
 }