Пример #1
0
        public async Task <IActionResult> SendMessage([FromBody] MessageAddCommand messageAddCommand)
        {
            var bot = new BotCall();

            if (bot.IsStockCall(messageAddCommand.Message))
            {
                var msg = bot.CallServiceStock(messageAddCommand.Message.Substring(7, messageAddCommand.Message.Length - 7));
                await _chatHub.Clients.Groups(messageAddCommand.Sender).SendAsync("ReceiveMessage", "Bot", msg);

                if (!string.IsNullOrEmpty(messageAddCommand.Consumer) && bot.VerifyResponse())
                {
                    await _chatHub.Clients.Groups(messageAddCommand.Consumer).SendAsync("ReceiveMessage", "Bot", msg);
                }
            }
            else
            {
                await _mediator.SendCommandResult(messageAddCommand);

                if (!string.IsNullOrEmpty(messageAddCommand.Consumer))
                {
                    await _chatHub.Clients.Groups(messageAddCommand.Consumer).SendAsync("ReceiveMessage", messageAddCommand.Sender, messageAddCommand.Message);
                }
                else
                {
                    await _chatHub.Clients.Groups(messageAddCommand.Sender).SendAsync("ReceiveMessage", messageAddCommand.Sender, "Was not delivered. please, select an user");
                }
            }

            return(Response());
        }
Пример #2
0
        public Task <bool> Handle(MessageAddCommand request, CancellationToken cancellationToken)
        {
            if (request.IsValid())
            {
                try
                {
                    var message = _mapper.Map <Messages>(request);
                    _userRepository.Add(message);
                    var success = _unitOfWork.Commit();

                    return(Task.FromResult(success));
                }
                catch (Exception e)
                {
                    _mediatorHandler.RaiseEvent(new DomainNotification("exception", e.Message));
                }
            }
            else
            {
                foreach (var error in request.GetErrors())
                {
                    _mediatorHandler.RaiseEvent(new DomainNotification(error.ErrorCode, error.ErrorMessage));
                }
            }

            return(Task.FromResult(false));
        }
Пример #3
0
        public async Task Should_register_messsage()
        {
            var message = new MessageAddCommand()
            {
                Message = "Hello world",
                Sender  = "*****@*****.**"
            };

            var result = await handler.Handle(message, CancellationToken.None);

            Assert.IsTrue(result);
            Assert.IsFalse(_domainNotificationHandler.HasNotifications());
        }
Пример #4
0
        public async Task Should_not_register_message_field_sender_is_required()
        {
            string expectedMessageError = "The sender is required.";
            var    message = new MessageAddCommand()
            {
                Message = "Hello world"
            };

            var result = await handler.Handle(message, CancellationToken.None);

            Assert.IsFalse(result);
            Assert.IsTrue(_domainNotificationHandler.GetNotifications().Any(x => x.Value == expectedMessageError));
        }
Пример #5
0
        public ObjectResult SendCodeAsync([FromBody] MessageCodeInputDto input)
        {
            _logger.LogInformation($"client[post]:发送短信验证码{input.code}给{input.molile}");
            IAppConfig  appConfig   = new MMSConfig("41014", "1c5485f03799ecb37c5d1d00b66523f6", SignType.normal);
            MessageSend messageSend = new MessageSend(appConfig);

            messageSend.AddTo(input.molile);
            messageSend.AddContent($"【每日币推】您的验证码是:{input.code},请在10分钟内输入");
            messageSend.AddTag("123");
            string returnMessage = string.Empty;

            messageSend.Send(out returnMessage);

            var command = new MessageAddCommand(input.code, input.code, BlockSms.Core.Domain.EMsgType.验证码);
            var result  = _mediator.Send(command);

            return(Ok(result));
        }
Пример #6
0
        public async Task <IActionResult> SendMessage([FromBody] MessageAddCommand messageAddCommand)
        {
            if (!string.IsNullOrEmpty(messageAddCommand.Consumer))
            {
                await _queueMessageService.SendMessageAsync(new MessageDto
                {
                    Consumer = messageAddCommand.Consumer,
                    Date     = DateTime.Now,
                    Message  = messageAddCommand.Message,
                    Sender   = messageAddCommand.Sender
                });
            }
            else
            {
                await _chatHub.Clients.Groups(messageAddCommand.Sender).SendAsync("ReceiveMessage", messageAddCommand.Sender, "Was not delivered. please, select an user");
            }

            return(Response());
        }