using Dapper; using Dapper.Contrib.Extensions; using NPOI.SS.Formula.Functions; using System.Data.SqlClient; using System.Security.Cryptography.X509Certificates; using static DbTableClass; public class projectDetail : project { DbConn dbConn = new DbConn(); SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString")); public List kolList = new List(); private project _project; public projectDetail() { _project = new project(); } public projectDetail(project projectObj) { Type projectType = projectObj.GetType(); foreach (var prop in projectType.GetProperties()) { string propName = prop.Name; var valueProperty = projectType.GetProperty(propName); object propValue = valueProperty.GetValue(projectObj, null); this.GetType().GetProperty(propName).SetValue(this, propValue); } _project = projectObj; loadList(); } public projectDetail(string project_uid) { _project = conn.QueryFirstOrDefault("select * from project where project_uid = @project_uid", new { project_uid = project_uid }); if (_project != null) { Type dataType = _project.GetType(); foreach (var prop in dataType.GetProperties()) { string propName = prop.Name; var valueProperty = dataType.GetProperty(propName); object propValue = valueProperty.GetValue(_project, null); this.GetType().GetProperty(propName).SetValue(this, propValue); } loadList(); } } private void loadList() { kolList = conn.Query("select A.kol_uid, A.kol_name, A.kol_photo, A.kol_descript, B.kolProject_isExec, B.kolProject_noExecReason, B.kolProject_memo, B.kolProject_modifydate from kol A, kolProject B where A.kol_uid = B.kol_uid and B.project_uid = @project_uid order by B.kolProject_modifydate desc", new { project_uid = _project.project_uid }).ToList(); } public class kolData { public string kol_uid { get; set; } = ""; public string kol_name { get; set; } = ""; public string kol_photo { get; set; } = ""; public string kol_descript { get; set; } = ""; public string kolProject_isExec { get; set; } = "N"; public string kolProject_noExecReason { get; set; } = ""; public string kolProject_memo { get; set; } = ""; public DateTime kolProject_modifydate { get; set; } = DateTime.Now; } }