private static void BuildApplicationProject(string solutionDirectory, IFileSystem fileSystem) { var applicationProjectClassPath = ClassPathHelper.ApplicationProjectClassPath(solutionDirectory); ApplicationCsProjBuilder.CreateApplicationCsProj(solutionDirectory); Utilities.ExecuteProcess("dotnet", $@"sln add ""{applicationProjectClassPath.FullClassPath}"" --solution-folder {"Core"}", solutionDirectory); // base folders Directory.CreateDirectory(ClassPathHelper.DtoClassPath(solutionDirectory, "", "").ClassDirectory); Directory.CreateDirectory(ClassPathHelper.ApplicationExceptionClassPath(solutionDirectory, "").ClassDirectory); Directory.CreateDirectory(ClassPathHelper.ApplicationInterfaceClassPath(solutionDirectory, "").ClassDirectory); Directory.CreateDirectory(ClassPathHelper.ProfileClassPath(solutionDirectory, "").ClassDirectory); Directory.CreateDirectory(ClassPathHelper.ValidationClassPath(solutionDirectory, "", "").ClassDirectory); Directory.CreateDirectory(ClassPathHelper.WrappersClassPath(solutionDirectory, "").ClassDirectory); Directory.CreateDirectory(ClassPathHelper.SharedDtoClassPath(solutionDirectory, "").ClassDirectory); ApplicationServiceExtensionsBuilder.CreateApplicationServiceExtension(solutionDirectory, fileSystem); BasePaginationParametersBuilder.CreateBasePaginationParameters(solutionDirectory, fileSystem); PagedListBuilder.CreatePagedList(solutionDirectory, fileSystem); ResponseBuilder.CreateResponse(solutionDirectory, fileSystem); ApplicationExceptionsBuilder.CreateExceptions(solutionDirectory); }
public static void CreateApplicationCsProj(string solutionDirectory) { try { var classPath = ClassPathHelper.ApplicationProjectClassPath(solutionDirectory); if (!Directory.Exists(classPath.ClassDirectory)) { Directory.CreateDirectory(classPath.ClassDirectory); } if (File.Exists(classPath.FullClassPath)) { throw new FileAlreadyExistsException(classPath.FullClassPath); } using (FileStream fs = File.Create(classPath.FullClassPath)) { var data = ""; data = GetApplicationCsProjFileText(); fs.Write(Encoding.UTF8.GetBytes(data)); } GlobalSingleton.AddCreatedFile(classPath.FullClassPath.Replace($"{solutionDirectory}{Path.DirectorySeparatorChar}", "")); } catch (FileAlreadyExistsException e) { WriteError(e.Message); throw; } catch (Exception e) { WriteError($"An unhandled exception occurred when running the API command.\nThe error details are: \n{e.Message}"); throw; } }