using Dapper; using Dapper.Contrib.Extensions; using NPOI.SS.Formula.Functions; using System.Data.SqlClient; using static DbTableClass; using static projectDetail; public class projectKolView : project { DbConn dbConn = new DbConn(); SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString")); public List kolList = new List(); private project _project; public projectKolView() { _project = new project(); } public projectKolView(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 projectKolView(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_uid, 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(); foreach (kolDataQuility objItem in kolList) { List projectQuilitys = conn.Query("select * from kolProjectEvaluate where kolProject_uid = @kolProject_uid ", new { kolProject_uid = objItem.kolProject_uid }).ToList(); objItem.kolProjectEvaluates = projectQuilitys; } } public class kolDataQuility { 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_uid { 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; public List kolProjectEvaluates = new List(); } }