コード例 #1
0
        //public MassMsgViewModel(MassMsgModel massMsgModel)
        //{
        //    MessageId = massMsgModel.MessageId;
        //    this.SendTime = DataConverter.FormatTimeByTimeStamp(massMsgModel.SendTime);//从消息来的为时间戳
        //    //this.SendStateImage= massMsgModel.SendStateImage;
        //    this.MsgContent = massMsgModel.MsgContent;
        //    this.TargetUsers = massMsgModel.TargetUsers;
        //    this.OperateMode = massMsgModel.OperateMode;
        //    this.names = this.TargetUsers;
        //    if (massMsgModel.SendMsgState == GlobalVariable.SendMsgState.Sending)
        //    {
        //        this.SendFailureImageVisibility = Visibility.Collapsed;
        //        this.SendingAnimationVisible = Visibility.Visible;
        //        StartWaitingTimer();
        //    }
        //    else if (massMsgModel.SendMsgState == GlobalVariable.SendMsgState.Failure)
        //    {
        //        this.SendFailureImageVisibility = Visibility.Visible;
        //        this.SendingAnimationVisible = Visibility.Collapsed;
        //    }
        //    else
        //    {
        //        this.SendFailureImageVisibility = Visibility.Collapsed;
        //        this.SendingAnimationVisible = Visibility.Collapsed;
        //    }
        //}

        public MassMsgViewModel(AntSdkMassMsgCtt msg, GlobalVariable.SendMsgState sendMsgState)
        {
            this.MassMsgCtt = msg;
            MessageId       = msg.messageId;
            if (string.IsNullOrEmpty(msg.sendTime))
            {
                this.SendTime = DataConverter.FormatTimeByTimeStamp(DataConverter.ConvertDateTimeInt(DateTime.Now).ToString() + "000");
            }
            else
            {
                this.SendTime = DataConverter.FormatTimeByTimeStamp(msg.sendTime);//从消息来的为时间戳
            }
            string[] userIds   = msg.targetId.Split(',');
            string[] userNames = AntSdkService.AntSdkListContactsEntity.users.Where((c => userIds.Contains(c.userId))).Select(c => c.userName).ToArray();
            this.TargetUsers = string.Join(",", userNames);
            this.MsgContent  = msg.content;
            this.OperateMode = userIds.Length + "人";
            this.names       = this.TargetUsers;
            if (sendMsgState == GlobalVariable.SendMsgState.Sending)
            {
                this.SendFailureImageVisibility = Visibility.Collapsed;
                this.SendingAnimationVisible    = Visibility.Visible;
                StartWaitingTimer();
            }
            else if (sendMsgState == GlobalVariable.SendMsgState.Failure)
            {
                this.SendFailureImageVisibility = Visibility.Visible;
                this.SendingAnimationVisible    = Visibility.Collapsed;
            }
            else
            {
                this.SendFailureImageVisibility = Visibility.Collapsed;
                this.SendingAnimationVisible    = Visibility.Collapsed;
            }
        }
コード例 #2
0
        /// <summary>
        /// 发送新的群发消息
        /// </summary>
        public void AddNewMassMsg(AntSdkMassMsgCtt msg)
        {
            MassMsgViewModel controlVm = new MassMsgViewModel(msg, GlobalVariable.SendMsgState.Sending);

            MassMsgControlList.Add(controlVm);
            controlVm.IsSelected = true;
        }
コード例 #3
0
 /// <summary>
 /// 群发助手
 /// </summary>
 public SessionInfoViewModel(AntSdkMassMsgCtt massMsg)
 {
     this.LastChatIndex = massMsg.chatIndex;
     this.SessionId     = DataConverter.GetSessionID(AntSdkService.AntSdkCurrentUserInfo.userId,
                                                     GlobalVariable.MassAssistantId);
     _SessionType          = SessionType.MassAssistant;
     this.LastMessage      = massMsg.content;
     this.LastMsgTimeStamp = DataConverter.ConvertDateTimeInt(DateTime.Now).ToString() + "000";
     this.LastTime         = DataConverter.FormatTimeByTimeStamp(LastMsgTimeStamp);//从消息来的为时间戳
     this.Photo            = DefaultImage.MassAssistantDefaultImage;
     //var tempHeadPicBitmapImage = new BitmapImage();
     //tempHeadPicBitmapImage.BeginInit();
     //tempHeadPicBitmapImage.CacheOption = BitmapCacheOption.OnLoad;
     //tempHeadPicBitmapImage.UriSource = new Uri(this.Photo);
     //tempHeadPicBitmapImage.EndInit();
     //ContactPhoto = tempHeadPicBitmapImage;
     this.Name = "群发助手";
     this.ImageSendingVisibility = string.IsNullOrEmpty(massMsg.chatIndex) ? Visibility.Visible : Visibility.Collapsed;
     SetUnreadCount(0);
 }
コード例 #4
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="o"></param>
        private void SendMassMsg(object o)
        {
            if (ContactUsers == null || ContactUsers.Count == 0)
            {
                MessageBoxWindow.Show("请先选择消息接收人!", GlobalVariable.WarnOrSuccess.Warn);
                return;
            }
            else if (string.IsNullOrWhiteSpace(MsgContent))
            {
                MessageBoxWindow.Show("消息内容不能为空!", GlobalVariable.WarnOrSuccess.Warn);
                return;
            }
            else if (MsgContent.Length > 500)
            {
                MessageBoxWindow.Show("消息内容不能超过500个字符!", GlobalVariable.WarnOrSuccess.Warn);
                return;
            }
            MassMsg msg = new MassMsg();

            msg.mtp = (int)GlobalVariable.MsgType.MassMsg;
            //TODO:AntSdk_Modify
            AntSdkMassMsgCtt ctt = new AntSdkMassMsgCtt();

            //ctt.messageId = PublicTalkMothed.timeStampAndRandom();
            ctt.sendUserId = AntSdkService.AntSdkCurrentUserInfo.userId;
            if (ContactUsers != null && ContactUsers.Count > 0)
            {
                ctt.targetId = string.Join(",", ContactUsers.Where(m => m.userId != AntSdkService.AntSdkCurrentUserInfo.userId).Select(c => c.userId).ToArray());
            }
            ctt.companyCode = GlobalVariable.CompanyCode;
            ctt.content     = MsgContent;
            ctt.os          = (int)GlobalVariable.OSType.PC;
            ctt.sessionId   = DataConverter.GetSessionID(AntSdkService.AntSdkCurrentUserInfo.userId, GlobalVariable.MassAssistantId);
            ctt.chatIndex   = null;
            ctt.sendTime    = null;
            string errMsg = "";

            //DONE:AntSdk_Modify
            AntSdkChatMsg.MultiSend massMsg = new AntSdkChatMsg.MultiSend();
            massMsg.sendUserId = AntSdkService.AntSdkCurrentUserInfo.userId;
            if (ContactUsers != null && ContactUsers.Count > 0)
            {
                massMsg.targetId = string.Join(",", ContactUsers.Where(m => m.userId != AntSdkService.AntSdkCurrentUserInfo.userId).Select(c => c.userId).ToArray());
            }
            massMsg.content   = MsgContent;
            massMsg.chatType  = (int)AntSdkchatType.Point;
            massMsg.messageId = PublicTalkMothed.timeStampAndRandom();
            massMsg.sessionId = DataConverter.GetSessionID(AntSdkService.AntSdkCurrentUserInfo.userId, GlobalVariable.MassAssistantId);
            var isResult = AntSdkService.SdkPublishChatMsg(massMsg, ref errMsg);

            // AntSdkMassMsgCtt
            if (isResult)
            {
                ctt.messageId = massMsg.messageId;
                LogHelper.WriteWarn("---------------------------消息助手群发消息已发送---------------------");
                SendMassMsgEvent?.Invoke(ctt);
                (o as System.Windows.Window)?.Close();
            }
            else
            {
                MessageBoxWindow.Show("消息发送失败!" + errMsg, GlobalVariable.WarnOrSuccess.Warn);
            }
        }