//public TR Execute<T, TR>(IDomainMessage<T> message) //{ public TR Call <T, TR>(IDomainMessage message) { var messageBody = JsonConvert.SerializeObject(message); var answer = Call(messageBody, typeof(T).Name.ToLower()); return(JsonConvert.DeserializeObject <TR>(answer)); }
public void AddMessage(IDomainMessage message) { new DomainLogger().LogMessage(message.Message); if (_messages.Where(item => item.Id == message.Id).Count() == 0) { _messages.Add(message); } }
private void AddValidator(IDomainMessage message) { if (Validator.IsValid()) { Validator = new Message("Contato inválido"); } Validator.AddSubMessage(message); }
public DomainResult(IDomainMessage trackedMessage, ResultCode resultCode, string resultMessage = "") { Id = trackedMessage.Id.ToString(); TrackingId = trackedMessage.TrackingId; ResultCode = resultCode; ResultMessage = resultMessage; IsCommand = trackedMessage is IDomainCommand; CreationTs = DateTime.Now; }
public async Task Dispatch(IDomainMessage <TAggregate> message) { var handlers = _diScope.ResolveAll <IDomainMessageHandler <TAggregate> >(); foreach (var handler in handlers) { await handler.Handle(message.Data); } }
public void SetUp() { _mockResultStore = new Mock <IDomainResultStore>(); _id = Guid.NewGuid(); _trackingId = Guid.NewGuid(); _domainCommand = new TestDomainCommand() { Id = _id, TrackingId = _trackingId.ToString() }; _domainEvent = new DomainEvent(Guid.NewGuid()) { TrackingId = _trackingId.ToString() }; }
public static DomainMessageContract ConvertToContract(IDomainMessage domainMessage) { if (domainMessage == null) { return new DomainMessageContract(); } return new DomainMessageContract { Type = domainMessage.Type, Id = domainMessage.Id, Message = domainMessage.Message }; }
private void HandleMessage(HandlerStore handlerStore, IDomainMessage domainMessage, int maxHandlers = int.MaxValue) { DomainResult domainResult; try { var targetHandlers = maxHandlers == int.MaxValue ? handlerStore.Handlers : handlerStore.Handlers.Take(maxHandlers); _logger.InfoFormat("Got {0} handlers to invoke", targetHandlers.Count()); Parallel.ForEach(targetHandlers, handler => { handler.AsDynamic().Handle(domainMessage); }); domainResult = new DomainResult(domainMessage, ResultCode.OK, string.Empty); } catch (Exception e) { _logger.Error("Error processing " + domainMessage.GetType(), e); var errorMessage = e.InnerException != null ? e.InnerException.Message : e.Message; _logger.Error("Error message " + errorMessage); domainResult = new DomainResult(domainMessage, ResultCode.Failed, errorMessage); } _resultPublisher.Publish(domainResult); }
public IDomainMessage Log(IDomainMessage message) { var nhibMessage = new NHibMessage { DateSent = message.DateSent, DateRecieved = message.DateRecieved, Message = string.Empty }; ISession session = _config.GetSession(); ITransaction transaction = session.BeginTransaction(); session.Save(nhibMessage); message.Id = nhibMessage.Id; nhibMessage.Message = XmlSerializationHelper.Serialize(message); session.Save(nhibMessage); transaction.Commit(); return message; }
public void AddSubMessage(IDomainMessage subMessage) { SubMessages.Add(subMessage); }
public IDomainMessage Log(IDomainMessage message) { MessageLog.Add(message); return message; }
private void AddValidator(IDomainMessage message) { SetValidator(); Validator.AddSubMessage(message); }
public void Log(IDomainMessage message) { MessageLog.Add(message); }
public string Call(IDomainMessage message) { var messageBody = JsonConvert.SerializeObject(message); return(Call(messageBody, message.GetType().Name)); }
public TR Send <T, TR>(IDomainMessage <T> domainMessage) { var messageResponse = _rpcClient.Call <T, TR>(domainMessage); return(messageResponse); }