internal void AddEvent(int requestId, short eventId, EpcisEvent currentEvent) { Events.Add(EventDto.Create(currentEvent, eventId, requestId)); Epcs.AddRange(currentEvent.Epcs.Select(x => EpcDto.Create(x, eventId, requestId))); SourceDests.AddRange(currentEvent.SourceDestinationList.Select(x => SourceDestDto.Create(x, eventId, requestId))); Transactions.AddRange(currentEvent.BusinessTransactions.Select(x => TransactionDto.Create(x, eventId, requestId))); CorrectiveIds.AddRange(currentEvent.CorrectiveEventIds?.Select(x => CorrectiveIdDto.Create(x, eventId, requestId))); CustomFields.AddRange(currentEvent.CustomFields.ToFlattenedDtos(eventId, requestId)); }
internal IEnumerable <EpcisEvent> FormatEvents() { return(Events.Select(evt => { var epcisEvent = evt.ToEpcisEvent(); epcisEvent.Epcs.AddRange(Epcs.Where(x => x.Matches(evt)).Select(x => x.ToEpc())); epcisEvent.CustomFields.AddRange(CreateHierarchy(CustomFields.Where(x => x.Matches(evt)))); epcisEvent.BusinessTransactions.AddRange(Transactions.Where(x => x.Matches(evt)).Select(x => x.ToBusinessTransaction())); epcisEvent.SourceDestinationList.AddRange(SourceDests.Where(x => x.Matches(evt)).Select(x => x.ToSourceDestination())); epcisEvent.CorrectiveEventIds.AddRange(CorrectiveIds.Where(x => x.Matches(evt)).Select(x => x.ToCorrectiveId())); return epcisEvent; })); }