using Dapper; using Dapper.Contrib.Extensions; using System.Data.SqlClient; using static DbTableClass; public class mediaItemDetail : optionItem { DbConn dbConn = new DbConn(); SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString")); public List mediaSpecList = new List(); private optionItem _optionItem; public mediaItemDetail() { _optionItem = new optionItem(); } public mediaItemDetail(string _optionItem_uid) { _optionItem = conn.QueryFirstOrDefault("select * from optionItem where optionItem_uid = @optionItem_uid", new { optionItem_uid = _optionItem_uid }); if (_optionItem != null) { Type dataType = _optionItem.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_optionItem, null); this.GetType().GetProperty(propName).SetValue(this, propValue); } mediaSpecList = conn.Query("select * from mediaItem where mediaItem_ishide = 'N' and optionItem_uid = @optionItem_uid order by mediaItem_order", new { optionItem_uid = _optionItem_uid}).ToList(); } else { _optionItem = new optionItem(); } } public mediaItemDetail(optionItem _obj) { _optionItem = _obj; Type dataType = _optionItem.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_optionItem, null); this.GetType().GetProperty(propName).SetValue(this, propValue); } mediaSpecList = conn.Query("select * from mediaItem where mediaItem_ishide = 'N' and optionItem_uid = @optionItem_uid order by mediaItem_order", new { optionItem_uid = _optionItem.optionItem_uid }).ToList(); } }