public async Task <ActionResult <ResultType> > Add(MessageCreateCommand command) { var commandResult = new ResultType(); try { MessageCreateCommandValidator validator = new MessageCreateCommandValidator(); var result = validator.Validate(command); if (!result.IsValid) { commandResult.IsSucceeded = false; result.Errors.ToList().ForEach(x => commandResult.Message = commandResult.Message + x + ". "); return(BadRequest(result.Errors)); } commandResult.IsSucceeded = await _mediator.Send <bool>(command); await _messagingHub.Clients.All.SendAsync("ReceiveMessage", command.CreatedBy, command.MessageContent, DateTime.Now); return(Ok(commandResult)); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError, new { err = "some error occured!" })); } }
public async Task <ICommandResult> Save(IEnumerable <ICommand> filtered) { var publishIntervalInSec = 1; foreach (MessageCreateCommand command in filtered) { MessageCreateCommand converted = null; try { converted = command.BodyConvert(settings.Value.MaxBodyLength); //BackgroundJob.Schedule<ITwitterBackgroundJob<MessageCreateCommand>>( // x => x.Publish(converted), // TimeSpan.FromSeconds(publishIntervalInSec)); //publishIntervalInSec += settings.Value.TwitterMessagePublishDelay; } catch (Exception ex) { logger.LogError( LoggingEvents.EXCEPTION_SAVE_TWITTER_MESSAGE, ex, "Failed to save {@message} to twitter.", converted); } } return(new CommandResult { Success = true }); }
static void Main(string[] args) { var message = new Message(); message.From = "*****@*****.**"; message.To = "*****@*****.**"; message.Subject = "Test Message"; message.Body = "Test Body"; var command = new MessageCreateCommand { Message = message }; var commandProcessor = new CommandProcessor(new MessagingSqlSession()); message = commandProcessor.Execute(command); var deleteCommand = new MessageDeleteCommand { MessageId = message.Id }; commandProcessor.Execute(deleteCommand); }