From 661bb705aee3a87f2fa08efae995c58cad6378c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=89=E7=A5=A5=20=E8=A9=B9?= Date: Sun, 17 Mar 2024 02:36:39 +0800 Subject: [PATCH] update new code --- Controllers/ApiController.cs | 191 +++++++++++++++++++ Models/DbTableClass.cs | 15 ++ Models/kolProjectDetail.cs | 37 ++++ Views/Home/KolList.cshtml | 32 ++-- wwwroot/assets/javascript/custom/globalJS.js | 1 + wwwroot/assets/javascript/custom/kollist.js | 143 +++++++++++++- wwwroot/images/cut/cutPhoto_3ZSRGXS8.jpeg | Bin 0 -> 7449 bytes wwwroot/images/cut/cutPhoto_8RFBOLI1.jpeg | Bin 0 -> 7449 bytes wwwroot/images/cut/cutPhoto_B56EMTHF.jpeg | Bin 0 -> 7449 bytes wwwroot/images/cut/cutPhoto_GI0EWU34.jpg | Bin 0 -> 168860 bytes wwwroot/images/cut/cutPhoto_LXVKHAN9.jpeg | Bin 0 -> 7449 bytes 11 files changed, 404 insertions(+), 15 deletions(-) create mode 100644 Models/kolProjectDetail.cs create mode 100644 wwwroot/images/cut/cutPhoto_3ZSRGXS8.jpeg create mode 100644 wwwroot/images/cut/cutPhoto_8RFBOLI1.jpeg create mode 100644 wwwroot/images/cut/cutPhoto_B56EMTHF.jpeg create mode 100644 wwwroot/images/cut/cutPhoto_GI0EWU34.jpg create mode 100644 wwwroot/images/cut/cutPhoto_LXVKHAN9.jpeg diff --git a/Controllers/ApiController.cs b/Controllers/ApiController.cs index 591d3b3..84ac638 100644 --- a/Controllers/ApiController.cs +++ b/Controllers/ApiController.cs @@ -56,6 +56,188 @@ namespace Journeys_WantHome.Controllers this._httpContextAccessor = httpContextAccessor; } + [Route("kolProjectAddEditDelGet")] + public ActionResult KolProjectAddEditDelGet(IFormCollection obj) { + kolProjectResult ret = new kolProjectResult(); + authToken token = new authToken(this._httpContextAccessor); + if (token.user_isLogin == false) + { + HttpContext.Response.Cookies.Delete("token_key"); + ret.ret = "no"; + ret.err_code = "99999"; + ret.message = "非登入狀態!"; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + string method = obj["method"].ToString(); + string project_uid = obj["project_uid"].ToString(); + string kol_uid = obj["kol_uid"].ToString(); + string kolProject_uid = obj["kolProject_uid"].ToString(); + string cooperateTypeStr = obj["cooperateTypeStr"].ToString().TrimEnd(','); + string kolProjectPriceArrayJson = obj["kolProjectPriceArrayJson"].ToString().TrimEnd(','); + string kolProject_isExec = obj["kolProject_isExec"].ToString(); + string kolProject_noExecReason = obj["kolProject_noExecReason"].ToString(); + string kolProjectEvaluateStr = obj["kolProjectEvaluateStr"].ToString().TrimEnd(','); + string kolProjectLinkArrayJson = obj["kolProjectLinkArrayJson"].ToString().TrimEnd(','); + string kolProjectImageArrayJson = obj["kolProjectImageArrayJson"].ToString().TrimEnd(','); + string kolProject_memo = obj["kolProject_memo"].ToString(); + + if (method == "add") { + kolProject_uid = "kp_" + GlobalClass.CreateRandomCode(16); + + kolProject kp = new kolProject(); + + kp.kolProject_uid = kolProject_uid; + kp.kol_uid = kol_uid; + kp.project_uid = project_uid; + kp.kolProject_isExec = kolProject_isExec; + kp.kolProject_noExecReason = kolProject_noExecReason; + kp.kolProject_memo = kolProject_memo; + kp.user_uid = token.user_id; + kp.user_name = token.user_name; + kp.kolProject_createdate = DateTime.Now; + kp.kolProject_modifydate = DateTime.Now; + + string[] cooperateTypeArr = cooperateTypeStr.Split(','); + string[] kolProjectEvaluateArr = kolProjectEvaluateStr.Split(','); + + List kolCooperateTypes = new List(); + List kolProjectEvaluates = new List(); + + foreach (string cooperate in cooperateTypeArr) + { + kolCooperateType kct = new kolCooperateType(); + kct.kolCooperateType_uid = "kct_" + GlobalClass.CreateRandomCode(16); + kct.project_uid = project_uid; + kct.kol_uid = kol_uid; + kct.option_uid = "cooperateType"; + kct.optionItem_uid = cooperate; + kct.kolProject_uid = kolProject_uid; + + kolCooperateTypes.Add(kct); + } + + foreach (string evaluate in kolProjectEvaluateArr) + { + if (evaluate != "") { + kolProjectEvaluate kpe = new kolProjectEvaluate(); + kpe.kol_uid = kol_uid; + kpe.project_uid = project_uid; + kpe.kolProject_uid = kolProject_uid; + kpe.kolProjectEvaluate_text = evaluate; + + kolProjectEvaluates.Add(kpe); + } + } + + dynamic kolProjectPriceJsonObj; + + try + { + kolProjectPriceJsonObj = JsonConvert.DeserializeObject(kolProjectPriceArrayJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "kolProjectPrice json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + List kolProjectPrices = new List(); + + foreach (dynamic item in kolProjectPriceJsonObj) { + kolProjectPrice kpp = new kolProjectPrice(); + kpp.kolProjectPrice_uid = "kpp_" + GlobalClass.CreateRandomCode(16); + kpp.kolProject_uid = kolProject_uid; + kpp.optionItem_uid = item.optionItem_uid; + kpp.mediaItem_uid = item.mediaItem_uid; + kpp.kolProjectPrice_other = item.kolProjectPrice_other; + kpp.kolProjectPrice_num = item.kolProjectPrice_num; + kpp.kolProjectPrice_cost = item.kolProjectPrice_cost; + kpp.kolProjectPrice_date = item.kolProjectPrice_date; + kpp.kolProjectPrice_createdate = DateTime.Now; + kpp.kolProjectPrice_modifydate = DateTime.Now; + + kolProjectPrices.Add(kpp); + } + + dynamic kolProjectLinkJsonObj; + + try + { + kolProjectLinkJsonObj = JsonConvert.DeserializeObject(kolProjectLinkArrayJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "kolProjectPrice json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + List kolProjectLinks = new List(); + + foreach (dynamic item in kolProjectLinkJsonObj) { + kolProjectLink kpl = new kolProjectLink(); + kpl.kolProjectLink_uid = "kpl_" + GlobalClass.CreateRandomCode(16); + kpl.kolProject_uid = kolProject_uid; + kpl.kolProjectLink_url = item.kolProjectLink_url; + kpl.kolProjectLink_text = item.kolProjectLink_text; + kpl.kolProjectLink_createdate = DateTime.Now; + + kolProjectLinks.Add(kpl); + } + + dynamic kolProjectImageJsonObj; + + try + { + kolProjectImageJsonObj = JsonConvert.DeserializeObject(kolProjectImageArrayJson); + } + catch (Exception ex) + { + ret.ret = "no"; + ret.err_code = "0003"; + ret.message = "kolProjectImage json error" + ex.Message; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + List kolProjectImages = new List(); + + foreach (dynamic item in kolProjectImageJsonObj) { + kolProjectImage kpi = new kolProjectImage(); + kpi.kolProjectImage_uid = "kpi_" + GlobalClass.CreateRandomCode(16); + kpi.kolProjectImage_photo = item.kolProjectImage_photo; + kpi.kolProjectImage_desc = item.kolProjectImage_desc; + kpi.kolProject_uid = kolProject_uid; + kpi.kolProjectImage_createdate = DateTime.Now; + + kolProjectImages.Add(kpi); + } + + conn.Insert(kp); + conn.Insert(kolCooperateTypes); + conn.Insert(kolProjectEvaluates); + conn.Insert(kolProjectPrices); + conn.Insert(kolProjectLinks); + conn.Insert(kolProjectImages); + + ret.data.kolProject = kp; + ret.data.kolProjectEvaluates = kolProjectEvaluates; + ret.data.kolProjectPrices = kolProjectPrices; + ret.data.kolProjectLinks = kolProjectLinks; + ret.data.kolProjectImages = kolProjectImages; + ret.data.kolCooperateTypes = kolCooperateTypes; + ret.data.project = conn.QueryFirst("select * from project where project_uid = @project_uid ", new { project_uid = kp.project_uid }); + ret.ret = "yes"; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + [Route("mediaSpecList")] public ActionResult MediaSpecList(IFormCollection obj) { mediaSpecListResult ret = new mediaSpecListResult(); @@ -1022,6 +1204,15 @@ namespace Journeys_WantHome.Controllers } + public class kolProjectResult + { + public string ret { get; set; } = "no"; + public string err_code { get; set; } = "0000"; + public string message { get; set; } = ""; + + public kolProjectDetail data { get; set; } = new kolProjectDetail(); + } + public class mediaSpecListResult { public string ret { get; set; } = "no"; public string err_code { get; set; } = "0000"; diff --git a/Models/DbTableClass.cs b/Models/DbTableClass.cs index 98d55a4..6d7cd26 100644 --- a/Models/DbTableClass.cs +++ b/Models/DbTableClass.cs @@ -8,6 +8,19 @@ using Newtonsoft.Json.Linq; public class DbTableClass { + [Table("kolProjectEvaluate")] + public class kolProjectEvaluate + { + [JsonIgnore] + [Key] + public int kolProjectEvaluate_sn { get; set; } + public string kol_uid { get; set; } = ""; + public string project_uid { get; set; } = ""; + public string kolProject_uid { get; set; } = ""; + public string kolProjectEvaluate_text { get; set; } = ""; + } + + [Table("kolProjectPrice")] public class kolProjectPrice { @@ -249,6 +262,8 @@ public class DbTableClass public string project_uid { get; set; } = ""; + public string kolProject_uid { get; set; } = ""; + public string option_uid { get; set; } = ""; public string optionItem_uid { get; set; } = ""; diff --git a/Models/kolProjectDetail.cs b/Models/kolProjectDetail.cs new file mode 100644 index 0000000..5ff75a8 --- /dev/null +++ b/Models/kolProjectDetail.cs @@ -0,0 +1,37 @@ +using Dapper; +using Dapper.Contrib.Extensions; +using NPOI.SS.Formula.Functions; +using System.Data.SqlClient; +using static DbTableClass; + +public class kolProjectDetail +{ + DbConn dbConn = new DbConn(); + SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString")); + + public kolProject kolProject = new kolProject(); + public List kolProjectImages = new List(); + public List kolProjectLinks = new List(); + public List kolProjectPrices = new List(); + public List kolProjectEvaluates = new List(); + public List kolCooperateTypes = new List(); + public project project = new project(); + + public kolProjectDetail() + { + + } + + public kolProjectDetail(string kolProject_uid) { + kolProject = conn.QueryFirst("select * from kolProject where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + + kolProjectImages = conn.Query("select * from kolProjectImages where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }).ToList(); + kolProjectLinks = conn.Query("select * from kolProjectLink where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }).ToList(); + kolProjectPrices = conn.Query("select * from kolProjectPrice where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }).ToList(); + kolProjectEvaluates = conn.Query("select * from kolProjectEvaluate where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }).ToList(); + kolCooperateTypes = conn.Query("select * from kolCooperateType where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }).ToList(); + + project = conn.QueryFirst("select * from project where project_uid = @project_uid ", new { project_uid = kolProject.project_uid }); + + } +} diff --git a/Views/Home/KolList.cshtml b/Views/Home/KolList.cshtml index 91ab98e..2cb5d99 100644 --- a/Views/Home/KolList.cshtml +++ b/Views/Home/KolList.cshtml @@ -315,8 +315,8 @@