public static bool ImportData(string elementType, bool clearOldData, DataTable data, FieldMap <string, string> map, ImportDataProcessHandler process) { if (data == null && data.Rows.Count == 0) { return(false); } if (map.Count == 0) { return(false); } try { Assembly ass = null; Type t = null; string typeName = null; //清空数据库中的原有数据 switch (elementType) { case "会员": ass = Assembly.Load("Model"); t = ass.GetType("TopFashion.Member", false, true); typeName = t.FullName; if (clearOldData) { MemberLogic.GetInstance().ClearMembers(); } break; case "员工": ass = Assembly.Load("Model"); t = ass.GetType("TopFashion.Staff", false, true); typeName = t.FullName; if (clearOldData) { StaffLogic.GetInstance().ClearStaffs(); } break; default: break; } if (!string.IsNullOrEmpty(typeName)) { for (int i = 0; i < data.Rows.Count; i++) { DataRow row = data.Rows[i];//FormatData(data.Rows[i]); //保存数据到数据库 switch (elementType) { case "会员": Member elementM = ass.CreateInstance(typeName, true) as Member; Member member = GetData <Member>(row, map, elementM, t); MemberLogic.GetInstance().AddMember(member); break; case "员工": Staff elementS = ass.CreateInstance(typeName, true) as Staff; Staff staff = GetData <Staff>(row, map, elementS, t); StaffLogic.GetInstance().AddStaff(staff); break; default: break; } //反馈进度给外部程序 if (process != null) { process(i + 1); } } } return(true); } catch (Exception) { return(false); } }
private void ImportData(DataTable data, FieldMap <string, string> map, bool clearOldData = true) { ImportDataProcessHandler process = new ImportDataProcessHandler(ImportProcess); bool f = Common.ImportData(comboBox2.Text, clearOldData, data, map, process); }