Journeys_WantHome/Models/projectKolView.cs

92 lines
3.1 KiB
C#

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<kolDataQuility> kolList = new List<kolDataQuility>();
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<project>("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<kolDataQuility>("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<kolProjectEvaluate> projectQuilitys = conn.Query<kolProjectEvaluate>("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<kolProjectEvaluate> kolProjectEvaluates = new List<kolProjectEvaluate>();
}
}