Esempio n. 1
0
        public void HandleDiscoveredModel(IDiscoveryResult <object> discoveryResult)
        {
            if (discoveryResult is null)
            {
                throw new ArgumentNullException(nameof(discoveryResult));
            }

            AddServices(discoveryResult);
        }
Esempio n. 2
0
        public RiskAnalysis(IDiscoveryResult result, FileType fileType)
        {
            DiscoveryResult = result;
            High = new Dictionary<MetadataType, int>();
            Medium = new Dictionary<MetadataType, int>();
            Low = new Dictionary<MetadataType, int>();

            ProcessResults(fileType);
        }
 protected void AddServices(IDiscoveryResult <object> discoveryResult)
 {
     foreach (var discoveredModel in discoveryResult.Models)
     {
         if (discoveredModel.CanOverrideDefaults)
         {
             services.Replace(discoveredModel);
         }
         else
         {
             services.TryAdd(discoveredModel);
         }
     }
 }
Esempio n. 4
0
        protected void AddServices(IDiscoveryResult <object> discoveryResult)
        {
            discoveryResult.AddServices(Services);

            foreach (var discoveredModel in discoveryResult.Models)
            {
                if (discoveredModel.CanAddMultiple)
                {
                    Services.Add(discoveredModel);
                }
                else if (discoveredModel.CanOverrideDefaults)
                {
                    Services.Replace(discoveredModel);
                }
                else
                {
                    Services.TryAdd(discoveredModel);
                }
            }
        }
Esempio n. 5
0
        public void HandleDiscoveredModel(IDiscoveryResult <object> discoveryResult)
        {
            if (discoveryResult is null)
            {
                throw new ArgumentNullException(nameof(discoveryResult));
            }

            Type       discoveryResultType = discoveryResult.GetType();
            Type       genericArgumentType = discoveryResultType.GetGenericArguments().Single();
            MethodInfo handler             = this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic)
                                             .Where(m => m.Name.Equals("Handle", StringComparison.OrdinalIgnoreCase))
                                             .Where(m => m.GetParameters().Any(p => p.ParameterType.GetGenericArguments().Single() == genericArgumentType))
                                             .SingleOrDefault();

            if (handler is null)
            {
                throw new RuntimeBinderException($"Missing handle for IDiscoveryResult<{genericArgumentType.Name}>");
            }

            handler.Invoke(this, new[] { discoveryResult });
        }