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()); }
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)); }
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()); }
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)); }
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)); }
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()); }