// ----- Internal logics private static void SaveUncommitedEvents(Order order) { var domainEvents = order.GetUncommittedEvents(); var persistedEvents = domainEvents.Select(ConvertToPersistentEvent); using (var connection = new SqlConnection(SqlConnectionLocator.LocalhostSqlExpress())) { connection.Execute(SqlQueries.InsertOrderEventQuery, persistedEvents); } }
// ----- Internal logics private static void SaveUncommitedEvents(Order order) { var domainEvents = order.GetUncommittedEvents(); var persistedEvents = domainEvents.Select(ConvertToPersistentEvent); using (var dataContext = new DataContext()) { dataContext.Set<OrderEvent>().AddRange(persistedEvents); dataContext.SaveChanges(); } }
public Order Get(Guid id) { using (var connection = new SqlConnection(SqlConnectionLocator.LocalhostSqlExpress())) { var domainEvents = connection .Query<OrderEvent>(SqlQueries.SelectOrderEventQuery, new {id}) .OrderBy(x => x.CreationDate) .ToArray() .Select(ConvertToDomainEvent) .ToArray(); var order = new Order(); order.Replay(domainEvents); if (order.IsDeleted) { return null; } return order; } }
public Order Get(Guid id) { using (var dataContext = new DataContext()) { var domainEvents = dataContext .Set<OrderEvent>() .Where(x => x.AggregateId == id) .OrderBy(x => x.CreationDate) .ToArray() .Select(ConvertToDomainEvent) .ToArray(); var order = new Order(); order.Replay(domainEvents); if (order.IsDeleted) { return null; } return order; } }
public void Update(Order order) { SaveUncommitedEvents(order); }
public void Add(Order order) { SaveUncommitedEvents(order); }