public byte[] GetByteArray()
{
using (MemoryStream memoryStream = new MemoryStream())
{
WriteFiles.WriteInt(memoryStream, 1, (int)Action);
WriteFiles.WriteInt(memoryStream, 2, (int)UpdateStep);
for (int i = 0; i < ExtraData.Count; i++)
{
if (!string.IsNullOrEmpty(ExtraData[i]))
{
if (ExtraDataIsRTF[i])
{
memoryStream.WriteByte(128);
}
WriteFiles.WriteString(memoryStream, 3, ExtraData[i]);
}
}
if (ProcessID != 0)
{
WriteFiles.WriteInt(memoryStream, 4, ProcessID);
}
if (Progress > -1 && Progress <= 100)
{
WriteFiles.WriteInt(memoryStream, 5, Progress);
}
if (ResponseType != 0)
{
WriteFiles.WriteInt(memoryStream, 6, (int)ResponseType);
}
memoryStream.WriteByte(byte.MaxValue);
return(memoryStream.ToArray());
}
}