Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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)
            };
        }
Ejemplo n.º 3
0
        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);
 }
Ejemplo n.º 6
0
 public ParseUtils(Dictionary <string, string> hierarchy, ProductModel pm)
 {
     Hierarchy       = hierarchy;
     _variableLookup = PMUtils.GetVariables(pm.ProductModelStructure);
 }
Ejemplo n.º 7
0
 public HierarchyRelationConverter(DBReader dbReader, ProductModel model)
 {
     _model          = model;
     _variableLookup = PMUtils.GetVariables(_model.ProductModelStructure);
 }