You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
5.2 KiB
C#
142 lines
5.2 KiB
C#
using MySql.Data.MySqlClient;
|
|
|
|
namespace OMS.NET.DbClass
|
|
{
|
|
public class MapLayer
|
|
{
|
|
#region base
|
|
public long Id { get; set; }
|
|
public string Type { get; set; }
|
|
public string Members { get; set; }
|
|
public string Structure { get; set; }
|
|
public int Phase { get; set; }
|
|
|
|
public MapLayer()
|
|
{
|
|
this.Id = 0;
|
|
this.Type = "";
|
|
this.Members = "";
|
|
this.Structure = "";
|
|
this.Phase = 1;
|
|
}
|
|
public MapLayer(long id, string type, string members, string structure, int phase)
|
|
{
|
|
Id = id;
|
|
Type = type;
|
|
Members = members;
|
|
Structure = structure;
|
|
Phase = phase;
|
|
}
|
|
|
|
#endregion
|
|
public static void Add(MapLayer mapLayer)
|
|
{
|
|
using MySqlConnection connection = new(GlobalArea.ConnectionStringWithDbName);
|
|
connection.Open();
|
|
var query = @"INSERT INTO map_0_layer (type, members, structure, phase)
|
|
VALUES (@Type, @Members, @Structure, @Phase)";
|
|
using var command = new MySqlCommand(query, connection);
|
|
command.Parameters.AddWithValue("@Type", mapLayer.Type);
|
|
command.Parameters.AddWithValue("@Members", mapLayer.Members);
|
|
command.Parameters.AddWithValue("@Structure", mapLayer.Structure);
|
|
command.Parameters.AddWithValue("@Phase", mapLayer.Phase);
|
|
command.ExecuteNonQuery();
|
|
mapLayer.Id = command.LastInsertedId;
|
|
}
|
|
|
|
public static void Update(MapLayer mapLayer)
|
|
{
|
|
using MySqlConnection connection = new(GlobalArea.ConnectionStringWithDbName);
|
|
connection.Open();
|
|
var query = @"UPDATE map_0_layer SET type = @Type, members = @Members, structure = @Structure, phase = @Phase
|
|
WHERE id = @Id";
|
|
using var command = new MySqlCommand(query, connection);
|
|
command.Parameters.AddWithValue("@Id", mapLayer.Id);
|
|
command.Parameters.AddWithValue("@Type", mapLayer.Type);
|
|
command.Parameters.AddWithValue("@Members", mapLayer.Members);
|
|
command.Parameters.AddWithValue("@Structure", mapLayer.Structure);
|
|
command.Parameters.AddWithValue("@Phase", mapLayer.Phase);
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
public static void Delete(long id)
|
|
{
|
|
using MySqlConnection connection = new(GlobalArea.ConnectionStringWithDbName);
|
|
connection.Open();
|
|
var query = @"DELETE FROM map_0_layer WHERE id = @Id";
|
|
using var command = new MySqlCommand(query, connection);
|
|
command.Parameters.AddWithValue("@Id", id);
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
public static MapLayer? Get(long id)
|
|
{
|
|
using MySqlConnection connection = new(GlobalArea.ConnectionStringWithDbName);
|
|
connection.Open();
|
|
var query = @"SELECT id, type, members, structure, phase FROM map_0_layer WHERE id = @Id";
|
|
using var command = new MySqlCommand(query, connection);
|
|
command.Parameters.AddWithValue("@Id", id);
|
|
using var reader = command.ExecuteReader();
|
|
if (reader.Read())
|
|
{
|
|
return new MapLayer
|
|
{
|
|
Id = reader.GetInt64("id"),
|
|
Type = reader.GetString("type"),
|
|
Members = reader.GetString("members"),
|
|
Structure = reader.GetString("structure"),
|
|
Phase = reader.GetInt32("phase")
|
|
};
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取所有MapLayer数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static List<MapLayer> GetMapLayerList()
|
|
{
|
|
List<MapLayer> mapLayerList = new();
|
|
using MySqlConnection connection = new(GlobalArea.ConnectionStringWithDbName);
|
|
connection.Open();
|
|
string query = "SELECT * FROM map_0_layer";
|
|
using var command = new MySqlCommand(query, connection);
|
|
using var reader = command.ExecuteReader();
|
|
if (reader.HasRows)
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
var mapLayer = new MapLayer
|
|
{
|
|
Id = reader.GetInt64("id"),
|
|
Type = reader.GetString("type"),
|
|
Members = reader.GetString("members"),
|
|
Structure = reader.GetString("structure"),
|
|
Phase = reader.GetInt32("phase")
|
|
};
|
|
mapLayerList.Add(mapLayer);
|
|
}
|
|
}
|
|
return mapLayerList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 指定是否将指定字段编码成base64格式 ???
|
|
/// </summary>
|
|
public static void ProcessMapLayers(List<MapLayer> mapLayers, bool encode = false)
|
|
{
|
|
mapLayers.ForEach(mapLayer =>
|
|
{
|
|
if (encode)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} |