using Dapper; using Dapper.Contrib.Extensions; using System.Data.SqlClient; using static DbTableClass; public class kolMakeupDetail : kolMakeup { DbConn dbConn = new DbConn(); SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString")); public string option_name { get; set; } = ""; public string optionItem_name { get; set; } = ""; public string updateResult { get; set; } = ""; private kolMakeup _kolMakeup; public kolMakeupDetail() { _kolMakeup = new kolMakeup(); } public kolMakeupDetail(string kolMakeup_uid) { _kolMakeup = conn.QueryFirstOrDefault("select * from kolMakeup where kolMakeup_uid = @kolMakeup_uid", new { kolMakeup_uid = kolMakeup_uid }); if (_kolMakeup != null) { Type dataType = _kolMakeup.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_kolMakeup, null); this.GetType().GetProperty(propName).SetValue(this, propValue); } var result = conn.QueryFirstOrDefault("select A.option_name, B.optionItem_name from from option A, optionItem B where A.option_uid = B.option_uid and B.option_uid = @option_uid and B.optionItem_uid = @optionItem_uid ", new { option_uid = this.option_uid, optionItem_uid = this.optionItem_uid }); if (result != null) { this.option_name = result.option_name; this.optionItem_name = result.optionItem_name; } } else { _kolMakeup = new kolMakeup(); } } public kolMakeupDetail(kolMakeup kolMakeup) { this._kolMakeup = kolMakeup; Type dataType = _kolMakeup.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_kolMakeup, null); this.GetType().GetProperty(propName).SetValue(this, propValue); } var result = conn.QueryFirstOrDefault("select A.option_name, B.optionItem_name from from option A, optionItem B where A.option_uid = B.option_uid and B.option_uid = @option_uid and B.optionItem_uid = @optionItem_uid ", new { option_uid = this.option_uid, optionItem_uid = this.optionItem_uid }); if (result != null) { this.option_name = result.option_name; this.optionItem_name = result.optionItem_name; } } public bool dataUpdate() { if (this._kolMakeup != null) { if (this._kolMakeup.kolMakeup_uid == "") { this._kolMakeup.kolMakeup_uid = "KMK_" + GlobalClass.CreateRandomCode(16); try { conn.Insert(this._kolMakeup); updateResult = "success"; return true; } catch (Exception ex) { updateResult = ex.Message; return false; } } else { try { conn.Update(this._kolMakeup); updateResult = "success"; return true; } catch (Exception ex) { updateResult = ex.Message; return false; } } } else { updateResult = "null 物件無法更新"; return false; } } }