/// <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 { } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } } }
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); } }
/// <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); } }