public int UpdateDataInfoObject(IDataInfo dataInfoObject) { InfoNodeDataInfo obj = dataInfoObject as InfoNodeDataInfo; if (String.IsNullOrEmpty(obj.Text) == false && obj.Text.Length > DALConfig.MaxTextFieldSize) { obj.Text = obj.Text.Substring(0, DALConfig.MaxTextFieldSize); } if (dataInfoObject == null || obj == null) { return(0); } bool isNew = false; InfoNodeDB dbobj = repository.GetInfoNodeDBWithoutFileInfosByPath(obj.Path); if (dbobj == null) { dbobj = new InfoNodeDB(); isNew = true; } dbobj.ModifyTime = obj.ModifyTime; dbobj.Text = obj.Text; dbobj.Path = obj.Path; dbobj.Type = obj.IconType; dbobj.RTFText = (String.IsNullOrEmpty(obj.RTFText)) ? null : Encoding.UTF8.GetBytes(obj.RTFText); if (isNew) { return(repository.AddInfoNodeDB(dbobj)); } else { return(repository.UpdateInfoNodeDB(dbobj)); } }
private void ShowDataObjectInUI(InfoNodeDataInfo obj) { if (obj != null) { richTextBox1.Rtf = obj.RTFText; dgFiles.ItemsSource = obj.AttachFiles; dgLabels.ItemsSource = obj.AttachLabels; } }
//触发事件 public void RaiseEvent(bool eventInfo, InfoNodeAccess accessInfo, InfoNodeDataInfo dataInfo) { //创建事件对象 var e = new FileCountChangedEvent(eventInfo, accessInfo, dataInfo); //依次通知所有订阅了本事件的响应者 foreach (var handler in Handlers) { handler.Handle(e); } }
//触发事件 public void RaiseEvent(InfoNodeAccess accessInfo, InfoNodeDataInfo dataInfo) { //创建事件对象 var eventObj = new AddLabelEvent(accessInfo, dataInfo); //依次通知所有订阅了本事件的响应者 foreach (var handler in Handlers) { handler.Handle(eventObj); } }
public IDataInfo GetDataInfoObjectByPath(string nodePath) { InfoNodeDB dbobj = repository.GetInfoNodeDBWithoutFileInfosByPath(nodePath); ObservableCollection <DBFileInfo> files = repository.GetFileInfosOfInfoNodeDB(nodePath); ObservableCollection <DBLabelInfo> labels = repository.GetLabelInfosOfInfoNodeDB(nodePath); InfoNodeDataInfo InfoNodeInfo = InfoNodeHelper.changeToInfoNodeDataInfo(dbobj); if (InfoNodeInfo != null) { InfoNodeInfo.AttachFiles = files; InfoNodeInfo.AttachLabels = labels; } return(InfoNodeInfo); }
/// <summary> /// 转换为InfoNodeInfo,不理会附属文件集合 /// </summary> /// <param name="dbobj"></param> /// <returns></returns> public static InfoNodeDataInfo changeToInfoNodeDataInfo(InfoNodeDB dbobj) { if (dbobj == null) { return(null); } InfoNodeDataInfo obj = new InfoNodeDataInfo() { Text = String.IsNullOrEmpty(dbobj.Text) ? "" : dbobj.Text, RTFText = dbobj.RTFText == null ? "" : Encoding.UTF8.GetString(dbobj.RTFText), Path = dbobj.Path, ModifyTime = dbobj.ModifyTime.Value, ID = dbobj.ID }; return(obj); }
/// <summary> /// 转换为InfoNode对象,不理会附属文件集合 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static InfoNodeDB changeToInfoNodeDB(InfoNodeDataInfo obj) { if (obj == null) { return(null); } //注意数据库中nvarchar最大允许4000个字符 if (obj.Text != null && obj.Text.Length > DALConfig.MaxTextFieldSize) { obj.Text = obj.Text.Substring(0, DALConfig.MaxTextFieldSize); } InfoNodeDB dbObj = new InfoNodeDB() { ModifyTime = obj.ModifyTime, Path = obj.Path, RTFText = String.IsNullOrEmpty(obj.RTFText) ? null : Encoding.UTF8.GetBytes(obj.RTFText), // RTFText是真正内容 Text = String.IsNullOrEmpty(obj.Text) ? "" : obj.Text, //Text该属性仅用于在数据库中查找文本 Type = obj.IconType, ID = obj.ID }; return(dbObj); }
public AddLabelEvent(InfoNodeAccess accessInfo, InfoNodeDataInfo dataInfo) { AccessInfo = accessInfo; DataInfo = dataInfo; }
public FileCountChangedEvent(bool ishavefile, InfoNodeAccess accessInfo, InfoNodeDataInfo dataInfo) { IsHaveFile = ishavefile; AccessInfo = accessInfo; DataInfo = dataInfo; }