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; } /// /// 获取所有MapLayer数据 /// /// public static List GetMapLayerList() { List 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; } /// /// 指定是否将指定字段编码成base64格式 ??? /// public static void ProcessMapLayers(List mapLayers, bool encode = false) { mapLayers.ForEach(mapLayer => { if (encode) { } else { } }); } } }