コード例 #1
0
 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;");
         }
     }
 }