mysimulation/server/FSO.Server.Database/DA/Hosts/SqlHosts.cs

50 lines
1.5 KiB
C#
Raw Permalink Normal View History

using Dapper;
using System;
using System.Collections.Generic;
namespace FSO.Server.Database.DA.Hosts
{
public class SqlHosts : AbstractSqlDA, IHosts
{
public SqlHosts(ISqlContext context) : base(context)
{
}
public IEnumerable<DbHost> All()
{
return Context.Connection.Query<DbHost>("SELECT * FROM fso_hosts");
}
public void CreateHost(DbHost host)
{
Context.Connection.Execute(
"REPLACE INTO fso_hosts (call_sign, role, status, internal_host, public_host, time_boot, shard_id) " +
"VALUES (@call_sign, @role, @status, @internal_host, @public_host, @time_boot, @shard_id)",
new
{
call_sign = host.call_sign,
role = host.role.ToString(),
status = host.status.ToString(),
internal_host = host.internal_host,
public_host = host.public_host,
time_boot = host.time_boot,
shard_id = host.shard_id
}
);
}
public DbHost Get(string call_sign)
{
throw new NotImplementedException();
}
public void SetStatus(string call_sign, DbHostStatus status)
{
Context.Connection.Execute("UPDATE fso_hosts SET status = @status WHERE call_sign = @call_sign", new {
call_sign = call_sign,
status = status.ToString()
});
}
}
}