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();
}