async Task <List <VirtualNode> > resolveParameters() { List <VirtualNode> nodes = new List <VirtualNode> (); // if there are command line parameters, resolve them if (parameters.Count > 0) { foreach (string p in parameters) { try { Path resolvedPath = FileSystemSubsystems.ResolveRelativePath(env) (p); VirtualNode node = FileSystemSubsystems.Node(resolvedPath); nodes.Add(node); } catch (VirtualIOException ex) { Log.Error(ex); await Output.WriteLineAsync(ex.Message); } } } // otherwise, use the current working directory else { nodes.Add(env.WorkingDirectory); } return(nodes); }
/// <summary> /// 增加一个正在聊天用户节点 /// </summary> /// <param name="userInfo"></param> /// <param name="iOnLine">1,在线,0,离线</param> private VirtualNode AddChatingTreeNode(UserInfo userInfo, int iOnLine) { if (userInfo.USER_ID == CurrentUser.USER_ID) { return(null); } if (!htChating.ContainsKey(userInfo.USER_ID)) { htChating.Add(userInfo.USER_ID, userInfo); } else { return(null); } //在线用户树中添加该用户 vTreeChating.SuspendLayout(); VirtualNode userNode = new VirtualNode(); userNode.Text = string.Format("{0}", userInfo.USER_NAME); userNode.ToolTipText = string.Format("{0}-{1}", userInfo.DEPT_NAME, userInfo.USER_NAME); userNode.Tag = userInfo; userNode.ForeColor = iOnLine == 1 ? Color.Blue : Color.Gray; userNode.ImageIndex = iOnLine; userNode.SubItems.Add(new VirtualSubItem() { ForeColor = Color.Red }); //未读消息列 vTreeChating.Nodes.Add(userNode); vTreeChating.PerformLayout(); return(userNode); }
///<summary> /// 记录质控者阅读病历日志信息 /// </summary> /// <param name="lstDocInfo">病历文档信息列表</param> /// <param name="dtCheckTime">检查时间</param> /// <param name="node">当前节点</param> private void SaveReadLogInfo(MedDocInfo docInfo, DateTime dtCheckTime, VirtualNode node) { if (string.IsNullOrEmpty(docInfo.DOC_SETID)) { return; } EMRDBLib.MedicalQcLog qcActionLog = new EMRDBLib.MedicalQcLog(); qcActionLog.PATIENT_ID = SystemParam.Instance.PatVisitInfo.PATIENT_ID; qcActionLog.VISIT_ID = SystemParam.Instance.PatVisitInfo.VISIT_ID; qcActionLog.DEPT_STAYED = SystemParam.Instance.PatVisitInfo.DEPT_CODE; qcActionLog.DOC_SETID = docInfo.DOC_SETID; qcActionLog.CHECKED_BY = SystemParam.Instance.UserInfo.USER_NAME; qcActionLog.CHECKED_ID = SystemParam.Instance.UserInfo.USER_ID; qcActionLog.DEPT_CODE = SystemParam.Instance.UserInfo.DEPT_CODE; qcActionLog.DEPT_NAME = SystemParam.Instance.UserInfo.DEPT_NAME; qcActionLog.CHECK_TYPE = 0; qcActionLog.CHECK_DATE = dtCheckTime; qcActionLog.LOG_TYPE = 1; qcActionLog.LOG_DESC = "质控者阅读病历"; qcActionLog.AddQCQuestion = false; short shRet = MedicalQcLogAccess.Instance.Insert(qcActionLog); if (shRet != SystemData.ReturnValue.OK) { return; } node.SubItems[5].Text = "是"; node.SubItems[6].Text = dtCheckTime.ToString("yyyy-MM-dd HH:mm:ss"); node.SubItems[6].ForeColor = Color.Blue; }
}//Start protected void generateNodes() { int height = Mathf.CeilToInt(WorldBounds.height / Distance); int width = Mathf.CeilToInt(WorldBounds.width / Distance); Grid = new VirtualNode[height, width]; for (int h = 0; h < height; h++) { int startIndex = h % 2; Vector3 worldPos = Vector3.zero; worldPos.y = WorldBounds.yMax - (h * Distance); for (int w = startIndex; w < width; w++) { if (w % 2 == startIndex) { continue; } worldPos.x = WorldBounds.xMin + (w * Distance); VirtualNode node = new VirtualNode(true, worldPos, w, h); Grid[h, w] = node; } //for w } //for h this.gridHeight = height; this.gridWidth = width; this.generateNeighbours(); }//generateNodes
}//generateNodes protected void generateNeighbours() { for (int h = 0; h < this.gridHeight; h++) { for (int w = 0; w < this.gridWidth; w++) { VirtualNode node = Grid[h, w]; if (node == null) { continue; } for (int i = 0; i < this.neighbours.Count; i++) { int nX = node.GetCoords()[0] + this.neighbours[i][0]; int nY = node.GetCoords()[1] + this.neighbours[i][1]; bool isInsideY = nY >= 0 && nY < this.gridHeight; bool isInsideX = nX >= 0 && nX < this.gridWidth; if (isInsideY && isInsideX) { node.AddNeighbour(Grid[nY, nX]); } } //for i } //for } //for h } //generateNeighbours
async Task printNodeLongFormat(VirtualNode node) { // drwxrwxr-x 5 tobias tobias 4,0K Mai 21 20:39 string type, permissions, user, group, size, date, time, name; permissions = node.PermissionsString; name = node.Path.FileName; user = node.OwnerName; group = node.OwnerName; VirtualFile file = node as VirtualFile; if (file != null) { } VirtualDirectory directory = node as VirtualDirectory; if (directory != null) { } await Output.WriteLineAsync($"{permissions} {user} {group} {size} {date} {time} {name}"); }
IEnumerable <VirtualNode> createListing() { //Log.Debug ("Directory listing: ", directory); //Log.Indent++; var directories = SafeDirectoryEnumerator.EnumerateDirectories(directory.Path.RealPath, "*", SearchOption.TopDirectoryOnly); foreach (string realPath in directories) { //Log.Debug ("realPath: ", realPath); VirtualNode node = directory.GetChildDirectory(PathHelper.GetFileName(realPath)); if (node != null) { yield return(node); } } var files = SafeDirectoryEnumerator.EnumerateFiles(directory.Path.RealPath, "*", SearchOption.TopDirectoryOnly); foreach (string realPath in files) { //Log.Debug ("realPath: ", realPath); VirtualNode node = directory.GetChildFile(PathHelper.GetFileName(realPath)); if (node != null) { yield return(node); } } //Log.Indent--; }
static void TestFileWriteRead(VirtualNode file, Random r, int index, int length) { byte[] towrite = CreateTestBytes(r, length); file.Write(index, towrite); byte[] toread = file.Read(index, length); if (!Compare(towrite, toread)) { throw new Exception("File read/write at " + index + " for " + length + " bytes, failed for file " + file.Name); } }
// set neighbours public void setNodes(VirtualNode a, VirtualNode b) { if (neighbors.Contains(b) == false) { neighbors.Add(b); neighborCount++; if (b.GetComponent <VirtualNode>().neighbors.Contains(b) == false) { b.GetComponent <VirtualNode>().neighbors.Add(a); b.GetComponent <VirtualNode>().neighborCount++; } } }
private void virtualTree1_NodeMouseClick(object sender, VirtualTreeEventArgs e) { this.m_SelectedNode = e.Node; EMRDBLib.PatVisitInfo patVisitLog = e.Node.Tag as EMRDBLib.PatVisitInfo; if (patVisitLog == null) { return; } if (SystemParam.Instance.PatVisitInfo != patVisitLog) { SystemParam.Instance.PatVisitInfo = patVisitLog; this.MainForm.OnPatientInfoChanged(EventArgs.Empty); } }
static void RecursivelyPrintNodes(VirtualNode node, string indent = "") { Console.Write(indent + node.Name); if (node.IsFile) { Console.WriteLine(" <file, len=" + node.FileLength.ToString() + ">"); } else if (node.IsDirectory) { Console.WriteLine(" <directory>"); foreach (VirtualNode child in node.GetChildren()) { RecursivelyPrintNodes(child, indent + " "); } } }
private void virtualTree1_NodeMouseClick(object sender, VirtualTreeEventArgs e) { this.m_SelectedNode = e.Node; //显示质检问题 if (this.MainForm == null || this.MainForm.IsDisposed) { return; } if (e.Node == null || e.Type == HitTestType.None) { return; } MedDocInfo docInfo = e.Node.Data as MedDocInfo; this.MainForm.ShowQuestionListByDocInfo(docInfo); }
/// <summary> /// 获取选中节点的病历文档的标题和文档集ID /// </summary> /// <param name="selectedNode">当前节点</param> /// <param name="szDocSetID">文档集ID</param> /// <param name="szDocTitle">文档标题</param> private void GetSelectedNodeInfo(VirtualNode selectedNode, ref MedDocInfo meddocInfo) { MedDocInfo docInfo = selectedNode.Data as MedDocInfo; if (SystemParam.Instance.PatVisitInfo == null) { return; } if (docInfo != null) { meddocInfo.DOC_TITLE = docInfo.DOC_TITLE; if (docInfo.EMR_TYPE != "BAODIAN" && docInfo.EMR_TYPE != "CHENPAD" && docInfo.EMR_TYPE != "HEREN") { meddocInfo.DOC_SETID = string.Empty; } else { meddocInfo.DOC_SETID = docInfo.DOC_SETID; } meddocInfo.CREATOR_NAME = docInfo.CREATOR_NAME; meddocInfo.CREATOR_ID = docInfo.CREATOR_ID; meddocInfo.DEPT_CODE = docInfo.DEPT_CODE; meddocInfo.DEPT_NAME = docInfo.DEPT_NAME; } else if (selectedNode.Data.Equals(COMBIN_NODE_TAG)) { meddocInfo.DOC_TITLE = string.Concat(SystemParam.Instance.PatVisitInfo.PATIENT_NAME, "的病历"); } else if (selectedNode.Data.Equals(DOCTOR_NODE_TAG)) { meddocInfo.DOC_TITLE = "医生写的病历"; } else if (selectedNode.Data.Equals(NURSE_NODE_TAG)) { meddocInfo.DOC_TITLE = "护士写的病历"; } else if (selectedNode.Data.Equals(UNKNOWN_NODE_TAG)) { meddocInfo.DOC_TITLE = "未被归类的病历"; } else { meddocInfo.DOC_TITLE = string.Concat(SystemParam.Instance.PatVisitInfo.PATIENT_NAME, "的以往旧病历"); } }
public void SelectDocNodeByDocSetID(VirtualNode node, string szDocSetId) { if (string.IsNullOrEmpty(szDocSetId)) { return; } if (node == null) { foreach (VirtualNode item in this.virtualTree1.Nodes) { if (item == null) { continue; } SelectDocNodeByDocSetID(item, szDocSetId); } } else { if (node.Nodes.Count > 0) { foreach (VirtualNode item in node.Nodes) { if (item == null) { continue; } SelectDocNodeByDocSetID(item, szDocSetId); } } else { MedDocInfo docInfo = node.Data as MedDocInfo; if (docInfo == null) { return; } if (docInfo.DOC_SETID == szDocSetId) { this.virtualTree1.SelectedNode = node; this.m_SelectedNode = node; return; } } } }
/// <summary> /// 刷新患者当次就诊产生的病程记录 /// </summary> public override void OnRefreshView() { base.OnRefreshView(); this.Update(); GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor); this.ShowStatusMessage("正在刷新病程记录,请稍候..."); if (this.m_htQCActionLog == null) { this.m_htQCActionLog = new Hashtable(); } else { this.m_htQCActionLog.Clear(); } this.GetQCMsgInfo(); this.GetQCActionLogInfo(); this.virtualTree1.Nodes.Clear(); string szDocSetID = string.Empty; if (this.m_SelectedNode != null) { MedDocInfo docInfo = this.m_SelectedNode.Data as MedDocInfo; if (docInfo != null) { szDocSetID = docInfo.DOC_SETID; } } this.m_SelectedNode = null; //新版和仁编辑器加载方式和老版本有差别 if (SystemParam.Instance.LocalConfigOption.DefaultEditor == "2") { this.LoadHerenMedDocList(); } else { this.LoadMedDocList(); } //使用新版本控件加载病历类型 //this.LoadPastDocList(); //添加一次质检问题后,会刷新病历节点,导致m_SelectedNode为空,此处重新选上 SelectDocNodeByDocSetID(null, szDocSetID); this.ShowStatusMessage(null); GlobalMethods.UI.SetCursor(this, Cursors.Default); }
/// <summary> /// 获取选中节点的病历文档的标题和文档集ID /// </summary> /// <param name="selectedNode">当前节点</param> /// <param name="szDocSetID">文档集ID</param> /// <param name="szDocTitle">文档标题</param> /// <param name="byteDocData">文档数据</param> private void GetSelectedNodeInfo(VirtualNode selectedNode, ref string szDocTitle, ref string szDocSetID , ref string szCreatorName, ref string szDeptCode, ref byte[] byteDocData) { MedDocInfo docInfo = selectedNode.Data as MedDocInfo; if (docInfo != null) { szDocTitle = docInfo.DOC_TITLE; if (docInfo.EMR_TYPE != "BAODIAN" && docInfo.EMR_TYPE != "CHENPAD" && docInfo.EMR_TYPE != "HEREN") { szDocSetID = string.Empty; } else { szDocSetID = docInfo.DOC_SETID; } szCreatorName = docInfo.CREATOR_NAME; szDeptCode = docInfo.DEPT_CODE; EmrDocAccess.Instance.GetDocByID(docInfo.DOC_ID, ref byteDocData); } else if (selectedNode.Data.Equals(COMBIN_NODE_TAG)) { szDocTitle = string.Concat(SystemParam.Instance.PatVisitInfo.PATIENT_NAME, "的病历"); } else if (selectedNode.Data.Equals(DOCTOR_NODE_TAG)) { szDocTitle = "医生写的病历"; } else if (selectedNode.Data.Equals(NURSE_NODE_TAG)) { szDocTitle = "护士写的病历"; } else if (selectedNode.Data.Equals(UNKNOWN_NODE_TAG)) { szDocTitle = "未被归类的病历"; } else { szDocTitle = string.Concat(SystemParam.Instance.PatVisitInfo.PATIENT_NAME, "的以往旧病历"); } }
/// <summary> /// 打开医生或护士创建的所有病历 /// <param name="parentNode">双击的节点</param> /// </summary> private void OpenAllDocList(VirtualNode parentNode) { if (parentNode == null || parentNode.Nodes.Count <= 0) { return; } MedDocList lstDocInfos = new MedDocList(); DateTime dtCheckTime = SysTimeHelper.Instance.Now; for (int index = 0; index < parentNode.Nodes.Count; index++) { if (!parentNode.Nodes[index].Data.Equals(COMBIN_NODE_TAG)) { continue; } if (index > 0) { dtCheckTime = dtCheckTime.AddSeconds(1); } for (int ii = 0; ii < parentNode.Nodes[index].Nodes.Count; ii++) { VirtualNode childNode = parentNode.Nodes[index].Nodes[ii]; MedDocInfo docInfo = childNode.Data as MedDocInfo; if (docInfo == null) { continue; } if (ii > 0) { dtCheckTime = dtCheckTime.AddSeconds(1); } this.SaveReadLogInfo(docInfo, dtCheckTime, childNode); lstDocInfos.Add(docInfo); } } this.Update(); this.MainForm.OpenDocument(lstDocInfos); }
static void TestVirtualFileSystem() { try { Random r = new Random(); VolatileDisk disk = new VolatileDisk(1); //PersistentDisk disk = new PersistentDisk(1, "disk1"); disk.TurnOn(); VirtualFS vfs = new VirtualFS(); vfs.Format(disk); vfs.Mount(disk, "/"); VirtualNode root = vfs.RootNode; VirtualNode dir1 = root.CreateDirectoryNode("dir1"); dir1.CreateDirectoryNode("foo"); dir1.CreateDirectoryNode("bar"); VirtualNode dir2 = root.CreateDirectoryNode("dir2"); dir2.CreateDirectoryNode("hah!"); VirtualNode file1 = dir1.CreateFileNode("file1"); TestFileWriteRead(file1, r, 0, 100); // 1 sector TestFileWriteRead(file1, r, 0, 500); // 2 sectors TestFileWriteRead(file1, r, 250, 500); // 3 sectors dir2.CreateFileNode("another"); vfs.Unmount("/"); vfs.Mount(disk, "/"); RecursivelyPrintNodes(vfs.RootNode); disk.TurnOff(); } catch (Exception ex) { Console.WriteLine("VFS test failed: " + ex.Message); Console.WriteLine(ex.StackTrace); } }
/// <summary> /// 窗体激活时显示将正在聊天的新内容展示到显示框中 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChatClient_Activated(object sender, EventArgs e) { if (ToUserInfo == null) { return; } if (vTreeChating.SelectedNode == null) { return; } //获取节点用户发送过来的未读消息 List <MessageInfo> lstInfo = new List <MessageInfo>(); lstInfo = ListMessageInfo.FindAll(i => i.MessageFrom.USER_ID == ToUserInfo.USER_ID); if (lstInfo == null || lstInfo.Count == 0) { return; } foreach (MessageInfo item in lstInfo) { if (item.MessageAction == (int)ActionType.SendMessage) { ShowMessageText(item); } else if (item.MessageAction == (int)ActionType.SendPIc) { ShowMessagePic(item, null); } //从缓存list中移除 ListMessageInfo.Remove(item); //设置消息已读 UpdateChatLog(item); } //更新当前聊天对象信息 vTreeChating.SuspendLayout(); VirtualNode node = vTreeChating.SelectedNode; node.SubItems[0].Text = ""; vTreeChating.PerformLayout(); }
/// <summary> /// 绑定所有用户 /// </summary> private void BindAllUserInfo() { if (SystemCache.LstUserInfo == null || SystemCache.LstUserInfo.Count == 0) { return; } TreeNode rootNode = new TreeNode(); rootNode.Text = "所有用户"; SystemCache.LstUserInfo.Sort(delegate(UserInfo a, UserInfo b) { return(string.Compare(a.DEPT_NAME, b.DEPT_NAME, StringComparison.CurrentCulture)); }); //加载所有户用 vTreeAlluser.SuspendLayout(); VirtualNode dept = new VirtualNode(); dept.Text = SystemCache.LstUserInfo[0].DEPT_NAME; dept.ForeColor = Color.Blue; foreach (UserInfo userInfo in SystemCache.LstUserInfo) { if (string.IsNullOrEmpty(userInfo.USER_NAME) || string.IsNullOrEmpty(userInfo.DEPT_NAME)) { continue; } if (dept.Text != userInfo.DEPT_NAME) { vTreeAlluser.Nodes.Add(dept); dept = new VirtualNode(); dept.ForeColor = Color.Blue; dept.Text = userInfo.DEPT_NAME; } VirtualNode userNode = new VirtualNode(userInfo.USER_NAME); userNode.ForeColor = Color.Gray; userNode.ImageIndex = 0; userNode.Tag = userInfo; dept.Nodes.Add(userNode); } vTreeAlluser.PerformLayout(); vTreeAlluser.BringToFront(); }
/// <summary> /// 更新一个正在聊天用户节点在线,离线状态 /// </summary> /// <param name="userInfo"></param> /// <param name="iOnLine">1,在线,0,离线</param> private void UpdateChatingTreeInOff(UserInfo user, int iOnLine) { VirtualNode userNode = null; UserInfo itemInfo = null; foreach (VirtualNode item in vTreeChating.Nodes) { itemInfo = item.Tag as UserInfo; if (itemInfo != null && itemInfo.USER_ID == user.USER_ID) { userNode = item; break; } } if (userNode != null) { vTreeChating.SuspendLayout(); userNode.ForeColor = iOnLine == 1 ? Color.Blue : Color.Gray; userNode.ImageIndex = iOnLine; vTreeChating.PerformLayout(); } }
private void mnuAddFeedInfo_Click(object sender, EventArgs e) { if (this.MainForm == null || this.MainForm.IsDisposed) { return; } VirtualNode selectedNode = this.virtualTree1.SelectedNode; if (selectedNode == null) { MessageBoxEx.Show("没有选中病历文书中任何一份病历,无法添加质检问题!", MessageBoxIcon.Warning); return; } string szDocTitle = string.Empty; string szDocSetID = string.Empty; string szDocCreator = string.Empty; string szDeptCode = string.Empty; MedDocInfo docInfo = selectedNode.Data as MedDocInfo; if (docInfo == null && !SystemParam.Instance.LocalConfigOption.AllowAddQuestionToParDocType) { MessageBoxEx.Show("没有选中病历文书中任何一份病历,无法添加质检问题!", MessageBoxIcon.Warning); return; } else if (SystemParam.Instance.LocalConfigOption.AllowAddQuestionToParDocType) { docInfo = new MedDocInfo(); docInfo.DOC_TITLE = selectedNode.ToString(); docInfo.DOC_SETID = string.Empty; docInfo.CREATOR_NAME = SystemParam.Instance.PatVisitInfo.INCHARGE_DOCTOR; docInfo.CREATOR_ID = SystemParam.Instance.PatVisitInfo.INCHARGE_DOCTOR_ID; docInfo.DEPT_CODE = SystemParam.Instance.PatVisitInfo.DEPT_CODE; docInfo.DEPT_NAME = SystemParam.Instance.PatVisitInfo.DEPT_NAME; } this.MainForm.AddMedicalQcMsg(docInfo); }
async Task printNode(VirtualNode node, AsyncAction <VirtualNode> printAction) { VirtualFile file = node as VirtualFile; if (file != null) { await printAction(file); } VirtualDirectory directory = node as VirtualDirectory; if (directory != null) { var list = directory.OpenList(); foreach (VirtualDirectory subDirectory in list.ListDirectories()) { await printAction(subDirectory); } foreach (VirtualFile subFile in list.ListFiles()) { await printAction(subFile); } } }
private void mnuAddFeedInfo_Click(object sender, EventArgs e) { if (this.MainForm == null || this.MainForm.IsDisposed) { return; } VirtualNode selectedNode = this.virtualTree1.SelectedNode; if (selectedNode == null) { return; } EMRDBLib.PatVisitInfo patVisitLog = selectedNode.Tag as EMRDBLib.PatVisitInfo; if (patVisitLog == null) { return; } SystemParam.Instance.PatVisitInfo = patVisitLog; MedDocInfo docInfo = new MedDocInfo(); this.GetSelectedNodeInfo(selectedNode, ref docInfo); this.MainForm.AddMedicalQcMsg(docInfo); }
/// <summary> /// 更新消息对应的用户节点显示信息 /// </summary> /// <param name="info"></param> private void UpdateChatingTreeMessage(MessageInfo info) { if (info == null) { return; } //找到消息对应节点 VirtualNode userNode = null; UserInfo userInfo = null; foreach (VirtualNode item in vTreeChating.Nodes) { userInfo = item.Tag as UserInfo; if (userInfo != null && userInfo.USER_ID == info.MessageFrom.USER_ID) { userNode = item; break; } } if (userNode == null)//添加离线节点 { userInfo = SystemCache.LstUserInfo.Find(i => i.USER_ID == info.MessageFrom.USER_ID); userNode = AddChatingTreeNode(userInfo, 0); } if (userNode == null || userInfo == null || string.IsNullOrEmpty(userInfo.USER_ID)) { return; } //获取发送用户的消息 List <MessageInfo> lstInfo = new List <MessageInfo>(); lstInfo = ListMessageInfo.FindAll(i => i.MessageFrom.USER_ID == userInfo.USER_ID); vTreeChating.SuspendLayout(); userNode.SubItems[0].Text = string.Format("{0}", lstInfo.Count == 0 ? "" : string.Format("{0}", lstInfo.Count)); vTreeChating.PerformLayout(); }
// creates undirected graph private void UndirectedGraph() { if (graphDataset != null) { String allData = graphDataset.text; allData.Replace("\r", "\n"); String[] lines = allData.Split("\n"[0]); populateGridPositions3D(lines.Length); // read through each line foreach (String s in lines) { Color col = defaultColor; if (colorGraph == true) { col = UnityEngine.Random.ColorHSV(0.1f, 0.8f, 0.7f, 1f, 0.5f, 1f); } // split line on empty character String[] subLines = s.Split(new char[0]); // line node VirtualNode lineNode = null; // check if first node on line has been created if (checkIfCreated(subLines[0]) == false && subLines[0] != String.Empty) { int x = UnityEngine.Random.Range(0, lines.Length); int y = UnityEngine.Random.Range(0, lines.Length); int z = UnityEngine.Random.Range(0, lines.Length); while (gridPositionTaken3D[x, y, z] == true) { x = UnityEngine.Random.Range(0, lines.Length); y = UnityEngine.Random.Range(0, lines.Length); z = UnityEngine.Random.Range(0, lines.Length); } // initialize pos Vector3 pos = Vector3.zero; pos = gridPositions3D[x, y, z]; gridPositionTaken3D[x, y, z] = true; GameObject n = Instantiate(defaultNode, pos, transform.rotation); n.GetComponent <MeshRenderer>().material.color = col; n.name = subLines[0]; VirtualNode getNode = n.GetComponent <VirtualNode>(); getNode.setID(subLines[0]); lineNode = getNode; lineNode.setCircle(true); lineNode.transform.parent = this.transform; nodes.Add(lineNode); n.transform.localScale = new Vector3(scale, scale, scale); } else { lineNode = grabNode(subLines[0]); } int i = 0; // go through and create all adjacencies foreach (String sub_s in subLines) { if (checkIfCreated(sub_s) == false && sub_s != string.Empty && i != 0) { int x = UnityEngine.Random.Range(0, lines.Length); int y = UnityEngine.Random.Range(0, lines.Length); int z = UnityEngine.Random.Range(0, lines.Length); while (gridPositionTaken3D[x, y, z] == true) { x = UnityEngine.Random.Range(0, lines.Length); y = UnityEngine.Random.Range(0, lines.Length); z = UnityEngine.Random.Range(0, lines.Length); } // initialize pos Vector3 pos = Vector3.zero; pos = gridPositions3D[x, y, z]; GameObject n = Instantiate(defaultNode, pos, transform.rotation); n.GetComponent <MeshRenderer>().material.color = col; n.name = sub_s; VirtualNode getNode = n.GetComponent <VirtualNode>(); getNode.setID(sub_s); getNode.setNodes(getNode, lineNode); lineNode.setNodes(lineNode, getNode); getNode.transform.parent = this.transform; Edge e = new Edge(lineNode.transform, n.transform, false); edgeCreator.addEdges(e); nodes.Add(getNode); print("added edge"); n.transform.localScale = new Vector3(scale, scale, scale); } else { if (checkIfCreated(sub_s) == true && i != 0 && subLines[0] != String.Empty) { VirtualNode n = grabNode(sub_s); n.setNodes(n, lineNode); lineNode.setNodes(lineNode, n); Edge e = new Edge(lineNode.transform, n.transform, false); edgeCreator.addEdges(e); print("added edge"); n.transform.localScale = new Vector3(scale, scale, scale); } } i++; } } GraphSize = nodes.Count; } }
private Amazon.CDK.AWS.AppMesh.CfnRoute CreateRouterRoute(string id, string serviceName, string branch, VirtualRouter virtualRouter, VirtualNode virtualNode, Mesh mesh, int priority) { return(new Amazon.CDK.AWS.AppMesh.CfnRoute(this, $"{serviceName}-{branch}-route", new Amazon.CDK.AWS.AppMesh.CfnRouteProps { MeshName = mesh.MeshName, VirtualRouterName = virtualRouter.VirtualRouterName, RouteName = $"{serviceName}-{branch}-route", Spec = new RouteSpecProperty { Priority = priority, HttpRoute = new HttpRouteProperty { Match = new HttpRouteMatchProperty { Headers = new HttpRouteHeaderProperty[] { new HttpRouteHeaderProperty { Name = "x-branch-header", Invert = false, Match = new HeaderMatchMethodProperty { Exact = $"{branch}" } } }, Prefix = "/" }, Action = new HttpRouteActionProperty { WeightedTargets = new WeightedTargetProperty[] { new WeightedTargetProperty() { VirtualNode = virtualNode.VirtualNodeName, Weight = 1 } } } }, } })); }
private void metroTextBox1_TextChanged(object sender, EventArgs e) { string szDocID = this.txtDocID.Text.Trim(); MedDocInfo docInfo = null; short shRet = EmrDocAccess.Instance.GetDocInfo(szDocID, ref docInfo); PatVisitInfo patVisit = null; if (docInfo == null) { string szPatientID = this.txtDocID.Text.Trim(); List <PatVisitInfo> lstPatVisitInfo = null; PatVisitAccess.Instance.GetPatVisitInfos(szPatientID, ref lstPatVisitInfo); if (lstPatVisitInfo == null) { return; } patVisit = lstPatVisitInfo.LastOrDefault(); } else { string szPatientID = docInfo.PATIENT_ID; string szVisitNo = docInfo.VISIT_ID;//文书VisitID存了 VisitNo shRet = PatVisitAccess.Instance.GetPatVisit(szPatientID, szVisitNo, ref patVisit); } if (patVisit == null) { return; } if (m_lstPatVisit == null) { m_lstPatVisit = new List <PatVisitInfo>(); } if (m_lstPatVisit.Exists(m => m.PATIENT_ID == patVisit.PATIENT_ID && m.VISIT_NO == patVisit.VISIT_NO)) { return; } List <MedDocInfo> lstMedDocInfos = null; shRet = EmrDocAccess.Instance.GetDocList(patVisit.PATIENT_ID, patVisit.VISIT_NO, ref lstMedDocInfos); if (lstMedDocInfos == null) { return; } List <RecPaper> lstRecPapers = new List <RecPaper>(); shRet = RecPaperAccess.Instance.GetRecPapers(patVisit.PATIENT_ID, patVisit.VISIT_NO, ref lstRecPapers); string[] arrSignKeyName = DataCache.Instance.DicHdpParameter[SystemData.ConfigKey.SignKeyName].Split('|'); var result = lstMedDocInfos.Where(m => StringHelper.ArrayContains(m.DOC_TITLE, arrSignKeyName)).ToList(); if (result != null && result.Count > 0) { VirtualNode node = new VirtualNode(); string szNodeText = string.Format("应{0}张 患者号:{1} 姓名:{2} ", result.Count, patVisit.PATIENT_ID, patVisit.PATIENT_NAME); if (patVisit.DISCHARGE_TIME != patVisit.DefaultTime) { szNodeText += "出院时间:" + patVisit.DISCHARGE_TIME.ToString("yyyy-MM-dd HH:mm"); } node.Text = szNodeText; node.CheckBox = true; node.Expand(); node.ImageIndex = 0; this.virtualTree1.Nodes.Add(node); foreach (var doc in result) { string szRecordTime = doc.RECORD_TIME.ToString("yyyy-MM-dd HH:mm"); VirtualNode childNode = new VirtualNode(szRecordTime); childNode.SubItems.Add(new VirtualSubItem()); childNode.SubItems.Add(new VirtualSubItem()); childNode.SubItems.Add(new VirtualSubItem()); childNode.SubItems[0].Text = doc.DOC_TITLE; var recPaper = lstRecPapers.Where(m => m.DOC_ID == doc.DOC_ID).FirstOrDefault(); if (recPaper != null) { if (!string.IsNullOrEmpty(recPaper.IMAGE_FRONTAGE)) { childNode.SubItems[1].ImageIndex = 1; childNode.SubItems[1].Tag = recPaper.IMAGE_FRONTAGE; } if (!string.IsNullOrEmpty(recPaper.IMAGE_OPPOSITE)) { childNode.SubItems[2].ImageIndex = 1; childNode.SubItems[2].Tag = recPaper.IMAGE_OPPOSITE; } childNode.Tag = recPaper; } this.m_paperCount++; node.Nodes.Add(childNode); } if (m_lstPatVisit == null) { m_lstPatVisit = new List <PatVisitInfo>(); } m_lstPatVisit.Add(patVisit); } }
async Task printNodeShortFormat(VirtualNode node) { await Output.WriteLineAsync(node.Path.FileName); }
static void TestVirtualFileSystem() { try { Random r = new Random(); VolatileDisk disk = new VolatileDisk(1); //PersistentDisk disk = new PersistentDisk(1, "disk1"); disk.TurnOn(); VirtualFS vfs = new VirtualFS(); vfs.Format(disk); vfs.Mount(disk, "/"); VirtualNode root = vfs.RootNode; VirtualNode dir1 = root.CreateDirectoryNode("dir1"); VirtualNode dir2 = root.CreateDirectoryNode("dir2"); dir2.CreateDirectoryNode("dir3"); dir1.CreateDirectoryNode("dir4"); dir2.CreateDirectoryNode("dir5"); VirtualNode file1 = dir1.CreateFileNode("file1"); VirtualNode file2 = dir1.CreateFileNode("file2"); VirtualNode file3 = dir2.CreateFileNode("file3"); VirtualNode file4 = dir2.CreateFileNode("file4"); TestFileWriteRead(file1, r, 0, 100); // 1 sector TestFileWriteRead(file1, r, 42, 77); TestFileWriteRead(file1, r, 0, 500); // 2 sectors TestFileWriteRead(file1, r, 250, 500); // 3 sectors TestFileWriteRead(file1, r, 275, 700); // 4 sectors RecursivelyPrintNodes(vfs.RootNode); Console.WriteLine("Rename!"); dir1 = vfs.RootNode.GetChild("dir1"); dir1.Rename("newdir1"); RecursivelyPrintNodes(vfs.RootNode); // Move something Console.WriteLine("Move!"); dir2 = vfs.RootNode.GetChild("dir2"); dir1.Move(dir2); RecursivelyPrintNodes(vfs.RootNode); // Make sure disk is correct Console.WriteLine("Unmount/mount!"); vfs.Unmount("/"); vfs.Mount(disk, "/"); RecursivelyPrintNodes(vfs.RootNode); // Delete Console.WriteLine("Delete file!"); VirtualNode file6 = vfs.RootNode.CreateFileNode("file6"); file6.Write(0, CreateTestBytes(r, 1000)); Console.WriteLine("File before deleting!"); RecursivelyPrintNodes(vfs.RootNode); file6.Delete(); Console.WriteLine("File after deleting!"); RecursivelyPrintNodes(vfs.RootNode); // Delete directory Console.WriteLine("Delete Directory!"); VirtualNode deleteDir2 = vfs.RootNode.GetChild("dir2"); VirtualNode deleteDir1 = deleteDir2.GetChild("newdir1"); //deleteDir2.Delete(); deleteDir1.Delete(); Console.WriteLine("...After deleting Directory!"); RecursivelyPrintNodes(vfs.RootNode); disk.TurnOff(); Console.WriteLine("TestVirtualFileSystem success!"); } catch (Exception ex) { Console.WriteLine("VFS test failed: " + ex.Message); Console.WriteLine(ex.StackTrace); } }
private object _getDiskName(VirtualNode virtualNode) { return ViewModel.OpenDisks.First(dvm => dvm.Disk == virtualNode.Disk).Name; }
private void _doPasteToDifferentDisk(VirtualNode source, VirtualDirectory target) { // check if source is a directory var vd = source as VirtualDirectory; if (vd != null) { // yes => create directory & recursively call this function for all child nodes var newVd = ((VirtualDirectory) target).CreateDirectory(source.Name); foreach (VirtualNode child in vd) { _doPasteToDifferentDisk(child, newVd); } } else { // no => copy file target.CreateFile(source.Name, ((VirtualFile) source).Open()); } }