private static int?FindDefaultValidValueId(List <XmlCustomPropertyValidValue> validValues) { if (validValues == null) { return(null); } var orderedValidValues = validValues.OrderBy(v => I18NHelper.Int32ParseInvariant(v.OrderIndex)).ToList(); for (var i = 0; i < orderedValidValues.Count; i++) { var validValue = orderedValidValues.ElementAt(i); if (validValue?.Selected == "1") { int?vvId = null; if (!string.IsNullOrWhiteSpace(validValue.LookupListItemId)) { int intValue; if (int.TryParse(validValue.LookupListItemId, out intValue)) { vvId = intValue; } } return(vvId); } } return(null); }
public static PropertyType ConvertToPropertyType(this SqlProjectMetaRepository.PropertyTypeVersion pv) { // Property XmlInfo is not supposed to be null, see bug 4819 var propertyFromXml = pv.PrimitiveType == PropertyPrimitiveType.Choice ? XmlModelSerializer.DeserializeCustomProperties(pv.XmlInfo).CustomProperties[0] : null; return(new PropertyType { Id = pv.PropertyTypeId, Name = pv.Name, VersionId = pv.VersionId, InstancePropertyTypeId = pv.InstancePropertyTypeId, PrimitiveType = pv.PrimitiveType, IsRichText = pv.PrimitiveType == PropertyPrimitiveType.Text ? pv.RichText : null, IsRequired = pv.Required, IsValidated = pv.PrimitiveType == PropertyPrimitiveType.Number || pv.PrimitiveType == PropertyPrimitiveType.Date || pv.PrimitiveType == PropertyPrimitiveType.Choice ? pv.Validate : null, IsMultipleAllowed = pv.PrimitiveType == PropertyPrimitiveType.Text || pv.PrimitiveType == PropertyPrimitiveType.Choice ? pv.AllowMultiple : null, StringDefaultValue = pv.PrimitiveType == PropertyPrimitiveType.Text ? pv.StringDefaultValue : null, DateDefaultValue = pv.PrimitiveType == PropertyPrimitiveType.Date ? pv.DateDefaultValue : null, DecimalDefaultValue = pv.PrimitiveType == PropertyPrimitiveType.Number ? PropertyHelper.ToDecimal(pv.DecimalDefaultValue) : null, UserGroupDefaultValue = pv.PrimitiveType == PropertyPrimitiveType.User ? PropertyHelper.ParseUserGroups(pv.UserDefaultValue) : null, MinDate = pv.PrimitiveType == PropertyPrimitiveType.Date && pv.Validate.GetValueOrDefault() ? pv.MinDate : null, MaxDate = pv.PrimitiveType == PropertyPrimitiveType.Date && pv.Validate.GetValueOrDefault() ? pv.MaxDate : null, MinNumber = pv.PrimitiveType == PropertyPrimitiveType.Number && pv.Validate.GetValueOrDefault() ? PropertyHelper.ToDecimal(pv.MinNumber) : null, MaxNumber = pv.PrimitiveType == PropertyPrimitiveType.Number && pv.Validate.GetValueOrDefault() ? PropertyHelper.ToDecimal(pv.MaxNumber) : null, DecimalPlaces = pv.PrimitiveType == PropertyPrimitiveType.Number ? pv.DecimalPlaces : null, ValidValues = pv.PrimitiveType == PropertyPrimitiveType.Choice ? propertyFromXml?.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; } } return new ValidValue { Id = vvId, Value = v.Value }; }).ToList() : null, DefaultValidValueId = pv.PrimitiveType == PropertyPrimitiveType.Choice ? FindDefaultValidValueId(propertyFromXml.ValidValues) // TODO : null, }); }
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); }
public static int ConfigValue(string configValue, int defaultValue) { return(ConfigurationManager.AppSettings[configValue] != null ? I18NHelper.Int32ParseInvariant(ConfigurationManager.AppSettings[configValue]) : defaultValue); }
private static int GetConfigValue(string configKey, int defaultValue) { string configValue = ConfigurationManager.AppSettings[configKey]; return(configValue != null?I18NHelper.Int32ParseInvariant(configValue) : defaultValue); }