/// <summary> /// 上传外部单位附件 /// </summary> /// <param name="para"></param> /// <param name="trans"></param> /// <param name="objectID"></param> /// <param name="content"></param> /// <returns></returns> public string UploadAttachFileToResource(SessionPara para, SQLTransaction trans, string objectID, string content) { string retStr = ""; if (!string.IsNullOrEmpty(objectID) && !string.IsNullOrEmpty(content)) { StringBuilder sb = new StringBuilder(); var fileDataList = JsonConvert.DeserializeObject <List <FileInformation> >(content); foreach (var file in fileDataList) { var newObj = ObjectFactoryUtility.CreateInstance(para, trans, "TESTATTACH"); newObj.SetObjectDBValue("ENAME", file.FileName); newObj.SetObjectDBValue("PATH", file.Path); newObj.SetObjectDBValue("MASTERID", objectID); newObj.SetObjectDBValue("UPLOADUSER", para.UserID); newObj.SetObjectDBValue("UPLOADTIME", DatetimeUtil.GetInternalTicksByDateTime(DateTime.Now)); newObj.SetObjectDBValue("FILEINFO", JsonConvert.SerializeObject(new List <FileInformation>() { file })); newObj.SaveObject(para, trans); sb.Append(";" + newObj.ObjectID); } if (sb.Length > 0) { retStr = sb.ToString().Substring(1); } } return(retStr); }
public TreeChildData GetTestTaskPlanChildTreeNode(TreeViewPara para, SQLTransaction trans) { TreeChildData childData = new TreeChildData(); childData.ExpandPermission = true; childData.ChildData = new List <TreeNodeObject>(); var nodeType = ObjectFactoryUtility.TypeFromID(para.Value1); if (nodeType == "PMSPROJECT") { ObjectQuery query = new ObjectQuery("PROJECTSTAGE"); query.FilterString = " PROJECTID ='" + para.Value1 + "' "; var stageList = query.ExecObjectQuery(para, trans); foreach (var stage in stageList) { var tempName = stage.GetObjectDBValue(ObjectInfoConst.EntityName).ToString(); var tempNodeType = stage.ObjType.Name; var tempImg = ServiceUtility.ToWebIconPath(stage.ObjType.IconPath); var tempNode = ServiceUtility.GetTreeNodeObject(tempName, stage.ObjectID, "", tempNodeType, "1", tempImg, tempNodeType, true); tempNode.ContentPermission = true; childData.ChildData.Add(tempNode); } } else if (nodeType == "PROJECTSTAGE") { var stageObj = ObjectFactoryUtility.CreateInstance(para, trans, para.Value1, false); if (stageObj != null) { var projectId = stageObj.GetObjectDBValue("PROJECTID").ToString(); ObjectQuery query = new ObjectQuery("TESTPLANTASK"); query.FilterString = " PROJECT ='" + projectId + "' AND STAGE='" + para.Value1 + "' "; var testPlanTaskList = query.ExecObjectQuery(para, trans); foreach (var planTask in testPlanTaskList) { var tempName = planTask.GetObjectDBValue(ObjectInfoConst.EntityName).ToString(); var tempNodeType = planTask.ObjType.Name; var tempImg = ServiceUtility.ToWebIconPath(planTask.ObjType.IconPath); var tempNode = ServiceUtility.GetTreeNodeObject(tempName, planTask.ObjectID, "", tempNodeType, "1", tempImg, tempNodeType, true); tempNode.ContentPermission = true; childData.ChildData.Add(tempNode); } } } else { //如果当前用户有权限,则加载下级节点 } return(childData); }
/// <summary> /// 保存试验能力,并且创建试验资源、知识的关系 /// </summary> /// <param name="para"></param> /// <param name="trans"></param> /// <param name="baseData"></param> /// <param name="knowledgeId"></param> /// <param name="resourceId"></param> /// <param name="objectId"></param> /// <returns></returns> public string SaveCapabilityData(SessionPara para, SQLTransaction trans, string baseData, string knowledgeId, string resourceId, string objectId) { string ret = ""; if (!string.IsNullOrEmpty(baseData)) { BaseObject abilityObj = null; BaseObject projectObj = null; if (!string.IsNullOrEmpty(objectId)) { abilityObj = ObjectFactoryUtility.CreateInstance(para, trans, objectId, false); ObjectFactoryUtility.DeleteObjByTypeAndFilter(para, trans, "TESTABILITIYTORESOUCE", " AND PEID ='" + objectId + "'"); ObjectFactoryUtility.DeleteObjByTypeAndFilter(para, trans, "TESTABILITYTOKNOWLEDGE", " AND PEID ='" + objectId + "'"); } else { abilityObj = ObjectFactoryUtility.CreateInstance(para, trans, "TESTCAPABILITY"); } abilityObj.FromJsonString(para, baseData); var objName = abilityObj.GetObjectDBValue("ENAME").ToString(); if (!string.IsNullOrEmpty(objName)) { //根据前端传过来的项目数据判断是id还是名称,如果是名称则编辑是否已经存在相同名称的项目,否则新建项目 var objTypeName = ObjectFactoryUtility.TypeFromID(objName); if (DataModels.Instance.GetEntityType(objTypeName) == null) { ObjectQuery query = new ObjectQuery("TESTPROJECT"); var projectList = query.ExecObjectQuery(para, trans); projectObj = projectList.FirstOrDefault(d => d.GetObjectDBValue(ObjectInfoConst.EntityName).ToString() == objName); if (projectObj == null) { projectObj = ObjectFactoryUtility.CreateInstance(para, trans, "TESTPROJECT"); projectObj.SetObjectDBValue("ENAME", abilityObj.GetObjectDBValue("ENAME")); projectObj.SetObjectDBValue("ECODE", abilityObj.GetObjectDBValue("ECODE")); projectObj.SetObjectDBValue("STANDARDCODE", abilityObj.GetObjectDBValue("STANDARDCODE")); projectObj.SetObjectDBValue("STANDARDNAME", abilityObj.GetObjectDBValue("STANDARDNAME")); projectObj.SetObjectDBValue("TYPE", abilityObj.GetObjectDBValue("TYPE")); projectObj.SetObjectDBValue("SCHEDULETYPE", abilityObj.GetObjectDBValue("SCHEDULETYPE")); projectObj.SetObjectDBValue("ABILITYORDER", abilityObj.GetObjectDBValue("ABILITYORDER")); projectObj.SetObjectDBValue("ISCNAS", abilityObj.GetObjectDBValue("ISCNAS")); //根据父级试验能力设置项目的父级项目 var pCapabilityId = abilityObj.GetObjectDBValue("TESTPROJECT").ToString(); if (!string.IsNullOrEmpty(pCapabilityId)) { var pCapability = ObjectFactoryUtility.CreateInstance(para, trans, pCapabilityId, false); if (pCapability != null) { projectObj.SetObjectDBValue("TESTPROJECT", pCapability.GetObjectDBValue(ObjectInfoConst.EntityName)); } } projectObj.SaveObject(para, trans); } abilityObj.SetObjectDBValue("ENAME", projectObj.ObjectID); } } abilityObj.SaveObject(para, trans); if (!string.IsNullOrEmpty(knowledgeId)) { var kIds = JsonConvert.DeserializeObject <List <string> >(knowledgeId); foreach (var kid in kIds) { ObjectFactoryUtility.AddLink(para, trans, "TESTABILITYTOKNOWLEDGE", abilityObj.ObjectID, kid); } } if (!string.IsNullOrEmpty(resourceId)) { var resIds = JsonConvert.DeserializeObject <List <string> >(resourceId); foreach (var resid in resIds) { ObjectFactoryUtility.AddLink(para, trans, "TESTABILITIYTORESOUCE", abilityObj.ObjectID, resid); } } ret = abilityObj.ObjectID; } return(ret); }