master
嘉祥 詹 2024-06-28 15:34:36 +08:00
parent 4c79361c71
commit d6c7f8d2e8
3 changed files with 250 additions and 36 deletions

View File

@ -2092,7 +2092,7 @@ namespace Journeys_WantHome.Controllers
foreach (kol kolItem in kols) foreach (kol kolItem in kols)
{ {
kolDetial objItem = new kolDetial(kolItem); kolSimpleDetial objItem = new kolSimpleDetial(kolItem);
ret.kolList.Add(objItem); ret.kolList.Add(objItem);
} }
@ -2786,7 +2786,7 @@ namespace Journeys_WantHome.Controllers
public string err_code { get; set; } = ""; public string err_code { get; set; } = "";
public string message { get; set; } = ""; public string message { get; set; } = "";
public List<kolDetial> kolList { get; set; } = new List<kolDetial>(); public List<kolSimpleDetial> kolList { get; set; } = new List<kolSimpleDetial>();
} }
public class kolResult { public class kolResult {
public string ret { get; set; } = ""; public string ret { get; set; } = "";

View File

@ -18,7 +18,8 @@ public class kolDetial : kol
public string updateResult { get; set; } = ""; public string updateResult { get; set; } = "";
private kol _kol; private kol _kol;
public kolDetial() { public kolDetial()
{
_kol = new kol(); _kol = new kol();
} }
@ -41,9 +42,10 @@ public class kolDetial : kol
public kolDetial(string kol_uid) public kolDetial(string kol_uid)
{ {
_kol = conn.QueryFirstOrDefault<kol>("select * from kol where kol_uid = @kol_uid", new { kol_uid = kol_uid}); _kol = conn.QueryFirstOrDefault<kol>("select * from kol where kol_uid = @kol_uid", new { kol_uid = kol_uid });
if (_kol != null) { if (_kol != null)
{
Type dataType = _kol.GetType(); Type dataType = _kol.GetType();
foreach (var prop in dataType.GetProperties()) foreach (var prop in dataType.GetProperties())
@ -59,8 +61,10 @@ public class kolDetial : kol
} }
} }
private void loadList() { private void loadList()
if (this.kol_uid != "") { {
if (this.kol_uid != "")
{
cooperateTypes.Clear(); cooperateTypes.Clear();
fansTypes.Clear(); fansTypes.Clear();
makeups.Clear(); makeups.Clear();
@ -68,11 +72,11 @@ public class kolDetial : kol
styles.Clear(); styles.Clear();
tags.Clear(); tags.Clear();
List <kolCooperateType> kolCooperateTypes = conn.Query<kolCooperateType>("select A.* from kolCooperateType A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid} ).ToList(); List<kolCooperateType> kolCooperateTypes = conn.Query<kolCooperateType>("select A.* from kolCooperateType A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolFansType> kolFansTypes = conn.Query<kolFansType>("select A.* from kolFansType A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList(); List<kolFansType> kolFansTypes = conn.Query<kolFansType>("select A.* from kolFansType A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolMakeup> kolMakeups = conn.Query<kolMakeup>("select A.* from kolMakeup A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList(); List<kolMakeup> kolMakeups = conn.Query<kolMakeup>("select A.* from kolMakeup A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolMedia> kolMedias = conn.Query<kolMedia>("select A.* from kolMedia A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList(); List<kolMedia> kolMedias = conn.Query<kolMedia>("select A.* from kolMedia A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolStyle> kolStyles = conn.Query<kolStyle>("select A.* from kolStyle A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList(); List<kolStyle> kolStyles = conn.Query<kolStyle>("select A.* from kolStyle A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
List<kolTag> kolTags = conn.Query<kolTag>("select A.* from kolTag A, tags B where A.tag_uid = B.tag_uid and A.kol_uid = @kol_uid", new { kol_uid = kol_uid }).ToList(); List<kolTag> kolTags = conn.Query<kolTag>("select A.* from kolTag A, tags B where A.tag_uid = B.tag_uid and A.kol_uid = @kol_uid", new { kol_uid = kol_uid }).ToList();
@ -82,28 +86,29 @@ public class kolDetial : kol
cooperateTypes.Add(objDetail); cooperateTypes.Add(objDetail);
} }
//foreach (kolFansType objItem in kolFansTypes) { foreach (kolFansType objItem in kolFansTypes)
// kolFansTypeDetail objDetail = new kolFansTypeDetail(objItem); {
// fansTypes.Add(objDetail); kolFansTypeDetail objDetail = new kolFansTypeDetail(objItem);
//} fansTypes.Add(objDetail);
}
//foreach (kolMakeup objItem in kolMakeups) foreach (kolMakeup objItem in kolMakeups)
//{ {
// kolMakeupDetail objDetail = new kolMakeupDetail(objItem); kolMakeupDetail objDetail = new kolMakeupDetail(objItem);
// makeups.Add(objDetail); makeups.Add(objDetail);
//} }
//foreach (kolMedia objItem in kolMedias) foreach (kolMedia objItem in kolMedias)
//{ {
// kolMediaDetail objDetail = new kolMediaDetail(objItem); kolMediaDetail objDetail = new kolMediaDetail(objItem);
// medias.Add(objDetail); medias.Add(objDetail);
//} }
//foreach (kolStyle objItem in kolStyles) foreach (kolStyle objItem in kolStyles)
//{ {
// kolStyleDetail objDetail = new kolStyleDetail(objItem); kolStyleDetail objDetail = new kolStyleDetail(objItem);
// styles.Add(objDetail); styles.Add(objDetail);
//} }
foreach (kolTag objItem in kolTags) foreach (kolTag objItem in kolTags)
{ {
@ -128,7 +133,8 @@ public class kolDetial : kol
_kol.GetType().GetProperty(propName).SetValue(_kol, propValue); _kol.GetType().GetProperty(propName).SetValue(_kol, propValue);
} }
if (_kol.kol_uid == "") { if (_kol.kol_uid == "")
{
this._kol.kol_uid = "KOL_" + GlobalClass.CreateRandomCode(12); this._kol.kol_uid = "KOL_" + GlobalClass.CreateRandomCode(12);
this.kol_uid = this._kol.kol_uid; this.kol_uid = this._kol.kol_uid;
try try
@ -158,7 +164,8 @@ public class kolDetial : kol
} }
} }
} }
else { else
{
updateResult = "null 物件無法更新"; updateResult = "null 物件無法更新";
return false; return false;
} }
@ -166,7 +173,8 @@ public class kolDetial : kol
private void updateList() private void updateList()
{ {
foreach (var item in cooperateTypes) { foreach (var item in cooperateTypes)
{
item.dataUpdate(); item.dataUpdate();
} }
@ -194,5 +202,6 @@ public class kolDetial : kol
{ {
item.dataUpdate(); item.dataUpdate();
} }
} }
} }

205
Models/kolSimpleDetial.cs Normal file
View File

@ -0,0 +1,205 @@
using Dapper;
using Dapper.Contrib.Extensions;
using NPOI.SS.Formula.Functions;
using System.Data.SqlClient;
using static DbTableClass;
public class kolSimpleDetial : kol
{
DbConn dbConn = new DbConn();
SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString"));
public List<kolCooperateTypeDetail> cooperateTypes = new List<kolCooperateTypeDetail>();
public List<kolFansTypeDetail> fansTypes = new List<kolFansTypeDetail>();
public List<kolMakeupDetail> makeups = new List<kolMakeupDetail>();
public List<kolMediaDetail> medias = new List<kolMediaDetail>();
public List<kolStyleDetail> styles = new List<kolStyleDetail>();
public List<kolTagDetail> tags = new List<kolTagDetail>();
public string updateResult { get; set; } = "";
private kol _kol;
public kolSimpleDetial()
{
_kol = new kol();
}
public kolSimpleDetial(kol kolObj)
{
Type kolType = kolObj.GetType();
foreach (var prop in kolType.GetProperties())
{
string propName = prop.Name;
var valueProperty = kolType.GetProperty(propName);
object propValue = valueProperty.GetValue(kolObj, null);
this.GetType().GetProperty(propName).SetValue(this, propValue);
}
_kol = kolObj;
loadList();
}
public kolSimpleDetial(string kol_uid)
{
_kol = conn.QueryFirstOrDefault<kol>("select * from kol where kol_uid = @kol_uid", new { kol_uid = kol_uid });
if (_kol != null)
{
Type dataType = _kol.GetType();
foreach (var prop in dataType.GetProperties())
{
string propName = prop.Name;
var valueProperty = dataType.GetProperty(propName);
object propValue = valueProperty.GetValue(_kol, null);
this.GetType().GetProperty(propName).SetValue(this, propValue);
}
loadList();
}
}
private void loadList()
{
if (this.kol_uid != "")
{
cooperateTypes.Clear();
fansTypes.Clear();
makeups.Clear();
medias.Clear();
styles.Clear();
tags.Clear();
List<kolCooperateType> kolCooperateTypes = conn.Query<kolCooperateType>("select A.* from kolCooperateType A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolFansType> kolFansTypes = conn.Query<kolFansType>("select A.* from kolFansType A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolMakeup> kolMakeups = conn.Query<kolMakeup>("select A.* from kolMakeup A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolMedia> kolMedias = conn.Query<kolMedia>("select A.* from kolMedia A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
//List<kolStyle> kolStyles = conn.Query<kolStyle>("select A.* from kolStyle A, optionItem B where A.option_uid = B.option_uid and A.optionItem_uid = B.optionItem_uid and A.kol_uid = @kol_uid order by B.optionItem_order", new { kol_uid = this.kol_uid }).ToList();
List<kolTag> kolTags = conn.Query<kolTag>("select A.* from kolTag A, tags B where A.tag_uid = B.tag_uid and A.kol_uid = @kol_uid", new { kol_uid = kol_uid }).ToList();
foreach (kolCooperateType objItem in kolCooperateTypes)
{
kolCooperateTypeDetail objDetail = new kolCooperateTypeDetail(objItem);
cooperateTypes.Add(objDetail);
}
//foreach (kolFansType objItem in kolFansTypes) {
// kolFansTypeDetail objDetail = new kolFansTypeDetail(objItem);
// fansTypes.Add(objDetail);
//}
//foreach (kolMakeup objItem in kolMakeups)
//{
// kolMakeupDetail objDetail = new kolMakeupDetail(objItem);
// makeups.Add(objDetail);
//}
//foreach (kolMedia objItem in kolMedias)
//{
// kolMediaDetail objDetail = new kolMediaDetail(objItem);
// medias.Add(objDetail);
//}
//foreach (kolStyle objItem in kolStyles)
//{
// kolStyleDetail objDetail = new kolStyleDetail(objItem);
// styles.Add(objDetail);
//}
foreach (kolTag objItem in kolTags)
{
kolTagDetail objDetail = new kolTagDetail(objItem);
tags.Add(objDetail);
}
}
}
public bool dataUpdate()
{
if (_kol != null)
{
Type dataType = _kol.GetType();
foreach (var prop in dataType.GetProperties())
{
string propName = prop.Name;
var valueProperty = dataType.GetProperty(propName);
object propValue = valueProperty.GetValue(this, null);
_kol.GetType().GetProperty(propName).SetValue(_kol, propValue);
}
if (_kol.kol_uid == "")
{
this._kol.kol_uid = "KOL_" + GlobalClass.CreateRandomCode(12);
this.kol_uid = this._kol.kol_uid;
try
{
conn.Insert(this._kol);
updateResult = "success";
return true;
}
catch (Exception ex)
{
updateResult = ex.Message;
return false;
}
}
else
{
try
{
conn.Update(this._kol);
updateResult = "success";
return true;
}
catch (Exception ex)
{
updateResult = ex.Message;
return false;
}
}
}
else
{
updateResult = "null 物件無法更新";
return false;
}
}
private void updateList()
{
foreach (var item in cooperateTypes)
{
item.dataUpdate();
}
foreach (var item in fansTypes)
{
item.dataUpdate();
}
foreach (var item in makeups)
{
item.dataUpdate();
}
foreach (var item in medias)
{
item.dataUpdate();
}
foreach (var item in styles)
{
item.dataUpdate();
}
foreach (var item in tags)
{
item.dataUpdate();
}
}
}