/// <summary> /// Initializes a new instance of the <see cref="ProcessDependencyDto"/> class. /// </summary> /// <param name="process">The process.</param> /// <param name="dependencyType">Type of the dependency.</param> /// <exception cref="System.ArgumentException"></exception> public ProcessDependencyDto(ProcessInfoDTO process, ProcessDependencyTypes dependencyType) { if (process == null) throw new ArgumentException(Resources.ArgumentNullException); Process = process; DependencyType = dependencyType; AssemblyName = process.SystemName.ToAssemblyName(); }
/// <summary> /// Adds the dependency. /// </summary> /// <param name="processDependencies">The process dependencies.</param> /// <param name="assemblyName">Name of the assembly.</param> /// <param name="dependencyType">Type of the dependency.</param> private static void AddDependency(IList<ProcessDependencyDto> processDependencies, string assemblyName, ProcessDependencyTypes dependencyType) { var dependency = processDependencies.FirstOrDefault( x => string.Compare(x.AssemblyName, assemblyName, StringComparison.InvariantCultureIgnoreCase) == 0); if (dependency == null) processDependencies.Add(new ProcessDependencyDto { AssemblyName = assemblyName, DependencyType = dependencyType }); else { if (dependency.DependencyType > dependencyType) dependency.DependencyType = dependencyType; } }