private void BindRefTable(CustomTypeCode _FieldType) { if (_FieldType == CustomTypeCode.AppEnum) { var appenums = AppEnums.GetAppEnumsList(); cbRefTable.ItemsSource = appenums; layoutRefTable.Visibility = Visibility.Visible; liMultiline.Visibility = Visibility.Collapsed; liMultiSelection.Visibility = Visibility.Collapsed; } else if ((_FieldType == CustomTypeCode.String)) { var referenceTables = new List <string>(200); var userTables = api.CompanyEntity.UserTables; if (userTables != null) { foreach (var tbl in userTables) { if (tbl._HasPrimaryKey) { referenceTables.Add(tbl._Name); } } } foreach (Type tabletype in Global.GetStandardRefTables()) { referenceTables.Add(tabletype.Name); } cbRefTable.ItemsSource = referenceTables; layoutRefTable.Visibility = Visibility.Visible; liMultiline.Visibility = Visibility.Visible; liMultiSelection.Visibility = Visibility.Collapsed; } else if ((_FieldType == CustomTypeCode.Double) || (_FieldType == CustomTypeCode.Single) || (_FieldType == CustomTypeCode.Money)) { liMath.Visibility = Visibility.Visible; layoutRefTable.Visibility = Visibility.Collapsed; liMultiline.Visibility = Visibility.Collapsed; liMultiSelection.Visibility = Visibility.Collapsed; } else if (_FieldType == CustomTypeCode.Enum) { liMath.Visibility = Visibility.Collapsed; layoutRefTable.Visibility = Visibility.Collapsed; liMultiline.Visibility = Visibility.Collapsed; liMultiSelection.Visibility = Visibility.Visible; } else { liMath.Visibility = Visibility.Collapsed; layoutRefTable.Visibility = Visibility.Collapsed; liMultiline.Visibility = Visibility.Collapsed; liMultiSelection.Visibility = Visibility.Collapsed; } }
/// <summary> /// Registers a <see cref="CustomTypeCode"/> on the protocol /// </summary> /// <param name="typeCode"></param> public static void RegisterType(CustomTypeCode typeCode) { switch (typeCode) { case CustomTypeCode.Guid: Protocol.TryRegisterCustomType(typeof(Guid), (byte)CustomTypeCode.Guid, GlobalSerializerMethods.SerializeGuid, GlobalSerializerMethods.DeserializeGuid); break; case CustomTypeCode.CharacterStructure: Protocol.TryRegisterCustomType(typeof(CharacterStructure), (byte)CustomTypeCode.CharacterStructure, GlobalSerializerMethods.SerializeCharacterStructure, GlobalSerializerMethods.DeserializeCharacterStructure); break; case CustomTypeCode.ItemStructure: Protocol.TryRegisterCustomType(typeof(ItemStructure), (byte)CustomTypeCode.ItemStructure, GlobalSerializerMethods.SerializeItemStructure, GlobalSerializerMethods.DeserializeItemStructure); break; case CustomTypeCode.ContainerItemStructure: Protocol.TryRegisterCustomType(typeof(ContainerItemStructure), (byte)CustomTypeCode.ContainerItemStructure, GlobalSerializerMethods.SerializeContainerItemStructure, GlobalSerializerMethods.DeserializeContainerItemStructure); break; case CustomTypeCode.ActionItemStructure: Protocol.TryRegisterCustomType(typeof(ActionItemStructure), (byte)CustomTypeCode.ActionItemStructure, GlobalSerializerMethods.SerializeActionItemStructure, GlobalSerializerMethods.DeserializeActionItemStructure); break; case CustomTypeCode.SlotItemStructure: Protocol.TryRegisterCustomType(typeof(SlotItemStructure), (byte)CustomTypeCode.SlotItemStructure, GlobalSerializerMethods.SerializeSlotItemStructure, GlobalSerializerMethods.DeserializeSlotItemStructure); break; case CustomTypeCode.MenuItemStructure: Protocol.TryRegisterCustomType(typeof(MenuItemStructure), (byte)CustomTypeCode.MenuItemStructure, GlobalSerializerMethods.SerializeMenuItemStructure, GlobalSerializerMethods.DeserializeMenuItemStructure); break; case CustomTypeCode.ActiveQuestStructure: Protocol.TryRegisterCustomType(typeof(ActiveQuestStructure), (byte)CustomTypeCode.ActiveQuestStructure, GlobalSerializerMethods.SerializeActiveQuestStructure, GlobalSerializerMethods.DeserializeActiveQuestStructure); break; case CustomTypeCode.QuestProgressStructure: Protocol.TryRegisterCustomType(typeof(QuestProgressStructure), (byte)CustomTypeCode.QuestProgressStructure, GlobalSerializerMethods.SerializeQuestProgressStructure, GlobalSerializerMethods.DeserializeQuestProgressStructure); break; case CustomTypeCode.GroupStructure: Protocol.TryRegisterCustomType(typeof(GroupStructure), (byte)CustomTypeCode.GroupStructure, GlobalSerializerMethods.SerializeGroupStructure, GlobalSerializerMethods.DeserializeGroupStructure); break; case CustomTypeCode.GroupMemberStructure: Protocol.TryRegisterCustomType(typeof(GroupMemberStructure), (byte)CustomTypeCode.GroupMemberStructure, GlobalSerializerMethods.SerializeGroupMemberStructure, GlobalSerializerMethods.DeserializeGroupMemberStructure); break; case CustomTypeCode.ProfileStructure: Protocol.TryRegisterCustomType(typeof(ProfileStructure), (byte)CustomTypeCode.ProfileStructure, GlobalSerializerMethods.SerializeProfileStructure, GlobalSerializerMethods.DeserializeProfileStructure); break; } }