public async Task WriteAsync(TProtocol oprot, CancellationToken cancellationToken) { oprot.IncrementRecursionDepth(); try { var struc = new TStruct("Album"); await oprot.WriteStructBeginAsync(struc, cancellationToken); var field = new TField(); field.Name = "idAlbum"; field.Type = TType.I16; field.ID = 1; await oprot.WriteFieldBeginAsync(field, cancellationToken); await oprot.WriteI16Async(IdAlbum, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); if (Title != null && __isset.title) { field.Name = "title"; field.Type = TType.String; field.ID = 2; await oprot.WriteFieldBeginAsync(field, cancellationToken); await oprot.WriteStringAsync(Title, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (CoverPath != null && __isset.coverPath) { field.Name = "coverPath"; field.Type = TType.String; field.ID = 3; await oprot.WriteFieldBeginAsync(field, cancellationToken); await oprot.WriteStringAsync(CoverPath, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (ReleaseDate != null && __isset.releaseDate) { field.Name = "releaseDate"; field.Type = TType.Struct; field.ID = 4; await oprot.WriteFieldBeginAsync(field, cancellationToken); await ReleaseDate.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (__isset.gender) { field.Name = "gender"; field.Type = TType.I32; field.ID = 5; await oprot.WriteFieldBeginAsync(field, cancellationToken); await oprot.WriteI32Async((int)Gender, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (__isset.isSingle) { field.Name = "isSingle"; field.Type = TType.Bool; field.ID = 6; await oprot.WriteFieldBeginAsync(field, cancellationToken); await oprot.WriteBoolAsync(IsSingle, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } await oprot.WriteFieldStopAsync(cancellationToken); await oprot.WriteStructEndAsync(cancellationToken); } finally { oprot.DecrementRecursionDepth(); } }