private void loadScriptableObject() { m_paletteData = PMUtils.CreateScriptableObject <ColorPaletteData>("Assets/PygmyMonkey/ColorPalette/Resources/ColorPaletteData.asset"); m_paletteData.init(); m_paletteMenuRenderer = new ColorPaletteMenuRenderer(m_paletteData); m_paletteDataRenderer = new ColorPaletteDataRenderer(m_paletteData); m_paletteCreateRenderer = new ColorPaletteCreateRenderer(m_paletteData); m_paletteImportRenderer = new ColorPaletteImportRenderer(m_paletteData); }
public DefaultConverter(Dictionary <string, string> hierarchy, ProductModel pm, string vtPackagePath) { _pm = pm; this.vtPackagePath = vtPackagePath; _parseUtils = new ParseUtils(hierarchy, pm); var productModelStructure = _pm.ProductModelStructure; _variableLookup = PMUtils.GetVariables(productModelStructure); scopeVariables = new List <IVariableDefinition> { new StringVariable(MODEL_VARIABLE), new StringVariable(COUNTRY_VARIABLE), new StringVariable(VARIANT_VARIABLE) }; }
public Relation CreateHierarchyRelation(Category category) { var rel = new Rel("CategoriesMapping"); rel.Columns.Add(_variableLookup["GEN_S_VARIANT"].FullyQualifiedName); rel.Columns.Add(_variableLookup["GEN_S_VERSION"].FullyQualifiedName); rel.Columns.Add(_variableLookup["GEN_S_BRAND"].FullyQualifiedName); rel.Columns.Add(_variableLookup["GEN_S_PRODUCT_GROUP"].FullyQualifiedName); rel.Columns.Add(_variableLookup["GEN_S_MODEL_RANGE"].FullyQualifiedName); rel.Columns.Add(_variableLookup["GEN_S_MODEL"].FullyQualifiedName); foreach (var version in category.Versions) { rel.Rows.Add(version.Name, new List <string>() { version.Variant, version.Name, category.Brand, category.ProductGroup, category.ModelRange, category.Model }); } return(PMUtils.ToRelation(rel)); }
public Relation CreateSalesValidityRelation(string modelName, List <Characteristic> characteristics, Dictionary <string, Dictionary <string, Characteristic> > variantCharacteristics) { var rel = new Rel($"SalesValidity_{modelName}"); rel.Columns.Add(_variableLookup["GEN_S_MODEL"].FullyQualifiedName); rel.Columns.Add(_variableLookup["GEN_S_VARIANT"].FullyQualifiedName); var variants = variantCharacteristics.Keys.ToList(); // initialize a row for every variant foreach (var variant in variants) { rel.Rows.Add(variant, new List <string> { $"\"{modelName}\"", $"\"{variant}\"" }); } var lookup = characteristics.ToDictionary(c => c.Name); foreach (var variableInfo in _variableLookup.Values) { if (lookup.ContainsKey(variableInfo.Name)) { rel.Columns.Add(variableInfo.FullyQualifiedName); foreach (var variant in variants) { if (variantCharacteristics[variant].TryGetValue(variableInfo.Name, out var characteristic)) { rel.Rows[variant].Add("=" + characteristic.Values.Select(v => $"\"{v}\"").Aggregate((r, l) => $"{r},{l}")); } else { rel.Rows[variant].Add("=\"N.A.\""); } } } else { if (variableInfo.Name != "GEN_S_MODEL" && variableInfo.Name != "GEN_S_VARIANT" && variableInfo.Name != "GEN_S_VERSION" && variableInfo.Name != "GEN_S_BRAND" && variableInfo.Name != "GEN_S_PRODUCT_GROUP" && variableInfo.Name != "GEN_S_MODEL_RANGE" && variableInfo.Name != "GEN_S_MODEL") { var variablesDeleted = PMUtils.DeleteVariables(_model.ProductModelStructure, variableInfo.Name); if (variablesDeleted == 0) { Log.Warn($"variable '{variableInfo.Name}' was not deleted"); } else if (variablesDeleted > 1) { Log.Warn($"muultiple variables '{variableInfo.Name}' were deleted"); } //var variablePropertyValues = variableInfo.Variable.PropertyValues; //var showProperty = variablePropertyValues.FirstOrDefault( pv => pv.Name.ToLower() == "show" ); //if ( showProperty == null ) { // variablePropertyValues.Add( new PropertyValue( "Show", false ) ); //} } } } var relation = PMUtils.ToRelation(rel); relation.PropertyValues.Add(new PropertyValue("Enabled", true)); return(relation); }
public SalesValidityRuleConverter(DBReader dbReader, ProductModel model) { _dbReader = dbReader; _model = model; _variableLookup = PMUtils.GetVariables(_model.ProductModelStructure); }
public ParseUtils(Dictionary <string, string> hierarchy, ProductModel pm) { Hierarchy = hierarchy; _variableLookup = PMUtils.GetVariables(pm.ProductModelStructure); }
public HierarchyRelationConverter(DBReader dbReader, ProductModel model) { _model = model; _variableLookup = PMUtils.GetVariables(_model.ProductModelStructure); }