public override string ToString()
        {
            StringBuilder __sb    = new StringBuilder("THSdkAuthResponse(");
            bool          __first = true;

            if (SessionId != null && __isset.sessionId)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("SessionId: ");
                __sb.Append(SessionId);
            }
            if (User != null && __isset.user)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("User: "******"<null>" : User.ToString());
            }
            if (__isset.serverTime)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("ServerTime: ");
                __sb.Append(ServerTime);
            }
            if (AppPlatformProperties != null && __isset.appPlatformProperties)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("AppPlatformProperties: ");
                __sb.Append(AppPlatformProperties == null ? "<null>" : AppPlatformProperties.ToString());
            }
            if (__isset.firstSession)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("FirstSession: ");
                __sb.Append(FirstSession);
            }
            if (ApplicationInfo != null && __isset.applicationInfo)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("ApplicationInfo: ");
                __sb.Append(ApplicationInfo == null ? "<null>" : ApplicationInfo.ToString());
            }
            if (UploadEndpoint != null && __isset.uploadEndpoint)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("UploadEndpoint: ");
                __sb.Append(UploadEndpoint);
            }
            if (UploadChunkSize != null && __isset.uploadChunkSize)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("UploadChunkSize: ");
                __sb.Append(UploadChunkSize == null ? "<null>" : UploadChunkSize.ToString());
            }
            if (__isset.uploadFileSizeLimit)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("UploadFileSizeLimit: ");
                __sb.Append(UploadFileSizeLimit);
            }
            if (DeviceId != null && __isset.deviceId)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("DeviceId: ");
                __sb.Append(DeviceId);
            }
            __sb.Append(")");
            return(__sb.ToString());
        }
 public void Write(TProtocol oprot)
 {
     oprot.IncrementRecursionDepth();
     try
     {
         TStruct struc = new TStruct("THSdkAuthResponse");
         oprot.WriteStructBegin(struc);
         TField field = new TField();
         if (SessionId != null && __isset.sessionId)
         {
             field.Name = "sessionId";
             field.Type = TType.String;
             field.ID   = 1;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(SessionId);
             oprot.WriteFieldEnd();
         }
         if (User != null && __isset.user)
         {
             field.Name = "user";
             field.Type = TType.Struct;
             field.ID   = 2;
             oprot.WriteFieldBegin(field);
             User.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (__isset.serverTime)
         {
             field.Name = "serverTime";
             field.Type = TType.I64;
             field.ID   = 3;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(ServerTime);
             oprot.WriteFieldEnd();
         }
         if (AppPlatformProperties != null && __isset.appPlatformProperties)
         {
             field.Name = "appPlatformProperties";
             field.Type = TType.Struct;
             field.ID   = 4;
             oprot.WriteFieldBegin(field);
             AppPlatformProperties.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (__isset.firstSession)
         {
             field.Name = "firstSession";
             field.Type = TType.Bool;
             field.ID   = 5;
             oprot.WriteFieldBegin(field);
             oprot.WriteBool(FirstSession);
             oprot.WriteFieldEnd();
         }
         if (ApplicationInfo != null && __isset.applicationInfo)
         {
             field.Name = "applicationInfo";
             field.Type = TType.Struct;
             field.ID   = 6;
             oprot.WriteFieldBegin(field);
             ApplicationInfo.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (UploadEndpoint != null && __isset.uploadEndpoint)
         {
             field.Name = "uploadEndpoint";
             field.Type = TType.String;
             field.ID   = 7;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(UploadEndpoint);
             oprot.WriteFieldEnd();
         }
         if (UploadChunkSize != null && __isset.uploadChunkSize)
         {
             field.Name = "uploadChunkSize";
             field.Type = TType.Struct;
             field.ID   = 8;
             oprot.WriteFieldBegin(field);
             UploadChunkSize.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (__isset.uploadFileSizeLimit)
         {
             field.Name = "uploadFileSizeLimit";
             field.Type = TType.I64;
             field.ID   = 9;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(UploadFileSizeLimit);
             oprot.WriteFieldEnd();
         }
         if (DeviceId != null && __isset.deviceId)
         {
             field.Name = "deviceId";
             field.Type = TType.String;
             field.ID   = 10;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(DeviceId);
             oprot.WriteFieldEnd();
         }
         oprot.WriteFieldStop();
         oprot.WriteStructEnd();
     }
     finally
     {
         oprot.DecrementRecursionDepth();
     }
 }