using System; using System.Linq; namespace Education { public class 非講師匯入 : ImportBase { public 非講師匯入() { columns.Add(new ImportColumn("編號", 10)); columns.Add(new ImportColumn("姓名", 10)); columns.Add(new ImportColumn("身分證字號", 16)); columns.Add(new ImportColumn("藝名網名", 10)); columns.Add(new ImportColumn("聯絡電話", 16)); columns.Add(new ImportColumn("電子郵件", 25)); columns.Add(new ImportColumn("戶籍地址_郵編", 10)); columns.Add(new ImportColumn("戶籍地址_縣市", 10)); columns.Add(new ImportColumn("戶籍地址_鄉鎮市區", 10)); columns.Add(new ImportColumn("戶籍地址_街道地址", 30)); columns.Add(new ImportColumn("居住地址_郵編", 10)); columns.Add(new ImportColumn("居住地址_縣市", 10)); columns.Add(new ImportColumn("居住地址_鄉鎮市區", 10)); columns.Add(new ImportColumn("居住地址_街道地址", 30)); columns.Add(new ImportColumn("職務內容", 100)); columns.Add(new ImportColumn("合作滿意度", 100)); columns.Add(new ImportColumn("窗口", 100)); columns.Add(new ImportColumn("是否接受邀約", 10, fieldName: "接受邀約", transformFunction: BoolTransform)); columns.Add(new ImportColumn("聯繫狀況與報價", 100)); columns.Add(new ImportColumn("備註", 100)); } public override T SelectExisting(T item) { var row = item as 非講師Item; if (row == null) return default(T); var dac = new DAC_非講師(connection); 非講師Item existing = null; if (!String.IsNullOrEmpty(row.編號)) { existing = dac.SelectOne(row.編號).FirstOrDefault(); } else { existing = dac.Existing(row.姓名, row.身分證字號); } if (existing != null && existing is T tExisting) return tExisting; return default(T); } public override void InsertOne(T item) { var row = item as 非講師Item; if (row == null) return; var dac = new DAC_非講師(connection); dac.InsertOne(row); } public override void UpdateOne(T newItem, T existingItem) { var newRow = newItem as 非講師Item; var existingRow = existingItem as 非講師Item; if (newRow == null || existingRow == null) return; var dac = new DAC_非講師(connection); newRow.編號 = existingRow.編號; newRow.DB_APPNO = existingRow.DB_APPNO; dac.UpdateOne(newRow); } public override string ImportRowErrorMessage(T item, string errorMessage) { var row = item as 非講師Item; if (row != null) { return $"姓名:{row.姓名},身分證字號:{row.身分證字號},錯誤原因:{errorMessage}"; } else { return base.ImportRowErrorMessage(item, errorMessage); } } } }