Exemplo n.º 1
0
        private void Execute()
        {
            foreach (var fieldset in _model)
            {
                var alias         = $"{_dataType}.{fieldset.Alias}";
                var currentType   = Populate.GetRegisteredType(alias, _type);
                var typeHierarchy = currentType.GetHierarchy();

                var archetypeModel = Activator.CreateInstance(currentType) as T;

                foreach (var type in typeHierarchy)
                {
                    var mapping = Populate.GetMappingForType(type);

                    if (mapping == null)
                    {
                        continue;
                    }

                    var rules = mapping.GetRules();

                    foreach (var rule in rules)
                    {
                        rule.Execute(_session, _options, archetypeModel, type, fieldset);
                    }
                }

                _results.Add(archetypeModel);
            }
        }