public void Write(TProtocol oprot) {
TStruct struc = new TStruct("Message");
oprot.WriteStructBegin(struc);
TField field = new TField();
if (From != null && __isset.from) {
field.Name = "from";
field.Type = TType.String;
field.ID = 1;
oprot.WriteFieldBegin(field);
oprot.WriteString(From);
oprot.WriteFieldEnd();
}
if (To != null && __isset.to) {
field.Name = "to";
field.Type = TType.String;
field.ID = 2;
oprot.WriteFieldBegin(field);
oprot.WriteString(To);
oprot.WriteFieldEnd();
}
if (__isset.toType) {
field.Name = "toType";
field.Type = TType.I32;
field.ID = 3;
oprot.WriteFieldBegin(field);
oprot.WriteI32((int)ToType);
oprot.WriteFieldEnd();
}
if (Id != null && __isset.id) {
field.Name = "id";
field.Type = TType.String;
field.ID = 4;
oprot.WriteFieldBegin(field);
oprot.WriteString(Id);
oprot.WriteFieldEnd();
}
if (__isset.createdTime) {
field.Name = "createdTime";
field.Type = TType.I64;
field.ID = 5;
oprot.WriteFieldBegin(field);
oprot.WriteI64(CreatedTime);
oprot.WriteFieldEnd();
}
if (__isset.deliveredTime) {
field.Name = "deliveredTime";
field.Type = TType.I64;
field.ID = 6;
oprot.WriteFieldBegin(field);
oprot.WriteI64(DeliveredTime);
oprot.WriteFieldEnd();
}
if (Text != null && __isset.text) {
field.Name = "text";
field.Type = TType.String;
field.ID = 10;
oprot.WriteFieldBegin(field);
oprot.WriteString(Text);
oprot.WriteFieldEnd();
}
if (Location != null && __isset.location) {
field.Name = "location";
field.Type = TType.Struct;
field.ID = 11;
oprot.WriteFieldBegin(field);
Location.Write(oprot);
oprot.WriteFieldEnd();
}
if (__isset.hasContent) {
field.Name = "hasContent";
field.Type = TType.Bool;
field.ID = 14;
oprot.WriteFieldBegin(field);
oprot.WriteBool(HasContent);
oprot.WriteFieldEnd();
}
if (__isset.contentType) {
field.Name = "contentType";
field.Type = TType.I32;
field.ID = 15;
oprot.WriteFieldBegin(field);
oprot.WriteI32((int)ContentType);
oprot.WriteFieldEnd();
}
if (ContentPreview != null && __isset.contentPreview) {
field.Name = "contentPreview";
field.Type = TType.String;
field.ID = 17;
oprot.WriteFieldBegin(field);
oprot.WriteBinary(ContentPreview);
oprot.WriteFieldEnd();
}
if (ContentMetadata != null && __isset.contentMetadata) {
field.Name = "contentMetadata";
field.Type = TType.Map;
field.ID = 18;
oprot.WriteFieldBegin(field);
{
oprot.WriteMapBegin(new TMap(TType.String, TType.String, ContentMetadata.Count));
foreach (string _iter28 in ContentMetadata.Keys)
{
oprot.WriteString(_iter28);
oprot.WriteString(ContentMetadata[_iter28]);
}
oprot.WriteMapEnd();
}
oprot.WriteFieldEnd();
}
oprot.WriteFieldStop();
oprot.WriteStructEnd();
}