/// <summary>
        /// 更改评论
        /// </summary>
        /// <param name="academicReviewItemTransferEntity"></param>
        public static void UpdateItemComment(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            try
            {
                //遍历记录所有知识树的记录
                foreach (var item in ConferenceTreeItem.AcademicReviewItemList)
                {
                    //指定与服务器传过来的协议实体GUID相同的知识树节点
                    if (item.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid))
                    {
                        //避免重复设置(评论)
                        if (item.ACA_Comment != academicReviewItemTransferEntity.Comment && !item.IsCommentEditNow)
                        {
                            //指定节点的评论设置
                            item.ACA_Comment = academicReviewItemTransferEntity.Comment;
                            //指定节点的协议实体的评论设置
                            item.AcademicReviewItemTransferEntity.Comment = item.ACA_Comment;
                            item.CommentCommandVisibility = Visibility.Visible;

                            //显示操作提示
                            ConferenceTreeItem.ShowOperationTip(item, academicReviewItemTransferEntity.Operationer);
                        }

                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
            }
            finally
            {
            }
        }
        public void ForceOccuptFocus(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            try
            {
                //上锁,达到线程互斥作用
                lock (objFocus)
                {
                    try
                    {
                        //会议名称为null则不执行以下操作
                        if (string.IsNullOrEmpty(conferenceName))
                        {
                            return;
                        }

                        //实时同步
                        InformClient(conferenceName, academicReviewItemTransferEntity);
                    }
                    catch (Exception ex)
                    {
                        LogManage.WriteLog(this.GetType(), ex);
                    }
                }
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(this.GetType(), ex);
            }
            finally
            {
            }
        }
 /// <summary>
 /// 更改链接
 /// </summary>
 /// <param name="academicReviewItemTransferEntity"></param>
 public static void UpdateItemLink(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
 {
     try
     {
         //遍历记录所有知识树的记录
         foreach (var item in ConferenceTreeItem.AcademicReviewItemList)
         {
             //指定与服务器传过来的协议实体GUID相同的知识树节点
             if (item.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid))
             {
                 item.stackPanelLinkList.Children.Clear();
                 foreach (var link in academicReviewItemTransferEntity.LinkList)
                 {
                     string fileName = System.IO.Path.GetFileName(link);
                     item.LinkListItemAdd(fileName, link);
                 }
                 item.LinkCommandVisibility = Visibility.Visible;
                 break;
             }
         }
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
     }
     finally
     {
     }
 }
示例#4
0
        /// <summary>
        /// 知识树映射实体转换
        /// </summary>
        public static ConferenceTreeItemTransferEntity TreeTransferEntityChanged(ConferenceWebCommon.EntityHelper.ConferenceTree.ConferenceTreeItemTransferEntity conferenceTreeItemTransferEntity)
        {
            //返回的语音映射实体(weservicve自引用)
            ConferenceTreeItemTransferEntity conferenceTreeItemTransferEntityReturn = new ConferenceTreeItemTransferEntity();

            try
            {
                //GUID绑定
                conferenceTreeItemTransferEntityReturn.Guid = conferenceTreeItemTransferEntity.Guid;
                //论点
                conferenceTreeItemTransferEntityReturn.Comment = conferenceTreeItemTransferEntity.Comment;
                //操作人
                conferenceTreeItemTransferEntityReturn.Operationer = conferenceTreeItemTransferEntity.Operationer;
                //父节点GUID
                conferenceTreeItemTransferEntityReturn.ParentGuid = conferenceTreeItemTransferEntity.ParentGuid;
                //标题
                conferenceTreeItemTransferEntityReturn.Title = conferenceTreeItemTransferEntity.Title;
                //链接列表
                conferenceTreeItemTransferEntityReturn.LinkList = conferenceTreeItemTransferEntity.LinkList;
                //焦点占用者
                conferenceTreeItemTransferEntityReturn.FocusAuthor = conferenceTreeItemTransferEntity.FocusAuthor;
                //类型绑定
                conferenceTreeItemTransferEntityReturn.Operation = (ConferenceTreeOperationType)((int)conferenceTreeItemTransferEntity.Operation);
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(typeof(EntityTransfer), ex);
            }
            finally
            {
            }
            return(conferenceTreeItemTransferEntityReturn);
        }
        public void ForceOccuptFocus(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            try
            {
                //上锁,达到线程互斥作用
                lock (objFocus)
                {
                    try
                    {
                        //会议名称不为空
                        if (conferenceID == 0)
                        {
                            return;
                        }

                        //实时同步
                        InformClient(conferenceID, academicReviewItemTransferEntity);
                    }
                    catch (Exception ex)
                    {
                        LogManage.WriteLog(this.GetType(), ex);
                    }
                }
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(this.GetType(), ex);
            }
            finally
            {
            }
        }
 /// <summary>
 /// 更改标题
 /// </summary>
 /// <param name="academicReviewItemTransferEntity"></param>
 public static void UpdateItemTittle(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
 {
     try
     {
         //遍历记录所有知识树的记录
         foreach (var item in ConferenceTreeItem.AcademicReviewItemList)
         {
             //指定与服务器传过来的协议实体GUID相同的知识树节点
             if (item.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid))
             {
                 //避免重复设置(标题)
                 if (item.ACA_Tittle != academicReviewItemTransferEntity.Title && !item.IsTittleEditNow)
                 {
                     //指定节点的标题设置
                     item.ACA_Tittle = academicReviewItemTransferEntity.Title;
                     //指定节点的协议实体的标题设置
                     item.AcademicReviewItemTransferEntity.Title = item.ACA_Tittle;
                     //指定节点的选择起始位置设置为文本的长度
                     item.txtTittle.SelectionStart = item.txtTittle.Text.Length;
                     //显示操作提示
                     ConferenceTreeItem.ShowOperationTip(item, academicReviewItemTransferEntity.Operationer);
                 }
                 break;
             }
         }
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
     }
     finally
     {
     }
 }
        public bool CheckVoteListContainsSelf(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, string Participant)
        {
            //上锁,达到线程互斥作用
            lock (objCheckVoteListContainsSelf)
            {
                //是否投过票(当前用户)
                bool result = true;
                //try
                //{
                //    //会议名称为null则不执行
                //    if (string.IsNullOrEmpty(conferenceName)) return false;

                //    //获取知识树根节点
                //    if (academicReviewItemTransferEntity.Guid == 0)
                //    {
                //        //查看根节点有没有自己投的票
                //        if (ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.VotedParticipantList.Contains(Participant))
                //        {
                //            //已投
                //            result = true;
                //        }
                //        else
                //        {
                //            //未投
                //            result = false;
                //        }
                //    }
                //    //遍历所有节点
                //    for (int i = 0; i < ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList.Count; i++)
                //    {
                //        //获取遍历的子节点
                //        var item = ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i];
                //        //找到对应的子节点
                //        if (item.Equals(academicReviewItemTransferEntity))
                //        {
                //            //查看该节点自己是否已投票
                //            if (item.VotedParticipantList.Contains(Participant))
                //            {
                //                //已投
                //                result = true;
                //            }
                //            else
                //            {
                //                //未投
                //                result = false;
                //            }
                //            break;
                //        }
                //    }
                //}
                //catch (Exception ex)
                //{
                //    LogManage.WriteLog(this.GetType(), ex);
                //}
                return(result);
            }
        }
        /// <summary>
        /// 更改节点(服务器同步)
        /// </summary>
        /// <param name="academicReviewItemTransferEntity"></param>
        public static void UpdateItem(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            try
            {
                //遍历记录所有知识树的记录
                foreach (var item in ConferenceTreeItem.AcademicReviewItemList)
                {
                    //指定与服务器传过来的协议实体GUID相同的知识树节点
                    if (item.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid))
                    {
                        //避免重复设置(标题)
                        if (item.ACA_Tittle != academicReviewItemTransferEntity.Title && !item.IsTittleEditNow)
                        {
                            //指定节点的标题设置
                            item.ACA_Tittle = academicReviewItemTransferEntity.Title;
                            //指定节点的协议实体的标题设置
                            item.AcademicReviewItemTransferEntity.Title = item.ACA_Tittle;
                            //指定节点的选择起始位置设置为文本的长度
                            item.txtTittle.SelectionStart = item.txtTittle.Text.Length;
                        }

                        //避免重复设置(评论)
                        if (item.ACA_Comment != academicReviewItemTransferEntity.Comment && !item.IsCommentEditNow)
                        {
                            //指定节点的评论设置
                            item.ACA_Comment = academicReviewItemTransferEntity.Comment;
                            //指定节点的协议实体的评论设置
                            item.AcademicReviewItemTransferEntity.Comment = item.ACA_Comment;
                            item.CommentCommandVisibility = Visibility.Visible;
                        }

                        if (string.IsNullOrEmpty(academicReviewItemTransferEntity.Comment))
                        {
                            item.CommentCommandVisibility = Visibility.Collapsed;
                            item.CommentVisibility        = Visibility.Collapsed;
                        }

                        if (academicReviewItemTransferEntity.LinkList.Count > 0)
                        {
                            //更改链接
                            UpdateItemLink(academicReviewItemTransferEntity);
                        }
                        else
                        {
                            item.LinkCommandVisibility = Visibility.Collapsed;
                            item.LinkListVisibility    = Visibility.Collapsed;
                        }

                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
            }
        }
示例#9
0
 /// <summary>
 /// 删除一个节点
 /// </summary>
 /// <param name="conferenceName"></param>
 /// <param name="academicReviewItemTransferEntity"></param>
 public void Delete(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
 {
     try
     {
         Client.DeleteOneAsync(conferenceID, academicReviewItemTransferEntity);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
示例#10
0
 /// <summary>
 /// 查看当前节点自己是否投过票
 /// </summary>
 /// <param name="conferenceName"></param>
 /// <param name="academicReviewItemTransferEntity"></param>
 /// <param name="Participant"></param>
 public void CheckVoteList(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, string Participant, Action <bool, bool> callback)
 {
     try
     {
         this.CheckVoteList_CallBack = callback;
         //Client.CheckVoteListContainsSelfAsync(conferenceID, academicReviewItemTransferEntity, Participant);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
示例#11
0
 /// <summary>
 /// 投票更改
 /// </summary>
 /// <param name="conferenceName"></param>
 /// <param name="academicReviewItemTransferEntity"></param>
 /// <param name="participant"></param>
 /// <param name="callback"></param>
 public void Vote(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, string participant, Action <bool> callback)
 {
     try
     {
         this.Vote_CallBack = callback;
         Client.VoteChangedAsync(conferenceID, academicReviewItemTransferEntity, participant);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
示例#12
0
 /// <summary>
 /// 清除节点所有投票
 /// </summary>
 /// <param name="conferenceName"></param>
 /// <param name="conferenceTreeItemTransferEntity"></param>
 /// <param name="callBack"></param>
 public void ClearItemAllVote(int conferenceID, ConferenceTreeItemTransferEntity conferenceTreeItemTransferEntity, Action <bool> callBack)
 {
     try
     {
         this.ClearItemAllVote_CallBack = callBack;
         Client.ClearItemAllVoteAsync(conferenceID, conferenceTreeItemTransferEntity);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
示例#13
0
 /// <summary>
 /// 提交一个节点(更新)完成事件
 /// </summary>
 /// <param name="conferenceName"></param>
 /// <param name="academicReviewItemTransferEntity"></param>
 /// <param name="callback"></param>
 public void Update(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, Action <string> callback)
 {
     try
     {
         UpdateItemCallBack = callback;
         Client.UpdateOneAsync(conferenceID, academicReviewItemTransferEntity);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
示例#14
0
 /// <summary>
 /// 添加一个节点
 /// </summary>
 /// <param name="conferenceName"></param>
 /// <param name="academicReviewItemTransferEntity"></param>
 /// <param name="callBack"></param>
 public void Add(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, Action <bool> callBack)
 {
     try
     {
         AddItemCallBack = callBack;
         Client.AddOneAsync(conferenceID, academicReviewItemTransferEntity);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
        public void ClearItemAllVote(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            //上锁,达到线程互斥作用
            lock (objClearItemAllVote)
            {
                try
                {
                    //会议名称不为空
                    if (conferenceID == 0)
                    {
                        return;
                    }
                    //操作模式改为更新
                    academicReviewItemTransferEntity.Operation = ConferenceTreeOperationType.UpdateType;
                    //父节点
                    if (academicReviewItemTransferEntity.Guid == 0)
                    {
                        //反对(给知识树父节点,以会议名称为索引)
                        //ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.NoVoteCount = 0;
                        ////赞成(给知识树父节点,以会议名称为索引)
                        //ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.YesVoteCount = 0;
                        ////对应知识树父节点投票人列表更改
                        //ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.VotedParticipantList.Clear();
                        //通知客户端
                        InformClient(conferenceID, academicReviewItemTransferEntity);
                    }
                    for (int i = 0; i < ConferenceTreeInitRefleshEntity_dic[conferenceID].AcademicReviewItemTransferEntity_ObserList.Count; i++)
                    {
                        var item = ConferenceTreeInitRefleshEntity_dic[conferenceID].AcademicReviewItemTransferEntity_ObserList[i];
                        if (item.Equals(academicReviewItemTransferEntity))
                        {
                            ////反对(给知识树子节点,以会议名称为索引)
                            //ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].NoVoteCount = 0;
                            ////赞成(给知识树子节点,以会议名称为索引)
                            //ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].YesVoteCount = 0;
                            ////对应知识树子节点投票人列表更改
                            //ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].VotedParticipantList.Clear();
                            //通知客户端
                            InformClient(conferenceID, academicReviewItemTransferEntity);

                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogManage.WriteLog(this.GetType(), ex);
                }
            }
        }
        public void DeleteOne(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            //上锁,达到线程互斥作用
            lock (objDeleteOne)
            {
                try
                {
                    //会议名称不能为空
                    if (string.IsNullOrEmpty(conferenceName))
                    {
                        return;
                    }

                    //相关会议的知识树
                    ConferenceTreeInitRefleshEntity treeReflesh = ConferenceTreeInitRefleshEntity_dic[conferenceName];
                    //知识树节点集合
                    List <ConferenceTreeItemTransferEntity> treeList = treeReflesh.AcademicReviewItemTransferEntity_ObserList;
                    //操作类型改为删除
                    academicReviewItemTransferEntity.Operation = ConferenceTreeOperationType.DeleteType;
                    //子节点
                    if (treeList.Contains(academicReviewItemTransferEntity))
                    {
                        //删除节点的子节点
                        for (int i = treeList.Count - 1; i > -1; i--)
                        {
                            if (treeList[i].ParentGuid == academicReviewItemTransferEntity.Guid)
                            {
                                treeList.Remove(treeList[i]);
                            }
                        }
                        treeList.Remove(academicReviewItemTransferEntity);
                        //实时同步
                        InformClient(conferenceName, academicReviewItemTransferEntity);
                    }
                    //根节点
                    else if (academicReviewItemTransferEntity.Guid == 0)
                    {
                        //删除所有子节点
                        treeList.Clear();
                        //实时同步
                        InformClient(conferenceName, academicReviewItemTransferEntity);
                    }
                }
                catch (Exception ex)
                {
                    LogManage.WriteLog(this.GetType(), ex);
                }
            }
        }
示例#17
0
 public void UpdateTitle(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, Action <string> callback)
 {
     try
     {
         UpdateItemTitleCallBack = callback;
         ConferenceTree.Client.UpdateTittleAsync(conferenceName, academicReviewItemTransferEntity);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
     finally
     {
     }
 }
 /// <summary>
 /// 服务器同步添加节点
 /// </summary>
 /// <param name="academicReviewItemTransferEntity"></param>
 public static void Add_Item(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
 {
     try
     {
         lock (AddItem_Object)
         {
             //映射集合GUID
             if (ConferenceTreeItem.retunList.Count > 0 && !ConferenceTreeItem.retunList.Contains(academicReviewItemTransferEntity.Guid))
             {
                 //添加GUID
                 ConferenceTreeItem.retunList.Add(academicReviewItemTransferEntity.Guid);
                 //声明一个新的知识树节点
                 ConferenceTreeItem academicReviewItem = null;
                 //指定父节点,通过关联记录所有知识树的记录中获取(根据服务器传过来的知识树协议实体的父节点的GUID来判断)
                 foreach (var item in ConferenceTreeItem.AcademicReviewItemList)
                 {
                     if (item.ACA_Guid.Equals(academicReviewItemTransferEntity.ParentGuid))
                     {
                         //生成知识树节点(关联)(该节点的GUID为服务器传过来的知识树协议实体的GUID)
                         academicReviewItem = new ConferenceTreeItem(false)
                         {
                             VerticalLineVisibility = System.Windows.Visibility.Collapsed, ExpanderVisibility = System.Windows.Visibility.Collapsed, ACA_Parent = item, ParentGuid = academicReviewItemTransferEntity.ParentGuid, ACA_Guid = academicReviewItemTransferEntity.Guid
                         };
                         //父节点容器将新生成的知识节点添加
                         item.StackPanel.Children.Add(academicReviewItem);
                         //父节点的子项集合添加该节点
                         item.ACA_ChildList.Add(academicReviewItem);
                         //该节点的协议实体绑定服务器传过来的知识树协议实体
                         academicReviewItem.AcademicReviewItemTransferEntity = academicReviewItemTransferEntity;
                         //根目录自增1
                         ConferenceTreeItem.RootCount++;
                         break;
                     }
                 }
                 if (academicReviewItem != null)
                 {
                     //记录所有知识树的记录添加节点
                     ConferenceTreeItem.AcademicReviewItemList.Add(academicReviewItem);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
     }
 }
示例#19
0
 /// <summary>
 /// 强行占用焦点
 /// </summary>
 public void ForceOccupyFocus(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, Action <bool> callback)
 {
     try
     {
         //强制占用焦点事件回调
         this.FocusCallBack = callback;
         //强行占用焦点
         Client.ForceOccuptFocusAsync(conferenceID, academicReviewItemTransferEntity);
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
     finally
     {
     }
 }
 /// <summary>
 /// 当前用户手动添加节点
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void ItemAdd()
 {
     try
     {
         //生成一个知识树协议实体对象
         ConferenceTreeItemTransferEntity AcademicReviewItemTransferEntityChild = new ConferenceTreeItemTransferEntity()
         {
             ParentGuid = this.ACA_Guid
         };
         //向服务器添加一个子节点
         ModelManage.ConferenceTree.Add(TreeCodeEnterEntity.ConferenceName, AcademicReviewItemTransferEntityChild, new Action <bool>(result =>
         {
         }));
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
     }
 }
 /// <summary>
 /// 实时同步(发送信息给客户端)
 /// </summary>
 /// <param name="conferenceName">会议名称</param>
 public void InformClient(string conferenceName, ConferenceTreeItemTransferEntity conferenceTreeItemTransferEntity)
 {
     try
     {
         if (!string.IsNullOrEmpty(conferenceName))
         {
             //生成数据包
             PackageBase pack = new PackageBase()
             {
                 ConferenceClientAcceptType = ConferenceWebCommon.Common.ConferenceClientAcceptType.ConferenceTree,
             };
             pack.ConferenceTreeFlg.ConferenceTreeItemTransferEntity = conferenceTreeItemTransferEntity;
             pack.ConferenceTreeFlg.ConferenceTreeFlgType            = ConferenceTreeFlgType.normal;
             //会议通讯节点信息发送管理中心
             Constant.SendClientCenterManage(Constant.DicTreeMeetServerSocket, conferenceName, pack);
         }
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(this.GetType(), ex);
     }
 }
        public void AddOne(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            //上锁,达到线程互斥作用
            lock (objAddOne)
            {
                try
                {
                    if (string.IsNullOrEmpty(conferenceName))
                    {
                        return;
                    }

                    //相关会议的知识树
                    ConferenceTreeInitRefleshEntity treeReflesh = ConferenceTreeInitRefleshEntity_dic[conferenceName];
                    //知识树节点集合
                    List <ConferenceTreeItemTransferEntity> treeList = treeReflesh.AcademicReviewItemTransferEntity_ObserList;

                    //知识树添加节点(做判断)
                    if (!treeList.Contains(academicReviewItemTransferEntity))
                    {
                        //操作类型改为添加
                        academicReviewItemTransferEntity.Operation = ConferenceTreeOperationType.AddType;
                        //知识树添加节点
                        treeList.Add(academicReviewItemTransferEntity);
                        //guid绑定为当前rootcount
                        academicReviewItemTransferEntity.Guid = treeReflesh.RootCount;
                        //进阶
                        treeReflesh.RootCount++;
                        //通知客户端
                        InformClient(conferenceName, academicReviewItemTransferEntity);
                    }
                }
                catch (Exception ex)
                {
                    LogManage.WriteLog(this.GetType(), ex);
                }
            }
        }
 /// <summary>
 /// 焦点去除(评论被最后一个占用者剔除焦点)
 /// </summary>
 /// <param name="academicReviewItemTransferEntity"></param>
 public static void RemoveCommentFocus(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
 {
     try
     {
         //遍历记录所有知识树的记录
         foreach (var item in ConferenceTreeItem.AcademicReviewItemList)
         {
             //指定与服务器传过来的协议实体GUID相同的知识树节点
             if (item.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid) && !academicReviewItemTransferEntity.FocusAuthor.Equals(TreeCodeEnterEntity.LoginUserName))
             {
                 if (item.txtComment.IsFocused)
                 {
                     //踢掉标题焦点
                     item.txtHelper.Focus();
                 }
                 break;
             }
         }
     }
     catch (Exception ex)
     {
         LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
     }
 }
        public void VoteChanged(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity, string Participant)
        {
            //上锁,达到线程互斥作用
            lock (objVoteChanged)
            {
                try
                {
                    ////会议信息为null则不执行
                    //if (string.IsNullOrEmpty(conferenceName)) return;
                    ////设置类型改为更新
                    //academicReviewItemTransferEntity.Operation = ConferenceTreeOperationType.UpdateType;

                    ////父节点
                    //if (academicReviewItemTransferEntity.Guid == 0)
                    //{
                    //    //只要有一个投票不同,则进行更改(赞成,反对)
                    //    if (ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.NoVoteCount != academicReviewItemTransferEntity.NoVoteCount
                    //        || ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.YesVoteCount != academicReviewItemTransferEntity.YesVoteCount
                    //        )
                    //    {
                    //        //反对(给知识树父节点,以会议名称为索引)
                    //        ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.NoVoteCount = academicReviewItemTransferEntity.NoVoteCount;
                    //        //赞成(给知识树父节点,以会议名称为索引)
                    //        ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.YesVoteCount = academicReviewItemTransferEntity.YesVoteCount;
                    //        //给知识树父节点添加投票人
                    //        if (!ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.VotedParticipantList.Contains(Participant))
                    //        {
                    //            ConferenceTreeInitRefleshEntity_dic[conferenceName].RootParent_AcademicReviewItemTransferEntity.VotedParticipantList.Add(Participant);
                    //        }

                    //        //通知客户端
                    //        InformClient(conferenceName, academicReviewItemTransferEntity);
                    //    }
                    //}
                    //else
                    //{
                    //    for (int i = 0; i < ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList.Count; i++)
                    //    {
                    //        var item = ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i];
                    //        if (item.Equals(academicReviewItemTransferEntity))
                    //        {
                    //            //只要有一个投票不同,则进行更改(赞成,反对)
                    //            if (ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].NoVoteCount != academicReviewItemTransferEntity.NoVoteCount
                    //                || ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].YesVoteCount != academicReviewItemTransferEntity.YesVoteCount
                    //                )
                    //            {
                    //                //反对(给知识树子节点,以会议名称为索引)
                    //                ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].NoVoteCount = academicReviewItemTransferEntity.NoVoteCount;
                    //                //赞成(给知识树子节点,以会议名称为索引)
                    //                ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].YesVoteCount = academicReviewItemTransferEntity.YesVoteCount;

                    //                //给知识树子节点添加投票人
                    //                if (!ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].VotedParticipantList.Contains(Participant))
                    //                {
                    //                    ConferenceTreeInitRefleshEntity_dic[conferenceName].AcademicReviewItemTransferEntity_ObserList[i].VotedParticipantList.Add(Participant);
                    //                }
                    //                //通知客户端
                    //                InformClient(conferenceName, academicReviewItemTransferEntity);
                    //            }

                    //            break;
                    //        }
                    //    }
                    //}
                }
                catch (Exception ex)
                {
                    LogManage.WriteLog(this.GetType(), ex);
                }
            }
        }
        /// <summary>
        /// 服务器同步删除节点
        /// </summary>
        public static void Delete_Item(ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            try
            {
                //声明一个知识树节点
                ConferenceTreeItem academicReviewChild = null;
                //指定父节点,通过关联记录所有知识树的记录中获取(根据服务器传过来的知识树协议实体的父节点的GUID来判断)
                if (academicReviewItemTransferEntity.Guid != 0)
                {
                    for (int i = 0; i < ConferenceTreeItem.AcademicReviewItemList.Count; i++)
                    {
                        //记录所有知识树的记录里获取同协议实体相同GUID的子节点
                        academicReviewChild = ConferenceTreeItem.AcademicReviewItemList[i];
                        //对应协议实体的GUID
                        if (academicReviewChild.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid))
                        {
                            //父节点容器删除该子节点
                            academicReviewChild.ACA_Parent.StackPanel.Children.Remove(academicReviewChild);
                            //父节点的子项集合删除该节点
                            academicReviewChild.ACA_Parent.ACA_ChildList.Remove(academicReviewChild);

                            //清空附加数据
                            ConferenceTreeItem.ClearAddData(academicReviewChild);

                            #region 相对应的子节点也得删除

                            //使用递归方式删除子节点
                            ConferenceTreeItem.ItemDeleteRecursion(academicReviewItemTransferEntity.Guid);

                            #endregion

                            break;
                        }
                    }
                }
                //该为根节点
                else
                {
                    for (int i = 0; i < ConferenceTreeItem.AcademicReviewItemList.Count; i++)
                    {
                        //记录所有知识树的记录里获取同协议实体相同GUID的子节点
                        academicReviewChild = ConferenceTreeItem.AcademicReviewItemList[i];
                        //对应协议实体的GUID
                        if (academicReviewChild.ACA_Guid.Equals(academicReviewItemTransferEntity.Guid))
                        {
                            //父节点容器删除所有子节点
                            academicReviewChild.StackPanel.Children.Clear();
                            //父节点的子项集合删除所有节点
                            academicReviewChild.ACA_ChildList.Clear();

                            //通过遍历去清空所有子节点
                            for (int j = ConferenceTreeItem.AcademicReviewItemList.Count - 1; j > -1; j--)
                            {
                                ConferenceTreeItem item = ConferenceTreeItem.AcademicReviewItemList[j];
                                //根节点没有父类
                                if (item.ACA_Parent != null)
                                {
                                    //记录所有知识树的记录删除该节点
                                    ConferenceTreeItem.AcademicReviewItemList.RemoveAt(j);
                                    //清空附加数据
                                    ConferenceTreeItem.ClearAddData(item);
                                }
                            }

                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
            }
        }
        public void LinkAdd(string conferenceName, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            //上锁,达到线程互斥作用
            lock (objLink)
            {
                try
                {
                    //会议名称为null则不执行
                    if (string.IsNullOrEmpty(conferenceName))
                    {
                        return;
                    }

                    //相关会议的知识树
                    ConferenceTreeInitRefleshEntity treeReflesh = ConferenceTreeInitRefleshEntity_dic[conferenceName];
                    //知识树节点集合
                    List <ConferenceTreeItemTransferEntity> treeList = treeReflesh.AcademicReviewItemTransferEntity_ObserList;
                    //根节点
                    ConferenceTreeItemTransferEntity rootTree = treeReflesh.RootParent_AcademicReviewItemTransferEntity;

                    //操作类型设置为更新
                    academicReviewItemTransferEntity.Operation = ConferenceTreeOperationType.LinkAdd;

                    //GUID为0,证明为根节点
                    if (academicReviewItemTransferEntity.Guid == 0)
                    {
                        //超链接
                        rootTree.LinkList = academicReviewItemTransferEntity.LinkList;
                        //设置根节点的操作人
                        rootTree.Operationer = academicReviewItemTransferEntity.Operationer;
                        //实时同步
                        InformClient(conferenceName, academicReviewItemTransferEntity);
                    }
                    else
                    {
                        //遍历所有节点
                        for (int i = 0; i < treeList.Count; i++)
                        {
                            //获取遍历过程中的子节点
                            var item = treeList[i];
                            //找到需要更新的子节点
                            if (item.Equals(academicReviewItemTransferEntity))
                            {
                                //超链接
                                treeList[i].LinkList = academicReviewItemTransferEntity.LinkList;
                                //设置子节点的操作人
                                treeList[i].Operationer = academicReviewItemTransferEntity.Operationer;

                                //实时同步
                                InformClient(conferenceName, academicReviewItemTransferEntity);
                                break;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogManage.WriteLog(this.GetType(), ex);
                }
            }
        }
        public void UpdateComment(int conferenceID, ConferenceTreeItemTransferEntity academicReviewItemTransferEntity)
        {
            //上锁,达到线程互斥作用
            lock (objUpdateOne)
            {
                try
                {
                    //会议名称不为空
                    if (conferenceID == 0)
                    {
                        return;
                    }

                    //相关会议的知识树
                    ConferenceTreeInitRefleshEntity treeReflesh = ConferenceTreeInitRefleshEntity_dic[conferenceID];
                    //知识树节点集合
                    List <ConferenceTreeItemTransferEntity> treeList = treeReflesh.AcademicReviewItemTransferEntity_ObserList;
                    //根节点
                    ConferenceTreeItemTransferEntity rootTree = treeReflesh.RootParent_AcademicReviewItemTransferEntity;

                    //操作类型设置为更新
                    academicReviewItemTransferEntity.Operation = ConferenceTreeOperationType.UpdateComment;

                    //GUID为0,证明为根节点
                    if (academicReviewItemTransferEntity.Guid == 0)
                    {
                        //设置根节点的论点
                        rootTree.Comment = academicReviewItemTransferEntity.Comment;

                        //设置根节点的操作人
                        rootTree.Operationer = academicReviewItemTransferEntity.Operationer;
                        //实时同步
                        InformClient(conferenceID, academicReviewItemTransferEntity);
                    }
                    else
                    {
                        //遍历所有节点
                        for (int i = 0; i < treeList.Count; i++)
                        {
                            //获取遍历过程中的子节点
                            var item = treeList[i];
                            //找到需要更新的子节点
                            if (item.Equals(academicReviewItemTransferEntity))
                            {
                                //设置子节点的论点
                                treeList[i].Comment = academicReviewItemTransferEntity.Comment;

                                //设置子节点的操作人
                                treeList[i].Operationer = academicReviewItemTransferEntity.Operationer;

                                //实时同步
                                InformClient(conferenceID, academicReviewItemTransferEntity);
                                break;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogManage.WriteLog(this.GetType(), ex);
                }
            }
        }
        /// <summary>
        /// 知识树子节点点对点进行同步
        /// </summary>
        /// <param name="result"></param>
        public static void Information_Sync(ConferenceTreeItemTransferEntity result)
        {
            try
            {
                //树视图启动
                ConferenceTreeView.conferenceTreeView.IsStart = true;
                switch (result.Operation)
                {
                //添加节点
                case ConferenceTreeOperationType.AddType:
                    Add_Item(result);
                    ShowSummerUpdateView();
                    break;

                //删除节点
                case ConferenceTreeOperationType.DeleteType:
                    Delete_Item(result);
                    ShowSummerUpdateView();
                    break;

                //更新节点
                case ConferenceTreeOperationType.UpdateType:
                    UpdateItem(result);
                    ShowSummerUpdateView();
                    break;

                //刷新
                case ConferenceTreeOperationType.RefleshAllType:

                    ConferenceTreeItem.SessionClear();

                    //重新加载一个新实例
                    ConferenceTreeView.conferenceTreeView.ConferenceTreeItem.ParametersInit();

                    break;

                case ConferenceTreeOperationType.FocusType1:
                    //剔除标题焦点
                    RemoveTittleFocus(result);
                    break;

                case ConferenceTreeOperationType.FocusType2:
                    //剔除评论焦点
                    RemoveCommentFocus(result);
                    break;

                case ConferenceTreeOperationType.LinkAdd:
                    UpdateItemLink(result);
                    ShowSummerUpdateView();
                    break;

                case ConferenceTreeOperationType.UpdateComment:
                    UpdateItemComment(result);
                    ShowSummerUpdateView();
                    break;

                case ConferenceTreeOperationType.UpdateTittle:
                    UpdateItemTittle(result);
                    ShowSummerUpdateView();
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(typeof(ConferenceTreeItem), ex);
            }
        }