示例#1
0
        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;
     }
 }
示例#3
0
        //触发事件
        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);
            }
        }
示例#5
0
        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);
        }
示例#6
0
        /// <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);
        }
示例#7
0
        /// <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);
        }
示例#8
0
 public AddLabelEvent(InfoNodeAccess accessInfo, InfoNodeDataInfo dataInfo)
 {
     AccessInfo = accessInfo;
     DataInfo   = dataInfo;
 }
 public FileCountChangedEvent(bool ishavefile, InfoNodeAccess accessInfo, InfoNodeDataInfo dataInfo)
 {
     IsHaveFile = ishavefile;
     AccessInfo = accessInfo;
     DataInfo   = dataInfo;
 }