protected void btnImport_Click(object sender, System.EventArgs e) { this.taskArray = this.hfldExcelColumns.Value.Split(new char[] { ',' }); this.resourceArray = this.hfldResource.Value.Split(new char[] { ',' }); this.hfldExcelColumns.Value = string.Empty; this.hfldResource.Value = string.Empty; if (this.ViewState["ExcelName"] != null && !string.IsNullOrEmpty(this.ViewState["ExcelName"].ToString())) { bool flag = true; if (string.IsNullOrEmpty(this.taskId)) { this.dtWBS = (this.ViewState["dtwbs"] as DataTable); if (this.dtWBS.Rows.Count > 0) { BudContractTask.ClearByPrjId(this.prjId); } } else { flag = (BudContractTask.GetById(this.taskId) != null); } if (flag) { this.dtWBS = (this.ViewState["dtwbs"] as DataTable); BudTaskServices budTaskServices = new BudTaskServices(this.taskId, this.prjId, this.version, this.dtWBS); bool flag2 = false; System.Collections.Generic.IDictionary <string, int> relation = ExcelUtility.GetRelation(this.taskArray); int num = -1; int num2 = -1; string str = string.Empty; foreach (System.Collections.Generic.KeyValuePair <string, int> current in relation) { string key; if ((key = current.Key) != null) { if (!(key == "TaskCode")) { if (key == "SerialNo") { num = current.Value; } } else { num2 = current.Value; } } } if (num != -1) { str = this.dtWBS.Columns[num].ColumnName; this.dtWBS.DefaultView.Sort = str + " DESC"; for (int i = 1; i < this.dtWBS.Rows.Count; i++) { if (this.dtWBS.Rows[i][num].ToString().Trim() == this.dtWBS.Rows[i - 1][num].ToString().Trim()) { flag2 = true; break; } } } else { if (num2 != -1) { str = this.dtWBS.Columns[num2].ColumnName; this.dtWBS.DefaultView.Sort = str + " DESC"; for (int j = 1; j < this.dtWBS.Rows.Count; j++) { if (this.dtWBS.Rows[j][num2].ToString().Trim() == this.dtWBS.Rows[j - 1][num2].ToString().Trim()) { flag2 = true; break; } } } } if (flag2) { base.RegisterScript("top.ui.alert('导入失败!\\n导入的Excel中有节点的序号出现重复,请修改!');"); return; } if (num == -1 && num2 != -1) { foreach (DataRow dataRow in this.dtWBS.Rows) { string code = (dataRow[num2] == null) ? "" : dataRow[num2].ToString(); flag2 = BudContractTask.CheckCode(code, this.prjId); if (flag2) { break; } } } if (!flag2) { this.inputUser = PageHelper.QueryUser(this, base.UserCode); int num3 = budTaskServices.ConverConTaskList(this.taskArray, this.inputUser, this.errors); this.AddResource(); string text = "成功"; if (num3 == 0) { text = "失败"; } string text2 = string.Empty; if (this.errors.Count > 0) { this.ViewState["errors"] = this.errors; this.ShowErrors(); text2 = "\\n部分节点导入失败,详见“警告信息”!"; } else { this.CloseSkip(); } base.RegisterScript(string.Concat(new string[] { "top.ui.alert('Excel导入", text, "!", text2, "');" })); base.RegisterScript("top.ui._contractTask.location.href = top.ui._contractTask.location.href;"); return; } base.RegisterScript("top.ui.alert('导入失败!\\n导入的Excel中有节点的任务编码与已有的节点出现重复,请修改!');"); base.RegisterScript("top.ui._contractTask.location.href = top.ui._contractTask.location.href;"); return; } else { base.RegisterScript("top.ui.alert('Excel导入失败!\\n你选择要导入的上级节点已不存在!');"); base.RegisterScript("top.ui._contractTask.location.href = top.ui._contractTask.location.href;"); } } }