Web API for the bulk printing desktop application.

MessageBuilder.cs 848B

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Text;
  3. namespace MAX
  4. {
  5. public class MessageBuilder
  6. {
  7. private StringBuilder builder;
  8. public MessageBuilder()
  9. {
  10. builder = new StringBuilder(1024);
  11. builder.Append("\0\0");
  12. }
  13. public MessageBuilder Append<T>(T value)
  14. {
  15. builder.Append(value);
  16. return this;
  17. }
  18. public byte[] GetBytes()
  19. {
  20. int length = builder.Length - 2;
  21. if (length <= 0)
  22. throw new Exception("Message is too short");
  23. else if (length > 65535)
  24. throw new Exception("Message is too long");
  25. builder[0] = (char)(length / 256);
  26. builder[1] = (char)(length % 256);
  27. return Encoding.ASCII.GetBytes(builder.ToString());
  28. }
  29. }
  30. }