程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行Visio二次開發之設備狀態跟蹤(2)

C#進行Visio二次開發之設備狀態跟蹤(2)

編輯:關於C語言

以上是對幾個特別事件的偵聽,我們要實現設備的跟蹤,需要在這幾個事件中處理相關的設備信息。為了跟蹤好設備的相關信息,我們需要定義一個實體類ShapeLogInfo類放置相關的設備信息,如Shape的GUID,Shape的ID,設備狀態(添加、修改、刪除),Shape的Name,還有就是我們自定義的一個屬性“設備類型”。

/// <summary>
/// 形狀的類型,即設備類型
/// </summary>
public string ShapeType
/**//// <summary>
/// 形狀ID
/// </summary>
public string ShapeID
/**//// <summary>
/// 形狀的GUID
/// </summary>
public string ShapeGuid
/**//// <summary>
/// 形狀的狀態:新增、編輯、刪除
/// </summary>
public ShapeStatus ShapeStatus
/**//// <summary>
/// 形狀名稱
/// </summary>
public string ShapeName

為了更好的管理ShapeLogInfo的相關信息,我們把相同設備類型(ShapeType)的放到一起管理,於是,我們再創建一個ShapeTypeLogInfo類來裝載相關的日志信息,具體如下:

/// <summary>
/// 形狀類型
/// </summary>
public string ShapeType
/**//// <summary>
/// 形狀類型對應的數據庫表名稱
/// </summary>
public string ShapeTableName
/**//// <summary>
/// 該形狀類型對應的形狀日志對象集合
/// </summary>
public Dictionary<string, ShapeLogInfo> ShapeColloction

為了判斷是否有相應的ShapeTypeLogInfo和ShapeLogInfo,需要定義幾個函數用來維護相關的集合信息,如下所示:

/**//// <summary>
/// 獲取形狀對應的類型,如果沒有則創建
/// </summary>
private ShapeTypeLogInfo GetShapeType(ShapeLogInfo shape)
/**//// <summary>
/// 如果集合中有,修改狀態;否則添加一個新的
/// </summary>
public void AddLog(ShapeLogInfo shapeLogInfo)
/**//// <summary>
/// 判斷指定的形狀是否是在集合中存在
/// </summary>
public bool IsNewShape(ShapeLogInfo shape)
/**//// <summary>
/// 取當前設備在集合中存儲的ShapeLog對象
/// </summary>
public ShapeLogInfo GetShape(string shapeType, string shapeId)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved