public DomainSettingsModel(string concern, string operation, PatternDirectoryType patternType, GroupByType groupBy) { var solutionFile = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.sln").FirstOrDefault(); var solutionInfo = SolutionFile.Parse(solutionFile); var projectList = solutionInfo.ProjectsInOrder; foreach (var proj in projectList) { if (!proj.ProjectName.Contains(".Logic") && !proj.ProjectName.Contains(".Domain")) { continue; } Concern = concern; Operation = operation; PatternType = patternType; ProjectName = proj.RelativePath; DomainName = proj.ProjectName; DomainAbsolutePath = ResolveDomainAbsolutePath(proj.AbsolutePath); PatternFileType = PatternFileNameResolver.Resolve(patternType); ClassName = $"{concern}{operation}{PatternFileNameResolver.Resolve(patternType)}"; GroupingStrategy = groupBy; } LogUtility.Info($"ProjectName: {ProjectName}"); LogUtility.Info($"DomainName: {DomainName}"); LogUtility.Info($"DomainAbsolutePath: {DomainAbsolutePath}"); }
public DomainSettingsModel(string concern, string operation, PatternDirectoryType patternType, GroupByType groupBy) { var solutionFile = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.sln").FirstOrDefault(); var solutionInfo = SolutionFile.Parse(solutionFile); var projectList = solutionInfo.ProjectsInOrder; var proj = projectList.FirstOrDefault(x => x.ProjectName.Equals("Logic") || x.ProjectName.Equals("Domain")); if (proj == null) { throw new Exception("Missing domain or logic project in solution"); } Concern = concern; Operation = operation; PatternType = patternType; ProjectName = proj.RelativePath; DomainName = proj.ProjectName; DomainAbsolutePath = ResolveDomainAbsolutePath(proj.AbsolutePath); PatternFileType = PatternFileNameResolver.Resolve(patternType); ClassName = $"{concern}{operation}{PatternFileNameResolver.Resolve(patternType)}"; GroupingStrategy = groupBy; //LogUtility.Info($"ProjectName: {ProjectName}"); //LogUtility.Info($"DomainName: {DomainName}"); //LogUtility.Info($"DomainAbsolutePath: {DomainAbsolutePath}"); }