Esempio n. 1
0
        public async Task Handle(SkillsChanged @event)
        {
            var deleted = @event.Deleted;

            await _context.Skills
            .Where(x => deleted.Contains(x.Id))
            .DeleteFromQueryAsync();

            var toMergeDto = @event.Created.Concat(@event.Updated);
            var toMerge    = toMergeDto
                             .Select(Mapper.Map <Skill>)
                             .ToList();

            await _context.BulkMergeAsync(
                toMerge,
                opt => opt.MergeKeepIdentity = true);
        }
Esempio n. 2
0
        public async Task Handle(AreasChanged @event)
        {
            var deleted = @event.Deleted;

            await _context.Areas
            .Where(x => deleted.Contains(x.Id))
            .DeleteFromQueryAsync();

            var toMergeDto = @event.Created.Concat(@event.Updated);
            var toMerge    = toMergeDto
                             .Select(Mapper.Map <Area>)
                             .ToList();

            await _context.BulkMergeAsync(
                toMerge,
                opt =>
            {
                opt.MergeKeepIdentity = true;
                opt.IncludeGraph      = false;
            });
        }