public async Task Store(int requestId, IEnumerable <EpcisMasterData> masterDataList, CancellationToken cancellationToken) { foreach (var masterData in masterDataList) { await _unitOfWork.Execute(PgSqlMasterdataRequests.Delete, masterData, cancellationToken); await _unitOfWork.Execute(PgSqlMasterdataRequests.Insert, masterData, cancellationToken); foreach (var attribute in masterData.Attributes) { var output = new List <MasterDataFieldEntity>(); ParseFields(attribute.Fields, output); await _unitOfWork.Execute(PgSqlMasterdataRequests.AttributeInsert, attribute, cancellationToken); await _unitOfWork.Execute(PgSqlMasterdataRequests.AttributeFieldInsert, output, cancellationToken); } } var hierarchies = masterDataList.SelectMany(x => x.Children.Select(c => new EpcisMasterDataHierarchy { Type = x.Type, ChildrenId = c.ChildrenId, ParentId = x.Id })); await _unitOfWork.BulkExecute(PgSqlMasterdataRequests.HierarchyInsert, hierarchies, cancellationToken); }
public async Task Delete(string subscriptionId, CancellationToken cancellationToken) => await _unitOfWork.Execute(PgSqlSubscriptionRequests.Delete, new { Id = subscriptionId }, cancellationToken);