private void btn文件导入_Click(object sender, EventArgs e) { 任务Dao dao = m_cm.Dao as 任务Dao; if (openFileDialog文件导入.ShowDialog() == System.Windows.Forms.DialogResult.OK) { IList <DataTable> dtList = Feng.Windows.Utils.ExcelHelper.ReadExcel(openFileDialog文件导入.FileName, true); int successCount = 0;//成功导入的任务数量 using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <任务>()) { try { rep.BeginTransaction(); //System.Reflection.PropertyInfo[] properties = typeof(任务).GetProperties(); foreach (DataTable dt in dtList) { if (!dt.Columns.Contains("任务性质")) { continue; } foreach (DataRow dr in dt.Rows) { //if (!dr.Table.Columns.Contains("提单号") || string.IsNullOrEmpty(dr["提单号"].ToString())) // continue; //if (rep.List<任务>(string.Format("提单号 = {0}", dr["提单号"].ToString()), null).Count > 0) // continue; 任务 rw = new 任务(); rw.任务来源 = 任务来源.文件; rw.IsActive = false; rw.是否拒绝 = false; rw.任务性质 = (string.IsNullOrEmpty(dr["任务性质"].ToString()) ? 任务性质.进口拆箱 : (任务性质)Enum.Parse(typeof(任务性质), dr["任务性质"].ToString(), true)); rw.转关箱标志 = string.IsNullOrEmpty(dr["转关箱标志"].ToString()) ? null : (转关箱标志?)Enum.Parse(typeof(转关箱标志), dr["转关箱标志"].ToString(), true); rw.委托人编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["委托人"].ToString()); rw.委托时间 = ConvertHelper.ToDateTime(dr["委托时间"]); rw.委托联系人 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["委托联系人"].ToString()); rw.提单号 = ConvertHelper.ToString(dr["提单号"]); rw.箱号 = ConvertHelper.ToString(dr["箱号"]); rw.箱型编号 = (int?)Feng.Utils.NameValueControlHelper.GetMultiValue("备案_箱型", dr["箱型"].ToString()); rw.船名 = ConvertHelper.ToString(dr["船名"]); rw.航次 = ConvertHelper.ToString(dr["航次"]); rw.箱属船公司编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["箱属船公司"].ToString()); rw.货名 = ConvertHelper.ToString(dr["货物分类"]); rw.货物特征 = ConvertHelper.ToString(dr["货物特征"]); rw.价值 = ConvertHelper.ToDecimal(dr["价值"]); rw.重量 = ConvertHelper.ToDouble(dr["重量"]); if (rw.任务性质 == 任务性质.进口拆箱 || rw.任务性质 == 任务性质.出口装箱) { rw.提箱点编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["提箱点"].ToString()); if (rw.任务性质 == 任务性质.进口拆箱) { rw.提箱时间要求 = ConvertHelper.ToDateTime(dr["疏港期限"]); } rw.还箱进港点编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["还箱/进港点"].ToString()); rw.还箱进港时间要求 = ConvertHelper.ToDateTime(dr["还箱/进港期限"]); } if (rw.任务性质 != 任务性质.进口拆箱) { rw.装货地编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_装卸货地", dr["装货地"].ToString()); rw.装货时间要求始 = ConvertHelper.ToDateTime(dr["装货时间要求始"]); rw.装货时间要求止 = ConvertHelper.ToDateTime(dr["装货时间要求止"]); rw.装货联系人 = ConvertHelper.ToString(dr["装货联系人"]); rw.装货联系手机 = ConvertHelper.ToString(dr["装货联系电话(手机)"]); rw.装货联系座机 = ConvertHelper.ToString(dr["装货联系电话(座机)"]); rw.装货地详细地址 = ConvertHelper.ToString(dr["装货地详细地址"]); } if (rw.任务性质 != 任务性质.出口装箱) { rw.卸货地编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_装卸货地", dr["卸货地"].ToString()); rw.卸货时间要求始 = ConvertHelper.ToDateTime(dr["卸货时间要求始"]); rw.卸货时间要求止 = ConvertHelper.ToDateTime(dr["卸货时间要求止"]); rw.卸货联系人 = ConvertHelper.ToString(dr["卸货联系人"]); rw.卸货联系手机 = ConvertHelper.ToString(dr["卸货联系电话(手机)"]); rw.卸货联系座机 = ConvertHelper.ToString(dr["卸货联系电话(座机)"]); rw.卸货地详细地址 = ConvertHelper.ToString(dr["卸货地详细地址"]); } rw.备注 = ConvertHelper.ToString(dr["备注"]); //foreach (System.Reflection.PropertyInfo property in properties) //{ // if (dr.Table.Columns.Contains(property.Name)) // { // string excelValue = dr[property.Name].ToString(); // object realValue = null; // if (string.IsNullOrEmpty(excelValue)) // { // continue; // } // if (property.PropertyType.Equals(typeof(任务性质))) // { // realValue = (任务性质)Enum.Parse(typeof(任务性质), excelValue.ToString(), true); // } // else if (property.PropertyType.Equals(typeof(string))) // { // realValue = excelValue.ToString(); // } // else if (property.PropertyType.Equals(typeof(int))) // { // realValue = Convert.ToInt32(excelValue); // } // else if (property.PropertyType.Equals(typeof(decimal))) // { // realValue = Convert.ToDecimal(excelValue); // } // else if (property.PropertyType.Equals(typeof(double))) // { // realValue = Convert.ToDouble(excelValue); // } // else if (property.PropertyType.Equals(typeof(bool))) // { // realValue = excelValue == "是" ? true : false; // //realValue = Convert.ToBoolean(excelValue); // } // else if (property.PropertyType.Equals(typeof(DateTime))) // { // realValue = Convert.ToDateTime(excelValue); // } // property.SetValue(rw, realValue, null); // } //} if ((int)rw.任务性质 != 0) { dao.Save(rep, rw); successCount++; } } } rep.CommitTransaction(); MessageForm.ShowInfo("成功导入 " + successCount + " 条任务。"); m_rightGrid.ReloadData(); } catch (Exception ex) { rep.RollbackTransaction(); ExceptionProcess.ProcessWithNotify(ex); } } } }
private void btn网上委托导入_Click(object sender, EventArgs e) { 任务Dao dao = m_cm.Dao as 任务Dao; using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <网上委托任务>()) { IList <网上委托任务> wswtrwList = rep.List <网上委托任务>("from 网上委托任务 where 是否受理 = 'false'", null); if (wswtrwList != null && wswtrwList.Count > 0) { int successCount = 0;//成功导入的任务数量 foreach (网上委托任务 wswtrw in wswtrwList) { using (IRepository rep1 = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <任务>()) { try { rep1.BeginTransaction(); 任务 rw = new 任务(); rw.任务来源 = 任务来源.网上; rw.IsActive = true; rw.备注 = wswtrw.备注; rw.船名 = wswtrw.船名; rw.航次 = wswtrw.航次; rw.封志号 = wswtrw.封志号; rw.还箱进港点编号 = wswtrw.还箱进港点编号; rw.还箱进港时间要求 = wswtrw.还箱进港时间要求; rw.货名 = wswtrw.货名; rw.货物特征 = wswtrw.货物特征; rw.价值 = wswtrw.价值; rw.提单号 = wswtrw.提单号; rw.任务性质 = wswtrw.任务性质; rw.是否小箱 = wswtrw.是否小箱; rw.提示性箱号 = wswtrw.提示性箱号; rw.提箱点编号 = wswtrw.提箱点编号; rw.提箱时间要求 = wswtrw.提箱时间要求; rw.委托联系人 = wswtrw.委托联系人; rw.委托人编号 = wswtrw.委托人编号; rw.委托时间 = wswtrw.委托时间; rw.箱号 = wswtrw.箱号; rw.箱属船公司编号 = wswtrw.箱属船公司编号; rw.箱型编号 = wswtrw.箱型编号; rw.卸货地编号 = wswtrw.卸货地编号; rw.卸货联系手机 = wswtrw.卸货联系手机; rw.卸货联系座机 = wswtrw.卸货联系座机; rw.卸货联系人 = wswtrw.卸货联系人; rw.卸货时间要求始 = wswtrw.卸货时间要求始; rw.卸货时间要求止 = wswtrw.卸货时间要求止; rw.重量 = wswtrw.重量; rw.转关箱标志 = wswtrw.转关箱标志; rw.装货地编号 = wswtrw.装货地编号; rw.卸货联系手机 = wswtrw.卸货联系手机; rw.卸货联系座机 = wswtrw.卸货联系座机; rw.装货联系人 = wswtrw.装货联系人; rw.装货时间要求始 = wswtrw.装货时间要求始; rw.装货时间要求止 = wswtrw.装货时间要求止; dao.Save(rep1, rw); rep1.CommitTransaction(); rep.BeginTransaction(); wswtrw.是否受理 = true; rep.Update(wswtrw); rep.CommitTransaction(); successCount++; } catch (Exception ex) { rep1.RollbackTransaction(); rep.RollbackTransaction(); if (MessageForm.ShowYesNo("网上委托任务\"" + wswtrw.ID + "\"有备案错误。" + Environment.NewLine + "\"是\"跳过任务,\"否\"显示错误")) { continue; } else { ServiceProvider.GetService <IExceptionProcess>().ProcessWithNotify(ex); } } } } m_rightGrid.ReloadData(); MessageForm.ShowInfo("成功导入 " + successCount + " 条任务。"); } } }