Address.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. namespace InABox.Core
  2. {
  3. public class Address : EnclosedEntity, IPersistent, IRemotable
  4. {
  5. [EditorSequence(1)]
  6. [MemoEditor]
  7. public string Street { get; set; } = "";
  8. [EditorSequence(2)]
  9. [TextBoxEditor]
  10. public string City { get; set; } = "";
  11. [EditorSequence(3)]
  12. [ComboLookupEditor(typeof(StateLookups))]
  13. public string State { get; set; } = "";
  14. [EditorSequence(4)]
  15. [CodeEditor(Editable = Editable.Enabled)]
  16. public string PostCode { get; set; } = "";
  17. [NullEditor]
  18. public Location Location { get; set; }
  19. private class StateLookups : LookupGenerator<object>
  20. {
  21. public StateLookups(object[] items) : base(items)
  22. {
  23. AddValue("Australian Capital Territory", "Australian Capital Territory");
  24. AddValue("New South Wales", "New South Wales");
  25. AddValue("Northern Territory", "Northern Territory");
  26. AddValue("Queensland", "Queensland");
  27. AddValue("South Australia", "South Australia");
  28. AddValue("Tasmania", "Tasmania");
  29. AddValue("Victoria", "Victoria");
  30. AddValue("Western Australia", "Western Australia");
  31. }
  32. }
  33. public void CopyFrom(Address address)
  34. {
  35. Street = address.Street;
  36. City = address.City;
  37. State = address.State;
  38. PostCode = address.PostCode;
  39. Location.CopyFrom(address.Location);
  40. }
  41. }
  42. }