using Dapper; using Dapper.Contrib.Extensions; using System.Data.SqlClient; using static DbTableClass; public class kolStyleDetail : kolStyle { 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 kolStyle _kolStyle; public kolStyleDetail() { _kolStyle = new kolStyle(); } public kolStyleDetail(string kolMakeup_uid) { _kolStyle = conn.QueryFirstOrDefault("select * from kolStyle where kolStyle_uid = @kolStyle_uid", new { kolStyle_uid = kolStyle_uid }); if (_kolStyle != null) { Type dataType = _kolStyle.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_kolStyle, 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 { _kolStyle = new kolStyle(); } } public kolStyleDetail(kolStyle kolStyle) { this._kolStyle = kolStyle; Type dataType = _kolStyle.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_kolStyle, 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._kolStyle != null) { if (this._kolStyle.kolStyle_uid == "") { this._kolStyle.kolStyle_uid = "KST_" + GlobalClass.CreateRandomCode(16); try { conn.Insert(this._kolStyle); updateResult = "success"; return true; } catch (Exception ex) { updateResult = ex.Message; return false; } } else { try { conn.Update(this._kolStyle); updateResult = "success"; return true; } catch (Exception ex) { updateResult = ex.Message; return false; } } } else { updateResult = "null 物件無法更新"; return false; } } }