public EntitiesProfile() { this.CreateMap <Entity, EntityResponse>(); this.CreateMap <CreateEntityCommand, Entity>() .ForMember(dest => dest.Id, opt => opt.MapFrom(command => ObjectIdentifier.GenerateNewId())); this.CreateMap <UpdateEntityCommand, Entity>() .ForMember(dest => dest.Id, opt => opt.MapFrom(command => ObjectIdentifierParser.ValidateAndParse(command.Id))); }
public async Task <EntityResponse> GetByIdAsync(string id) { var entityId = ObjectIdentifierParser.ValidateAndParse(id); var entity = await _entitiesRepository.GetAsync(entityId); if (entity == null) { return(null); } return(_mapper.Map <Entity, EntityResponse>(entity)); }
public async Task <EntityResponse> UpdateAsync(UpdateEntityCommand updateCommand) { var entityId = ObjectIdentifierParser.ValidateAndParse(updateCommand.Id); var existingEntity = await _entitiesRepository.GetAsync(entityId); if (existingEntity == null) { return(null); } _updateCommandValidator.ValidateAndThrowIfFailed(updateCommand); var entity = _mapper.Map <UpdateEntityCommand, Entity>(updateCommand); var updatedEntity = await _entitiesRepository.SaveAsync(entity); return(_mapper.Map <Entity, EntityResponse>(updatedEntity)); }
public async Task DeleteAsync(string id) { var entityId = ObjectIdentifierParser.ValidateAndParse(id); await _entitiesRepository.DeleteAsync(entityId); }