public async Task <T> Handle(CreateEntityCommand <T> request, CancellationToken cancellationToken)
            {
                _context.Add(request.Entity);

                await _context.SaveChangesAsync(cancellationToken);

                return(request.Entity);
            }
        private async Task SaveSnapshotAsync(Person person)
        {
            _samplesContext.Persons.Add(new PersonSnapshot
            {
                Id        = person.Id.Value,
                FirstName = person.Name.FirstName,
                LastName  = person.Name.LastName
            });

            await _samplesContext.SaveChangesAsync();
        }
            public async Task <T> Handle(DeleteEntityCommand <T> request, CancellationToken cancellationToken)
            {
                var entity = await _context.Set <T>().SingleOrDefaultAsync(x => x.Id == request.EntityId, cancellationToken);

                if (entity is null)
                {
                    return(null);
                }

                _context.Attach(entity);
                _context.Entry(entity).State = EntityState.Deleted;

                await _context.SaveChangesAsync(cancellationToken);

                return(entity);
            }
Ejemplo n.º 4
0
            public async Task <T> Handle(UpdateEntityCommand <T> request, CancellationToken cancellationToken)
            {
                var exists = await _context.Set <T>().AnyAsync(x => x.Id == request.EntityId, cancellationToken);

                if (!exists)
                {
                    return(null);
                }

                var entity = request.Entity;

                entity.Id = request.EntityId;

                _context.Attach(entity);
                _context.Entry(entity).State = EntityState.Modified;

                await _context.SaveChangesAsync(cancellationToken);

                return(entity);
            }