public Shell(IEventAggregator eventAggregator, IModuleManager moduleManager) { InitializeComponent(); this.receive_Aggregator = eventAggregator; this.send_Aggregator = eventAggregator; this.moduleManager = moduleManager; //定义消息结构 receiveMsgOrder = new ReceiveMsgOrder(); //获取服务器端参数 configModel = ConfigAccess.GetConfig(); //获取客户端版本信息 versionModel = VersionAccess.GetConfig(); //获取连接信息类的单例 connectParam = ConnectParam.GetInstance(); //获取日志记录实例 this.ilogger = ILogger.GetInstance(); //订阅接收信息事件 RequestEvent(); //定义接收消息线程 connectParam.ListenerMsgThread = new Thread(ListenerMsgThreadMethod); connectParam.ListenerMsgThread.IsBackground = true; //先建立连接及SSL通道,再发送 ConnectToServer(MessageTypes.UPD + versionModel.AppVs + MessageTypes.NSP + versionModel.UpdateTime, //确认更新 configModel.LoginIP, int.Parse(configModel.LoginPort)); }
public void OnReceiveMsg(ReceiveMsgOrder receiveMsgOrder) { if (receiveMsgOrder.Sign == 1) //登陆成功 { //ID+账号+昵称+头像 string[] UserMsg = receiveMsgOrder.MsgContent.Split(MessageTypes.NSP.ToCharArray()); //此处不做窗口跳转处理,由PreViewModel.cs处理 //存储用户 _userModel = UserModel.CreateModel(UserMsg[1], UserMsg[2], UserMsg[3], this.PassWord, Check, DateTime.Now); if (_userAccess.IsAlreadyExists(_userModel)) { _userAccess.UpdateUser(_userModel); } else { _userAccess.AddUser(_userModel); } _userAccess.SortUser(); return; } StoryboardManager.StopStoryboard("Story_Login"); XWT.MessageBox.Show(receiveMsgOrder.MsgContent, "提示", MessageBoxButton.OK, MessageBoxImage.Information); //MsgEvent msgEvent = eventAggregator.GetEvent<MsgEvent>(); //if (subscriptionToken != null) // msgEvent.Unsubscribe(subscriptionToken); }
public bool Filter(ReceiveMsgOrder receiveMsgOrder) { return(receiveMsgOrder.ModuleType == MessageTypes.ACH || receiveMsgOrder.ModuleType == MessageTypes.MSG || receiveMsgOrder.ModuleType == MessageTypes.PER || receiveMsgOrder.ModuleType == MessageTypes.FRI || receiveMsgOrder.ModuleType == MessageTypes.SET || receiveMsgOrder.ModuleType == MessageTypes.SFR || receiveMsgOrder.ModuleType == MessageTypes.AFR || receiveMsgOrder.ModuleType == MessageTypes.DFR || receiveMsgOrder.ModuleType == MessageTypes.MFR || receiveMsgOrder.ModuleType == MessageTypes.UPL || receiveMsgOrder.ModuleType == MessageTypes.OFF || receiveMsgOrder.ModuleType == MessageTypes.AGR || receiveMsgOrder.ModuleType == MessageTypes.ASK); }
public void OnReceiveMsg(ReceiveMsgOrder receiveMsgOrder) { XWT.MessageBox.Show(receiveMsgOrder.MsgContent, "提示", MessageBoxButton.OK, MessageBoxImage.Information); //MsgEvent msgEvent = eventAggregator.GetEvent<MsgEvent>(); //if (subscriptionToken != null) // msgEvent.Unsubscribe(subscriptionToken); }
public void OnReceiveMsg(ReceiveMsgOrder receiveMsgOrder) { if (receiveMsgOrder.Sign == 1) { this.OnRequestClose(); StoryboardManager.StopStoryboard("Story_Login"); App.Current.MainWindow.Show(); return; } StoryboardManager.StopStoryboard("Story_Login"); XWT.MessageBox.Show(receiveMsgOrder.MsgContent, "提示", MessageBoxButton.OK, MessageBoxImage.Information); //MessageBox.Show(receiveMsgOrder.MsgContent); //ReceiveMsgEvent msgEvent = receive_Aggregator.GetEvent<ReceiveMsgEvent>(); //if (subscriptionToken != null) // msgEvent.Unsubscribe(subscriptionToken); }
public bool Filter(ReceiveMsgOrder receiveMsgOrder) { return(receiveMsgOrder.ModuleType == MessageTypes.RES); }
public void OnReceiveMsg(ReceiveMsgOrder receiveMsgOrder) { string[] msg = null; if (receiveMsgOrder.MsgContent.IndexOf(MessageTypes.NSP) > -1) { msg = receiveMsgOrder.MsgContent.Split(MessageTypes.NSP.ToCharArray()); } // ilogger.Logger(string.Format("接收到的数据:{0}-{1}", receiveMsgOrder.ModuleType, receiveMsgOrder.MsgContent)); if (receiveMsgOrder.Sign == 0) { XWT.MessageBox.Show(receiveMsgOrder.MsgContent, "提示", MessageBoxButton.OK, MessageBoxImage.Information); return; } switch (receiveMsgOrder.ModuleType) { #region 返回个人信息_PER case MessageTypes.PER: this.UserID = msg[0]; this.CardWord = msg[1]; this.UserName = msg[2]; this.ImgSrc = msg[3]; //存储用户信息 this.regionManager.Regions[RegionTypes.CardRegion].Context = msg; break; #endregion #region 返回游戏成就_ACH case MessageTypes.ACH: //更新 foreach (AchieveViewModel viewmodel in achieveList) { if (viewmodel.GameName == msg[0]) { viewmodel.Level = msg[1]; viewmodel.Rank = msg[2]; viewmodel.Total = msg[3]; viewmodel.Single = msg[4]; return; } } //添加 _achieveModel = AchieveModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[4]); achieveList.Add(new AchieveViewModel(_achieveModel)); //this.AllAchieves.Add(new AchieveViewModel(_achieveModel)); this.Achieve++; ChangePage(this._pagingAchieve.CurrentPage == 0 ? 1 : this._pagingAchieve.CurrentPage, Paging.ACH, this._pagingAchieve); break; #endregion #region 返回消息_MSG case MessageTypes.MSG: string msginfo = msg[0] + "," + GetString.GetRandomCode(GetString.Code.StrAndNum, 4); _msgModel = MsgModel.CreateModel(msginfo, msg[0], msg[1], msg[2], msg[3]); msgList.Add(new MsgViewModel(_msgModel)); this.Message++; ChangePage(this._pagingMsg.CurrentPage == 0 ? 1 : this._pagingMsg.CurrentPage, Paging.MSG, this._pagingMsg); break; #endregion #region 修改密码返回的信息_SET case MessageTypes.SET: this.PassWord = ""; this.NewPassWord = ""; this.ConPassWord = ""; XWT.MessageBox.Show(receiveMsgOrder.MsgContent, "提示", MessageBoxButton.OK, MessageBoxImage.Information); break; #endregion #region 返回好友信息_FRI case MessageTypes.FRI: switch (msg[5]) { case MessageTypes.Friend: _friendModel = FriendModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[5], msg[4] == MessageTypes.N ? true : false, msg[4] == MessageTypes.N ? false : true); this.AllFriends.Add(new FriendViewModel(_friendModel)); this.Friend++; break; case MessageTypes.Family: _familyModel = FamilyModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[5], msg[4] == MessageTypes.N ? true : false, msg[4] == MessageTypes.N ? false : true); this.AllFamilys.Add(new FamilyViewModel(_familyModel)); this.Friend++; break; case MessageTypes.Black: _blackModel = BlackModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[5], msg[4] == MessageTypes.N ? true : false, false); this.AllBlacks.Add(new BlackViewModel(_blackModel)); this.Friend++; break; } break; #endregion #region 返回查找好友结果_SFR case MessageTypes.SFR: _resultModel = ResultModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[1] == this.CardWord ? false : true, msg[4] == MessageTypes.N ? true : false); this.AllResults.Add(new ResultViewModel(_resultModel)); break; #endregion #region 好友上线通知_UPL case MessageTypes.UPL: foreach (FriendViewModel friend in this.AllFriends.Where(f => f.FriendID == receiveMsgOrder.MsgContent)) { friend.FriendStatus = false; friend.MenuIsEnabled = true; } foreach (FamilyViewModel family in this.AllFamilys.Where(f => f.FriendID == receiveMsgOrder.MsgContent)) { family.FriendStatus = false; family.MenuIsEnabled = true; } break; #endregion #region 好友下线通知_OFF case MessageTypes.OFF: foreach (FriendViewModel friend in this.AllFriends.Where(f => f.FriendID == receiveMsgOrder.MsgContent)) { friend.FriendStatus = true; friend.MenuIsEnabled = false; } foreach (FamilyViewModel family in this.AllFamilys.Where(f => f.FriendID == receiveMsgOrder.MsgContent)) { family.FriendStatus = true; family.MenuIsEnabled = false; } break; #endregion #region 询问好友添加请求_ASK case MessageTypes.ASK: string msginfo1 = MessageTypes.F + "," + GetString.GetRandomCode(GetString.Code.StrAndNum, 4) + "," + msg[0]; _msgModel = MsgModel.CreateModel(msginfo1, MessageTypes.F, "请求添加您为好友.", "", msg[1]); msgList.Add(new MsgViewModel(_msgModel)); this.Message++; ChangePage(this._pagingMsg.CurrentPage == 0 ? 1 : this._pagingMsg.CurrentPage, Paging.MSG, this._pagingMsg); break; #endregion #region 返回查找好友资料进行添加_AGR case MessageTypes.AGR: //添加信息提示 string msginfo2 = MessageTypes.T + "," + GetString.GetRandomCode(GetString.Code.StrAndNum, 4); _msgModel = MsgModel.CreateModel(msginfo2, MessageTypes.T, "对方同意您的添加请求.", "", msg[1]); msgList.Add(new MsgViewModel(_msgModel)); this.Message++; ChangePage(this._pagingMsg.CurrentPage == 0 ? 1 : this._pagingMsg.CurrentPage, Paging.MSG, this._pagingMsg); //添加好友 _friendModel = FriendModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[5], msg[4] == MessageTypes.N ? true : false, msg[4] == MessageTypes.N ? false : true); this.AllFriends.Add(new FriendViewModel(_friendModel)); this.Friend++; //添加信息提示 string msginfo3 = MessageTypes.T + "," + GetString.GetRandomCode(GetString.Code.StrAndNum, 4); _msgModel = MsgModel.CreateModel(msginfo3, MessageTypes.T, "新的好友添加成功.", "", "系统"); msgList.Add(new MsgViewModel(_msgModel)); this.Message++; ChangePage(this._pagingMsg.CurrentPage == 0 ? 1 : this._pagingMsg.CurrentPage, Paging.MSG, this._pagingMsg); break; #endregion #region 返回查找好友资料进行添加_AFR case MessageTypes.AFR: //添加好友信息 _friendModel = FriendModel.CreateModel(msg[0], msg[1], msg[2], msg[3], msg[5], msg[4] == MessageTypes.N ? true : false, msg[4] == MessageTypes.N ? false : true); this.AllFriends.Add(new FriendViewModel(_friendModel)); this.Friend++; //添加信息提示 string msginfo4 = MessageTypes.T + "," + GetString.GetRandomCode(GetString.Code.StrAndNum, 4); _msgModel = MsgModel.CreateModel(msginfo4, MessageTypes.T, "新的好友添加成功.", "", "系统"); msgList.Add(new MsgViewModel(_msgModel)); this.Message++; ChangePage(this._pagingMsg.CurrentPage == 0 ? 1 : this._pagingMsg.CurrentPage, Paging.MSG, this._pagingMsg); break; #endregion #region 对方将自己删除,此处也将对方删除_DFR case MessageTypes.DFR: foreach (FriendViewModel friend in this.AllFriends) { if (friend.FriendID == receiveMsgOrder.MsgContent) { this.AllFriends.Remove(friend); break; } } if (this.Friend > 0) { this.Friend--; } break; #endregion #region 返回移动好友结果,本地进行移动_MFR case MessageTypes.MFR: switch (msg[1]) { #region 该好友原来在“我的好友”组 case MessageTypes.Friend: foreach (FriendViewModel friend in this.AllFriends) { if (friend.FriendID == msg[0]) { //从该组移除 this.AllFriends.Remove(friend); switch (msg[2]) { //现移动到“我的家族” case MessageTypes.Family: _familyModel = FamilyModel.CreateModel(friend.FriendID, friend.FriendCard, friend.FriendName, friend.FriendImg, MessageTypes.Family, friend.FriendStatus, friend.MenuIsEnabled); this.AllFamilys.Add(new FamilyViewModel(_familyModel)); break; //现移动到“黑名单” case MessageTypes.Black: _blackModel = BlackModel.CreateModel(friend.FriendID, friend.FriendCard, friend.FriendName, friend.FriendImg, MessageTypes.Black, friend.FriendStatus, false); this.AllBlacks.Add(new BlackViewModel(_blackModel)); break; } break; } } break; #endregion #region 该好友原来在“我的家族”组 case MessageTypes.Family: foreach (FamilyViewModel family in this.AllFamilys) { if (family.FriendID == msg[0]) { //从该组移除 this.AllFamilys.Remove(family); switch (msg[2]) { //现移动到“我的好友” case MessageTypes.Friend: _friendModel = FriendModel.CreateModel(family.FriendID, family.FriendCard, family.FriendName, family.FriendImg, MessageTypes.Friend, family.FriendStatus, family.MenuIsEnabled); this.AllFriends.Add(new FriendViewModel(_friendModel)); break; //现移动到“黑名单” case MessageTypes.Black: _blackModel = BlackModel.CreateModel(family.FriendID, family.FriendCard, family.FriendName, family.FriendImg, MessageTypes.Black, family.FriendStatus, false); this.AllBlacks.Add(new BlackViewModel(_blackModel)); break; } break; } } break; #endregion #region 该好友原来在“黑名单”组 case MessageTypes.Black: foreach (BlackViewModel black in this.AllBlacks) { if (black.FriendID == msg[0]) { //从该组移除 this.AllBlacks.Remove(black); switch (msg[2]) { //现移动到“我的好友” case MessageTypes.Friend: _friendModel = FriendModel.CreateModel(black.FriendID, black.FriendCard, black.FriendName, black.FriendImg, MessageTypes.Friend, black.FriendStatus, !black.FriendStatus); this.AllFriends.Add(new FriendViewModel(_friendModel)); break; //现移动到“我的家族” case MessageTypes.Family: _familyModel = FamilyModel.CreateModel(black.FriendID, black.FriendCard, black.FriendName, black.FriendImg, MessageTypes.Friend, black.FriendStatus, !black.FriendStatus); this.AllFamilys.Add(new FamilyViewModel(_familyModel)); break; } break; } } break; #endregion } break; #endregion } //MessageBox.Show(receiveMsgOrder.MsgContent); //ReceiveMsgEvent msgEvent = receive_Aggregator.GetEvent<ReceiveMsgEvent>(); //if (subscriptionToken != null) // msgEvent.Unsubscribe(subscriptionToken); }