Port !owner, !admin, !mod, handlers (partial) and add globals to the db
This commit is contained in:
parent
37ac7f56a8
commit
bb8aee1eda
10 changed files with 265 additions and 174 deletions
55
Geekbot.net/Lib/GlobalSettings/GlobalSettings.cs
Normal file
55
Geekbot.net/Lib/GlobalSettings/GlobalSettings.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
using System.Linq;
|
||||
using Geekbot.net.Database;
|
||||
using Geekbot.net.Database.Models;
|
||||
|
||||
namespace Geekbot.net.Lib.GlobalSettings
|
||||
{
|
||||
public class GlobalSettings : IGlobalSettings
|
||||
{
|
||||
private readonly DatabaseContext _database;
|
||||
|
||||
public GlobalSettings(DatabaseContext database)
|
||||
{
|
||||
_database = database;
|
||||
}
|
||||
|
||||
public bool SetKey(string keyName, string value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var key = GetKeyFull(keyName);
|
||||
if (key == null)
|
||||
{
|
||||
_database.Globals.Add(new GlobalsModel()
|
||||
{
|
||||
Name = keyName,
|
||||
Value = value
|
||||
});
|
||||
_database.SaveChanges();
|
||||
return true;
|
||||
}
|
||||
|
||||
key.Value = value;
|
||||
_database.Globals.Update(key);
|
||||
_database.SaveChanges();
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public string GetKey(string keyName)
|
||||
{
|
||||
var key = _database.Globals.FirstOrDefault(k => k.Name.Equals(keyName));
|
||||
return key?.Value ?? string.Empty;
|
||||
}
|
||||
|
||||
public GlobalsModel GetKeyFull(string keyName)
|
||||
{
|
||||
var key = _database.Globals.FirstOrDefault(k => k.Name.Equals(keyName));
|
||||
return key;
|
||||
}
|
||||
}
|
||||
}
|
11
Geekbot.net/Lib/GlobalSettings/IGlobalSettings.cs
Normal file
11
Geekbot.net/Lib/GlobalSettings/IGlobalSettings.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using Geekbot.net.Database.Models;
|
||||
|
||||
namespace Geekbot.net.Lib.GlobalSettings
|
||||
{
|
||||
public interface IGlobalSettings
|
||||
{
|
||||
bool SetKey(string keyName, string value);
|
||||
string GetKey(string keyName);
|
||||
GlobalsModel GetKeyFull(string keyName);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue