first commit
This commit is contained in:
commit
4c261d035b
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
bin/
|
||||
obj/
|
||||
/packages/
|
||||
riderModule.iml
|
||||
/_ReSharper.Caches/
|
||||
.idea/
|
||||
discord.xml
|
16
MySQL_Manager.sln
Normal file
16
MySQL_Manager.sln
Normal file
@ -0,0 +1,16 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySQL_Manager", "MySQL_Manager\MySQL_Manager.csproj", "{0A6AA01B-91AE-4BBB-90E5-C15F70197601}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0A6AA01B-91AE-4BBB-90E5-C15F70197601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0A6AA01B-91AE-4BBB-90E5-C15F70197601}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0A6AA01B-91AE-4BBB-90E5-C15F70197601}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0A6AA01B-91AE-4BBB-90E5-C15F70197601}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
53
MySQL_Manager/Database.cs
Normal file
53
MySQL_Manager/Database.cs
Normal file
@ -0,0 +1,53 @@
|
||||
using MySqlConnector;
|
||||
|
||||
namespace MySQL_Manager;
|
||||
|
||||
public class Database
|
||||
{
|
||||
private string conection;
|
||||
|
||||
public Database(string ConnectionString)
|
||||
{
|
||||
conection = ConnectionString;
|
||||
}
|
||||
|
||||
public void ExecuteNonQuery(string command)
|
||||
{
|
||||
try
|
||||
{
|
||||
MySqlConnection conn = new MySqlConnection(conection);
|
||||
conn.Open();
|
||||
MySqlCommand cmd = new MySqlCommand(command, conn);
|
||||
_ = cmd.ExecuteNonQuery();
|
||||
conn.Close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public TReturn Read<TReturn>(string command)
|
||||
{
|
||||
try
|
||||
{
|
||||
MySqlConnection conn = new MySqlConnection(conection);
|
||||
conn.Open();
|
||||
MySqlCommand cmd = new MySqlCommand(command, conn);
|
||||
object? temp = cmd.ExecuteScalar();
|
||||
if (temp is DBNull || temp is null)
|
||||
{
|
||||
return default!;
|
||||
}
|
||||
if (typeof(TReturn).IsEnum) return (TReturn?)Enum.Parse(typeof(TReturn), temp.ToString()!)!;
|
||||
if (typeof(TReturn).IsNullableEnum()) return (TReturn?)Enum.Parse(Nullable.GetUnderlyingType(typeof(TReturn))!, temp.ToString()!)!;
|
||||
return (TReturn?)temp!;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
10
MySQL_Manager/EXT.cs
Normal file
10
MySQL_Manager/EXT.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace MySQL_Manager;
|
||||
|
||||
internal static class EXT
|
||||
{
|
||||
internal static bool IsNullableEnum(this Type t)
|
||||
{
|
||||
Type u = Nullable.GetUnderlyingType(t)!;
|
||||
return (u != null) && u.IsEnum;
|
||||
}
|
||||
}
|
20
MySQL_Manager/MySQL_Manager.csproj
Normal file
20
MySQL_Manager/MySQL_Manager.csproj
Normal file
@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Title>MySQL Manager</Title>
|
||||
<Description>A Database class to handle database interactions in MySQL for school Projects</Description>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MySqlConnector" Version="2.3.5" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CustomActionsAfterPublish" AfterTargets="Pack">
|
||||
<Message Text="Actions AfterPublish: $(PackageId).$(PackageVersion).nupkg" Importance="high" />
|
||||
<Exec Command="nuget push -Source https://nuget.jacobtech.com/v3/index.json bin/Release/$(PackageId).$(PackageVersion).nupkg" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user