private static void ConvertItem(object item, List <Field> fields) { System.Type type = item.GetType(); if (type == typeof(BooleanPropertyType)) { BooleanPropertyType booleanProperty = (BooleanPropertyType)item; fields.Add(new Field(booleanProperty.Name, booleanProperty.Value, FieldType.Boolean)); } else if (type == typeof(EnumPropertyType)) { //--- Note: EnumPropertyType is not converted. } else if (type == typeof(LocalizableTextPropertyType)) { LocalizableTextPropertyType localizableTextProperty = (LocalizableTextPropertyType)item; string baseFieldTitle = localizableTextProperty.Name; if (!string.IsNullOrEmpty(baseFieldTitle) && localizableTextProperty.LocalizedString != null) { foreach (var localizedStringItem in localizableTextProperty.LocalizedString) { if (string.IsNullOrEmpty(localizedStringItem.Lang)) { fields.Add(new Field(baseFieldTitle, localizedStringItem.Value, FieldType.Text)); } else { string localizedTitle = string.Format("{0} {1}", baseFieldTitle, localizedStringItem.Lang); fields.Add(new Field(localizedTitle, localizedStringItem.Value, FieldType.Localization)); } } } } else if (type == typeof(ReferenceSlotPropertyType)) { //--- Note: ReferenceSlotPropertyType type is not converted. } else if (type == typeof(NumberPropertyType)) { NumberPropertyType numberPropertyType = (NumberPropertyType)item; fields.Add(new Field(numberPropertyType.Name, numberPropertyType.Value, FieldType.Number)); } else if (type == typeof(ReferenceStripPropertyType)) { //--- Note: ReferenceStripPropertyType is not converted. } else if (type == typeof(StringPropertyType)) { StringPropertyType stringPropertyType = (StringPropertyType)item; fields.Add(new Field(stringPropertyType.Name, stringPropertyType.Value, FieldType.Text)); } }
public void TestInitialize() { _property = new PropertyLite { PropertyTypeId = DefaultInstancePropertyTypeId, NumberValue = 15.01M }; _propertyType = new NumberPropertyType { PropertyTypeId = DefaultPropertyTypeId, InstancePropertyTypeId = DefaultInstancePropertyTypeId, Range = new Range <decimal> { Start = 10, End = 20 }, DecimalPlaces = 2, IsValidate = true }; }
private static void ConvertItem(object item, List <Field> fields) { System.Type type = item.GetType(); if (type == typeof(BooleanPropertyType)) { BooleanPropertyType booleanProperty = (BooleanPropertyType)item; fields.Add(new Field(booleanProperty.Name, string.Equals(booleanProperty.Value, "1").ToString(), FieldType.Boolean)); } else if (type == typeof(EnumPropertyType)) { EnumPropertyType enumProperty = (EnumPropertyType)item; if (PixelCrushers.DialogueSystem.Articy.ArticyTools.IsQuestStateArticyPropertyName(enumProperty.Name)) { fields.Add(new Field(enumProperty.Name, PixelCrushers.DialogueSystem.Articy.ArticyTools.EnumValueToQuestState(Tools.StringToInt(enumProperty.Value), GetEnumStringValue(enumProperty.Name, Tools.StringToInt(enumProperty.Value))), FieldType.Text)); } else { var asString = _convertDropdownAsString; if (_prefs != null) { switch (_prefs.ConversionSettings.GetDropdownOverrideSetting(enumProperty.Name).mode) { case ConversionSettings.DropdownOverrideMode.Int: asString = false; break; case ConversionSettings.DropdownOverrideMode.String: asString = true; break; } } if (asString) { fields.Add(new Field(enumProperty.Name, GetEnumStringValue(enumProperty.Name, Tools.StringToInt(enumProperty.Value)), FieldType.Text)); } else { fields.Add(new Field(enumProperty.Name, enumProperty.Value, FieldType.Number)); } } } else if (type == typeof(LocalizableTextPropertyType)) { LocalizableTextPropertyType localizableTextProperty = (LocalizableTextPropertyType)item; string baseFieldTitle = localizableTextProperty.Name; if (!string.IsNullOrEmpty(baseFieldTitle) && localizableTextProperty.LocalizedString != null) { foreach (var localizedStringItem in localizableTextProperty.LocalizedString) { if (string.IsNullOrEmpty(localizedStringItem.Lang)) { fields.Add(new Field(baseFieldTitle, localizedStringItem.Value, FieldType.Text)); } else { string localizedTitle = string.Format("{0} {1}", baseFieldTitle, localizedStringItem.Lang); fields.Add(new Field(localizedTitle, localizedStringItem.Value, FieldType.Localization)); } } } } else if (type == typeof(ReferenceSlotPropertyType)) { ReferenceSlotPropertyType slotProperty = (ReferenceSlotPropertyType)item; if (_convertSlotsAs == ConverterPrefs.ConvertSlotsModes.DisplayName) { fields.Add(new Field(slotProperty.Name, GetDisplayName(slotProperty.IdRef), FieldType.Text)); } else { fields.Add(new Field(slotProperty.Name, slotProperty.IdRef, FieldType.Text)); } } else if (type == typeof(NumberPropertyType)) { NumberPropertyType numberPropertyType = (NumberPropertyType)item; fields.Add(new Field(numberPropertyType.Name, numberPropertyType.Value, FieldType.Number)); } else if (type == typeof(ReferenceStripPropertyType)) { ReferenceStripPropertyType stripPropertyType = (ReferenceStripPropertyType)item; fields.Add(new Field(ArticyTools.SubtableFieldPrefix + stripPropertyType.Name, GetStripStringValue(stripPropertyType), FieldType.Text)); } else if (type == typeof(StringPropertyType)) { StringPropertyType stringPropertyType = (StringPropertyType)item; fields.Add(new Field(stringPropertyType.Name, stringPropertyType.Value, FieldType.Text)); } }
private Dictionary <int, List <WorkflowPropertyType> > ToItemTypePropertyTypesDictionary(IEnumerable <SqlPropertyType> sqlPropertyTypes) { var dictionary = new Dictionary <int, List <WorkflowPropertyType> >(); foreach (var sqlPropertyType in sqlPropertyTypes) { WorkflowPropertyType workflowProperty; switch (sqlPropertyType.PrimitiveType) { case PropertyPrimitiveType.Text: { workflowProperty = new TextPropertyType { AllowMultiple = sqlPropertyType.AllowMultiple, DefaultValidValueId = sqlPropertyType.DefaultValidValueId, InstancePropertyTypeId = GetInstancePropertyTypeId(sqlPropertyType.InstancePropertyTypeId, sqlPropertyType.Predefined), Name = sqlPropertyType.Name, PropertyTypeId = sqlPropertyType.PropertyTypeId, PrimitiveType = sqlPropertyType.PrimitiveType, IsRequired = sqlPropertyType.Required != null && sqlPropertyType.Required.Value, StringDefaultValue = sqlPropertyType.StringDefaultValue, VersionId = sqlPropertyType.VersionId, Predefined = sqlPropertyType.Predefined, DefaultValue = sqlPropertyType.StringDefaultValue, IsValidate = sqlPropertyType.Validate.GetValueOrDefault(false), IsRichText = sqlPropertyType.IsRichText }; break; } case PropertyPrimitiveType.Number: { workflowProperty = new NumberPropertyType { AllowMultiple = sqlPropertyType.AllowMultiple, DefaultValue = PropertyHelper.ToDecimal((byte[])sqlPropertyType.DecimalDefaultValue), DecimalPlaces = sqlPropertyType.DecimalPlaces.GetValueOrDefault(0), DefaultValidValueId = sqlPropertyType.DefaultValidValueId, InstancePropertyTypeId = sqlPropertyType.InstancePropertyTypeId, Name = sqlPropertyType.Name, PropertyTypeId = sqlPropertyType.PropertyTypeId, Range = new Range <decimal> { End = PropertyHelper.ToDecimal((byte[])sqlPropertyType.NumberRange_End).GetValueOrDefault(0), Start = PropertyHelper.ToDecimal((byte[])sqlPropertyType.NumberRange_Start).GetValueOrDefault(0) }, PrimitiveType = sqlPropertyType.PrimitiveType, IsRequired = sqlPropertyType.Required != null && sqlPropertyType.Required.Value, IsValidate = sqlPropertyType.Validate.GetValueOrDefault(false), VersionId = sqlPropertyType.VersionId, Predefined = sqlPropertyType.Predefined }; break; } case PropertyPrimitiveType.Date: { workflowProperty = new DatePropertyType { AllowMultiple = sqlPropertyType.AllowMultiple, DefaultValue = sqlPropertyType.DateDefaultValue, DefaultValidValueId = sqlPropertyType.DefaultValidValueId, InstancePropertyTypeId = sqlPropertyType.InstancePropertyTypeId, Name = sqlPropertyType.Name, PropertyTypeId = sqlPropertyType.PropertyTypeId, Range = new Range <DateTime?> { End = sqlPropertyType.DateRange_End, Start = sqlPropertyType.DateRange_Start }, PrimitiveType = sqlPropertyType.PrimitiveType, IsRequired = sqlPropertyType.Required != null && sqlPropertyType.Required.Value, IsValidate = sqlPropertyType.Validate.GetValueOrDefault(false), VersionId = sqlPropertyType.VersionId, Predefined = sqlPropertyType.Predefined }; break; } case PropertyPrimitiveType.User: workflowProperty = new UserPropertyType() { DefaultLabels = sqlPropertyType.UserDefaultLabel, DefaultValues = sqlPropertyType.UserDefaultValue, InstancePropertyTypeId = sqlPropertyType.InstancePropertyTypeId, Name = sqlPropertyType.Name, PropertyTypeId = sqlPropertyType.PropertyTypeId, PrimitiveType = sqlPropertyType.PrimitiveType, IsRequired = sqlPropertyType.Required != null && sqlPropertyType.Required.Value, VersionId = sqlPropertyType.VersionId, Predefined = sqlPropertyType.Predefined }; break; case PropertyPrimitiveType.Choice: { workflowProperty = new ChoicePropertyType { AllowMultiple = sqlPropertyType.AllowMultiple, // DefaultValue = PropertyHelper.ToDecimal((byte[])sqlPropertyType.DecimalDefaultValue), ValidValues = XmlModelSerializer.DeserializeCustomProperties(sqlPropertyType.CustomProperty).CustomProperties[0]?.ValidValues .OrderBy(v => I18NHelper.Int32ParseInvariant(v.OrderIndex)) .Select(v => { int?vvId = null; if (!string.IsNullOrWhiteSpace(v.LookupListItemId)) { int intValue; if (int.TryParse(v.LookupListItemId, out intValue)) { vvId = intValue; } } int?vvSid = null; if (!string.IsNullOrWhiteSpace(v.StandardLookupListItemId)) { int intValue; if (int.TryParse(v.StandardLookupListItemId, out intValue)) { vvSid = intValue; } } return(new ValidValue { Id = vvId, Value = v.Value, Sid = vvSid }); }).ToList(), DefaultValidValueId = sqlPropertyType.DefaultValidValueId, InstancePropertyTypeId = sqlPropertyType.InstancePropertyTypeId, Name = sqlPropertyType.Name, PropertyTypeId = sqlPropertyType.PropertyTypeId, PrimitiveType = sqlPropertyType.PrimitiveType, IsRequired = sqlPropertyType.Required != null && sqlPropertyType.Required.Value, IsValidate = sqlPropertyType.Validate.GetValueOrDefault(false), VersionId = sqlPropertyType.VersionId, Predefined = sqlPropertyType.Predefined }; break; } // TODO: add other DPropertyTypes default: { workflowProperty = new WorkflowPropertyType { AllowMultiple = sqlPropertyType.AllowMultiple, DefaultValidValueId = sqlPropertyType.DefaultValidValueId, InstancePropertyTypeId = sqlPropertyType.InstancePropertyTypeId, IsRichText = sqlPropertyType.IsRichText, Name = sqlPropertyType.Name, PropertyTypeId = sqlPropertyType.PropertyTypeId, PrimitiveType = sqlPropertyType.PrimitiveType, IsRequired = sqlPropertyType.Required != null && sqlPropertyType.Required.Value, StringDefaultValue = sqlPropertyType.StringDefaultValue, VersionId = sqlPropertyType.VersionId, Predefined = sqlPropertyType.Predefined }; break; } } if (dictionary.ContainsKey(sqlPropertyType.ItemTypeId)) { dictionary[sqlPropertyType.ItemTypeId].Add(workflowProperty); } else { dictionary.Add(sqlPropertyType.ItemTypeId, new List <WorkflowPropertyType> { workflowProperty }); } } return(dictionary); }
private static void ConvertItem(object item, List <Field> fields) { System.Type type = item.GetType(); if (type == typeof(BooleanPropertyType)) { BooleanPropertyType booleanProperty = (BooleanPropertyType)item; fields.Add(new Field(booleanProperty.Name, string.Equals(booleanProperty.Value, "1").ToString(), FieldType.Boolean)); } else if (type == typeof(EnumPropertyType)) { EnumPropertyType enumProperty = (EnumPropertyType)item; if (PixelCrushers.DialogueSystem.Articy.ArticyTools.IsQuestStateArticyPropertyName(enumProperty.Name)) { fields.Add(new Field(enumProperty.Name, PixelCrushers.DialogueSystem.Articy.ArticyTools.EnumValueToQuestState(Tools.StringToInt(enumProperty.Value), string.Empty), FieldType.Text)); } else { fields.Add(new Field(enumProperty.Name, enumProperty.Value, FieldType.Number)); } } else if (type == typeof(LocalizableTextPropertyType)) { LocalizableTextPropertyType localizableTextProperty = (LocalizableTextPropertyType)item; string baseFieldTitle = localizableTextProperty.Name; if (!string.IsNullOrEmpty(baseFieldTitle) && localizableTextProperty.LocalizedString != null) { foreach (var localizedStringItem in localizableTextProperty.LocalizedString) { if (string.IsNullOrEmpty(localizedStringItem.Lang)) { fields.Add(new Field(baseFieldTitle, localizedStringItem.Value, FieldType.Text)); } else { string localizedTitle = string.Format("{0} {1}", baseFieldTitle, localizedStringItem.Lang); fields.Add(new Field(localizedTitle, localizedStringItem.Value, FieldType.Localization)); } } } } else if (type == typeof(ReferenceSlotPropertyType)) { ReferenceSlotPropertyType slotProperty = (ReferenceSlotPropertyType)item; fields.Add(new Field(slotProperty.Name, slotProperty.IdRef, FieldType.Text)); } else if (type == typeof(NumberPropertyType)) { NumberPropertyType numberPropertyType = (NumberPropertyType)item; fields.Add(new Field(numberPropertyType.Name, numberPropertyType.Value, FieldType.Number)); } else if (type == typeof(ReferenceStripPropertyType)) { //--- Note: ReferenceStripPropertyType is not converted. Debug.LogWarning("Dialogue System: Skipping import of ReferenceStripPropertyType: " + (item as ReferenceStripPropertyType).Name); } else if (type == typeof(StringPropertyType)) { StringPropertyType stringPropertyType = (StringPropertyType)item; fields.Add(new Field(stringPropertyType.Name, stringPropertyType.Value, FieldType.Text)); } }