class Raykit::DotNet

def self.initialize_csharp_console(name)

initialize a C# console application
def self.initialize_csharp_console(name)
    if(!Dir.exists?(name)) 
        FileUtils.mkdir(name)
        Dir.chdir(name) do
            puts `dotnet new console -lang C#`
        end
        puts `dotnet new sln`
        puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`

        FileUtils.mkdir("#{name}.Test")if(!Dir.exist?("#{name}.Test"))
        Dir.chdir("#{name}.Test") do
            puts `dotnet new nunit -lang C#`
            puts `dotnet add reference ../#{name}/#{name}.csproj`
        end
        puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj`
    end
end

def self.initialize_csharp_lib(name)

initialize a C# library
def self.initialize_csharp_lib(name)
    if(!Dir.exists?(name)) 
        FileUtils.mkdir(name)
        Dir.chdir(name) do
            puts `dotnet new classlib -lang C#`
        end
        puts `dotnet new sln`
        puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`

        FileUtils.mkdir("#{name}.Test")if(!Dir.exist?("#{name}.Test"))
        Dir.chdir("#{name}.Test") do
            puts `dotnet new nunit -lang C#`
            puts `dotnet add reference ../#{name}/#{name}.csproj`
        end
        puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj`
    end
end