diff --git a/Controllers/ApiController.cs b/Controllers/ApiController.cs index 8b09f97..62af7da 100644 --- a/Controllers/ApiController.cs +++ b/Controllers/ApiController.cs @@ -110,6 +110,28 @@ namespace Journeys_WantHome.Controllers string kolProjectImageArrayJson = obj["kolProjectImageArrayJson"].ToString().TrimEnd(','); string kolProject_memo = obj["kolProject_memo"].ToString(); + if (method == "del") { + kolProject kp = conn.QueryFirstOrDefault("select * from kolProject where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + + if (kp == null) + { + ret.ret = "no"; + ret.err_code = "10009"; + ret.message = "無此kolProject_uid資料!"; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + conn.Execute("delete kolCooperateType where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectEvaluate where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectPrice where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectLink where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectImage where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProject where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + + ret.ret = "yes"; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + if (method == "get") { @@ -128,6 +150,176 @@ namespace Journeys_WantHome.Controllers } + if (method == "edit") { + kolProject kp = conn.QueryFirstOrDefault("select * from kolProject where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + + if (kp == null) { + ret.ret = "no"; + ret.err_code = "10009"; + ret.message = "無此kolProject_uid資料!"; + return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8"); + } + + 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_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.Update(kp); + + conn.Execute("delete kolCooperateType where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectEvaluate where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectPrice where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectLink where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + conn.Execute("delete kolProjectImage where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }); + + + + 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 = conn.Query("select * from kolProjectPriceDetail where kolProject_uid = @kolProject_uid", new { kolProject_uid = kolProject_uid }).ToList(); + 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"); + } + if (method == "add") { kolProject_uid = "kp_" + GlobalClass.CreateRandomCode(16); diff --git a/wwwroot/assets/javascript/custom/kollist.js b/wwwroot/assets/javascript/custom/kollist.js index 530c49e..9c49873 100644 --- a/wwwroot/assets/javascript/custom/kollist.js +++ b/wwwroot/assets/javascript/custom/kollist.js @@ -1259,6 +1259,39 @@ function kolProjectTableButtonClick(obj) { } }); } + + if (type == "del") { + if (confirm('確定刪除此筆資料? 刪除後將無任何方法回復!')) { + + + var formData = { + method: "del", + kolProject_uid: uid + } + + $.ajax({ + url: "/Api/kolProjectAddEditDelGet", + type: "post", + data: formData, + success: function (data, textStatus, jqXHR) { + if (data.ret == "yes") { + var row = kolProjectTable.api().row(kolProjectRowID).remove().draw(false); + alert('刪除完成!'); + + } else { + alert(data.message); + + if (data.err_code == "9999") { + location.href = "/Home/Index"; + } + } + }, + error: function (jqXHR, textStatus, errorThrown) { + alert('網路或伺服器發生錯誤,請稍後重試!'); + } + }); + } + } } function buttonPhotoClick(obj) { photoTr = $(obj).closest('tr'); @@ -1381,9 +1414,11 @@ function buttonClick2(obj) { $('#dt-responsive-kolProject').dataTable().fnAddData(data.datas); - kolProjectTable = $('#dt-responsive-kolProject').dataTable(); - $('#clientProjectModal').modal('toggle'); + } + + kolProjectTable = $('#dt-responsive-kolProject').dataTable(); + $('#clientProjectModal').modal('toggle'); } else { alert(data.message); diff --git a/wwwroot/images/cut/cutPhoto_294X2V23.jpg b/wwwroot/images/cut/cutPhoto_294X2V23.jpg new file mode 100644 index 0000000..c36e0ea Binary files /dev/null and b/wwwroot/images/cut/cutPhoto_294X2V23.jpg differ