private bool SaveXml(string xmlFileName) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(xmlFileName); Types = GetTypeTable(xDoc); //Check 是否使用模板 if (!CheckUseTemplate(Types)) { return(false); } Resources = GetResourceTable(xDoc); Assignments = GetAssignmentTable(xDoc); XmlNodeList tasks = xDoc.GetElementsByTagName("Task"); foreach (XmlNode node in tasks) { TmpSdpImportdetail tmpSdpDetail = new TmpSdpImportdetail(); bool pass = false; List <string> list = Template; if (!GetTmpSdpDetail(node, ref tmpSdpDetail, ref pass, ref list)) { return(false); } //没跳过并且没有选择全部新增栏位 if (!pass && list.Count > 0) { string columns = ""; foreach (string column in list) { if (columns != "") { columns += ","; } columns += column; } if (columns.Contains("TaskType1")) { columns = columns.Replace("TaskType1", "TaskType"); } Msgbox("请完整填写列:" + columns); return(false); } if (!pass) { tmpSdpDetail.Vid = "PM"; tmpSdpDetail.Pmsid = pmsid; tmpSdpDetail.Flag = "N"; new TmpSdpImportdetailBiz().InsertTmpSdpDetail(tmpSdpDetail); } } return(true); }
public IList <TmpSdpImportdetail> GetTmpSdpDetail(TmpSdpImportdetail tmpSdpImportdetail) { try { return(m_PMSSqlConnection.QueryForList <TmpSdpImportdetail>("SelectTmpSdpDetail", tmpSdpImportdetail)); } catch (Exception ex) { m_Logger.Error("TmpSdpImportdetailBiz/InsertTmpSdpDetail" + ex.Message.ToString()); return(null); } }
public bool UpdateParentFlag(string serial) { TmpSdpImportdetail tmpSdpImportdetailForUpdate = new TmpSdpImportdetail(); tmpSdpImportdetailForUpdate.Serial = int.Parse(serial.Trim()); TmpSdpImportdetailBiz tmpSdpImportdetailBiz = new TmpSdpImportdetailBiz(); if (!tmpSdpImportdetailBiz.UpdateTmpSdpDetailFlag(tmpSdpImportdetailForUpdate)) { return(false); } return(true); }
public bool UpdateTmpSdpDetailFlag(TmpSdpImportdetail tmpSdpImportdetail) { bool updateResult = false; try { m_PMSSqlConnection.Update("UpdateTmpSdpDetailFlag", tmpSdpImportdetail); updateResult = true; } catch (Exception ex) { m_Logger.Error("TmpSdpImportdetailBiz/UpdateTmpSdpDetailFlag:" + ex.ToString()); } return(updateResult); }
public int InsertTmpSdpDetail(TmpSdpImportdetail tmpSdpImportdetail) { int returnSerial = 0; try { object objResult = m_PMSSqlConnection.Insert("InsertTmpSdpDetail", tmpSdpImportdetail); if (objResult != null) { returnSerial = (int)objResult; } } catch (Exception ex) { m_Logger.Error("TmpSdpImportdetailBiz/InsertTmpSdpDetail" + ex.Message.ToString()); } return(returnSerial); }
public void ProcessRequest(HttpContext context) { PageParameterManager pageParameterManager = new PageParameterManager(context); var tmpSdpImportdetail = new TmpSdpImportdetail { Pmsid = pageParameterManager.GetString("Pmsid"), //tmpSdpImportdetail.Pmsid = pageParameterManager.GetRequiredGuid("Pmsid").ToString(), //Subject_Category = pageParameterManager.GetRequiredString("subjectCategory"), //Subject_Id = pageParameterManager.GetRequiredGuid("subjectId"), //Resource_Org_Id = pageParameterManager.GetRequiredGuid("resourceOrgId"), }; TmpSdpImportdetailBiz tmpSdpImportdetailBiz = new TmpSdpImportdetailBiz(); var listTmpSdpImportdetail = tmpSdpImportdetailBiz.GetTmpSdpDetail(tmpSdpImportdetail); var serializer = EasyuiTreegridHelp.Serializer <TmpSdpImportdetail>(listTmpSdpImportdetail, null, "Parentno", string.Empty); context.Response.ContentType = "text/plain"; context.Response.Write(serializer); }
private bool GetTmpSdpDetail(XmlNode node, ref TmpSdpImportdetail tmpSdpDetail, ref bool pass, ref List <string> list) { foreach (XmlNode subNode in node.ChildNodes) { if (subNode.Name == "UID") { string taskId = subNode.InnerText; if (taskId == "0") { pass = true; break; } if (Assignments[taskId] != null) { string resourceId = Assignments[taskId].ToString(); if (resourceId.Contains(",")) { string[] resourceIds = resourceId.Split(','); string resource = ""; foreach (string id in resourceIds) { if (resource != "") { resource += ","; } resource += Resources[id].ToString(); } tmpSdpDetail.Resource = resource; } else { tmpSdpDetail.Resource = Resources[Assignments[taskId]].ToString(); } } else { Msgbox("Resource names of all task can not be empty!"); return(false); } } if (subNode.Name == "ID") { //如果没有任务名称跳过不保存 if (subNode.NextSibling.Name != "Name") { pass = true; break; } } if (subNode.Name == "WBS") { string wbs = subNode.InnerText; tmpSdpDetail.Wbs = wbs; if (wbs == "0") { pass = true; break; } if (wbs.Contains('.')) { tmpSdpDetail.Parentno = wbs.Remove(wbs.LastIndexOf(".")); } else { tmpSdpDetail.Parentno = ""; } } if (subNode.Name == "Name") { tmpSdpDetail.TaskName = subNode.InnerText; } if (subNode.Name == "Start") { tmpSdpDetail.Planstartday = DateTime.Parse(subNode.InnerText); } if (subNode.Name == "Finish") { tmpSdpDetail.Planendday = DateTime.Parse(subNode.InnerText); } if (subNode.Name == "Duration") { string planCost = subNode.InnerText; planCost = planCost.Replace("PT", "").Trim(); planCost = planCost.Replace("H0M0S", "").Trim(); tmpSdpDetail.Plancost = float.Parse(planCost); } if (subNode.Name == "ExtendedAttribute") { List <string> typeInfo = GetTaskTypeTable(subNode); string type = Types[typeInfo[0]].ToString(); list.Remove(type); switch (type) { case "Role": tmpSdpDetail.Role = typeInfo[1].ToString(); break; case "TaskComplexity": tmpSdpDetail.TaskComplexity = (int)Enum.Parse(typeof(PmsCommonEnum.TaskComplexity), typeInfo[1]); break; case "Phase": Dictionary <string, string> phases = new PmsCommonEnum().GetEnumValueAndDesc(typeof(PmsCommonEnum.PlanPhase)); tmpSdpDetail.Phase = int.Parse(phases[typeInfo[1]]).ToString(); break; case "TaskType1": int taskTypeValue = -1; if (!CheckTaskType(tmpSdpDetail.Phase, typeInfo[1], ref taskTypeValue)) { Msgbox("TaskName-(" + tmpSdpDetail.TaskName + "):Pahse 与 TaskType 不匹配!"); return(false); } else { tmpSdpDetail.TaskType = taskTypeValue; } break; case "OperationType": Dictionary <string, string> OperationTypes = new PmsCommonEnum().GetEnumValueAndDesc(typeof(PmsCommonEnum.OperationType)); tmpSdpDetail.OperationType = int.Parse(OperationTypes[typeInfo[1]]); break; case "ProgramLanguage": Dictionary <string, string> ProgramLanguages = new PmsCommonEnum().GetEnumValueAndDesc(typeof(PmsCommonEnum.ProgramLanguage)); tmpSdpDetail.ProgramLanguage = int.Parse(ProgramLanguages[typeInfo[1]]); break; case "FunctionType": tmpSdpDetail.FunctionType = (int)Enum.Parse(typeof(PmsCommonEnum.FunctionType), typeInfo[1]); break; } } } return(true); }
public bool UpdateSdpDetailBySerial(string serials, string sdpDetailSerials) { string[] serialArray = serials.Split(';'); string[] sdpDetailSerialArray = sdpDetailSerials.Split(';'); for (int i = 0; i < serialArray.Length; i++) //foreach (string serial in serialArray) { TmpSdpImportdetail tmpSdpImportdetail = new TmpSdpImportdetail(); tmpSdpImportdetail.Serial = int.Parse(serialArray[i].Trim()); TmpSdpImportdetailBiz tmpSdpImportdetailBiz = new TmpSdpImportdetailBiz(); var listTmpSdpImportdetail = tmpSdpImportdetailBiz.GetTmpSdpDetail(tmpSdpImportdetail); if (listTmpSdpImportdetail == null || listTmpSdpImportdetail.Count == 0) { return(false); } else { tmpSdpImportdetail = listTmpSdpImportdetail[0]; } //更新sdpDetail表 SdpDetailBiz sdpDetailBiz = new SdpDetailBiz(); SdpDetail sdpDetail = new SdpDetail(); DateTime dateTime = PmsSysBiz.GetDBDateTime(); //根据pmsid和serial 定位要跟新的任务 sdpDetail.Pmsid = tmpSdpImportdetail.Pmsid; sdpDetail.Serial = int.Parse(sdpDetailSerialArray[i]); //获取已存在任务在 tmp_sdp_importdetail表中不存在的栏位 SdpDetail SdpDetailResult = new SdpDetailBiz().SelectSdpDetail(sdpDetail)[0]; sdpDetail = SdpDetailResult; sdpDetail.TaskName = tmpSdpImportdetail.TaskName; sdpDetail.OperationType = tmpSdpImportdetail.OperationType; sdpDetail.TaskType = tmpSdpImportdetail.TaskType; sdpDetail.FunctionType = tmpSdpImportdetail.FunctionType; sdpDetail.ProgramLanguage = tmpSdpImportdetail.ProgramLanguage; sdpDetail.TaskComplexity = tmpSdpImportdetail.TaskComplexity; //根据条件取,取值为空->refCost=planCost PmsSdpRefcost sdpRefcost = new PmsSdpRefcost(); sdpRefcost.OperationType = sdpDetail.OperationType; sdpRefcost.TaskComplexity = sdpDetail.TaskComplexity; sdpRefcost.Tasktype = sdpDetail.TaskType; sdpRefcost.Functiontype = sdpDetail.FunctionType; sdpRefcost.Programlanguage = sdpDetail.ProgramLanguage; IList <PmsSdpRefcost> sdpRefcostlList = new PmsSdpRefcostBiz().SelectPmsSdpRefcost(sdpRefcost); if (sdpRefcostlList == null || sdpRefcostlList.Count == 0) { sdpDetail.Refcost = tmpSdpImportdetail.Plancost; } else { sdpDetail.Refcost = sdpRefcostlList[0].Refcost; } sdpDetail.Plancost = tmpSdpImportdetail.Plancost; sdpDetail.Auditor = new BaseDataUserBiz().SelectLeaderByLoginName(LoginName); sdpDetail.Planstartday = tmpSdpImportdetail.Planstartday; sdpDetail.Planendday = tmpSdpImportdetail.Planendday; sdpDetail.Resource = tmpSdpImportdetail.Resource; sdpDetail.Role = tmpSdpImportdetail.Role; sdpDetail.Maintaindate = dateTime; sdpDetail.Maintainuser = LoginName; if (!sdpDetailBiz.UpdateSdpDetail(sdpDetail)) { return(false); } //更新临时表Falg栏位为“Y” TmpSdpImportdetail tmpSdpImportdetailForUpdate = new TmpSdpImportdetail(); tmpSdpImportdetailForUpdate.Serial = int.Parse(serialArray[i].Trim()); if (!tmpSdpImportdetailBiz.UpdateTmpSdpDetailFlag(tmpSdpImportdetailForUpdate)) { return(false); } } return(true); }
public bool ImportSdpDetailBySerial(string serials) { string[] serialArray = serials.Split(';'); foreach (string serial in serialArray) { TmpSdpImportdetail tmpSdpImportdetail = new TmpSdpImportdetail(); tmpSdpImportdetail.Serial = int.Parse(serial.Trim()); TmpSdpImportdetailBiz tmpSdpImportdetailBiz = new TmpSdpImportdetailBiz(); var listTmpSdpImportdetail = tmpSdpImportdetailBiz.GetTmpSdpDetail(tmpSdpImportdetail); if (listTmpSdpImportdetail == null || listTmpSdpImportdetail.Count == 0) { return(false); } else { tmpSdpImportdetail = listTmpSdpImportdetail[0]; } //插入sdpDetail表 SdpDetailBiz sdpDetailBiz = new SdpDetailBiz(); SdpDetail sdpDetail = new SdpDetail(); DateTime dateTime = PmsSysBiz.GetDBDateTime(); sdpDetail.Pmsid = tmpSdpImportdetail.Pmsid; sdpDetail.Phase = tmpSdpImportdetail.Phase; sdpDetail.TaskName = tmpSdpImportdetail.TaskName; sdpDetail.OperationType = tmpSdpImportdetail.OperationType; sdpDetail.TaskType = tmpSdpImportdetail.TaskType; sdpDetail.FunctionType = tmpSdpImportdetail.FunctionType; sdpDetail.ProgramLanguage = tmpSdpImportdetail.ProgramLanguage; sdpDetail.TaskComplexity = tmpSdpImportdetail.TaskComplexity; //根据条件取,为空就为planCost PmsSdpRefcost sdpRefcost = new PmsSdpRefcost(); sdpRefcost.OperationType = sdpDetail.OperationType; sdpRefcost.TaskComplexity = sdpDetail.TaskComplexity; sdpRefcost.Tasktype = sdpDetail.TaskType; sdpRefcost.Functiontype = sdpDetail.FunctionType; sdpRefcost.Programlanguage = sdpDetail.ProgramLanguage; IList <PmsSdpRefcost> sdpRefcostlList = new PmsSdpRefcostBiz().SelectPmsSdpRefcost(sdpRefcost); if (sdpRefcostlList == null || sdpRefcostlList.Count == 0) { sdpDetail.Refcost = tmpSdpImportdetail.Plancost; } else { sdpDetail.Refcost = sdpRefcostlList[0].Refcost; } sdpDetail.Plancost = tmpSdpImportdetail.Plancost; sdpDetail.Auditor = new BaseDataUserBiz().SelectLeaderByLoginName(LoginName); sdpDetail.Planstartday = tmpSdpImportdetail.Planstartday; sdpDetail.Planendday = tmpSdpImportdetail.Planendday; sdpDetail.Resource = tmpSdpImportdetail.Resource; sdpDetail.Role = tmpSdpImportdetail.Role; sdpDetail.AuditStatus = 1; sdpDetail.TaskStatus = 1; sdpDetail.Taskno = 1; sdpDetail.Iseditable = "Y"; sdpDetail.Deleteflag = "N"; sdpDetail.Createdate = dateTime; sdpDetail.Createuser = LoginName; sdpDetail.Maintaindate = dateTime; sdpDetail.Maintainuser = LoginName; if (new SdpDetailBiz().InsertSdpDetail(sdpDetail) < 0) { return(false); } //更新临时表Falg栏位为“Y” TmpSdpImportdetail tmpSdpImportdetailForUpdate = new TmpSdpImportdetail(); tmpSdpImportdetailForUpdate.Serial = int.Parse(serial.Trim()); if (!tmpSdpImportdetailBiz.UpdateTmpSdpDetailFlag(tmpSdpImportdetailForUpdate)) { return(false); } } return(true); }