public async Task <Guid> CreateAsync(ClaimTypeParam model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var items = await _repository.ListAsync(new ClaimTypeByName(model.Name)); var entity = items.Count > 0 ? items[0] : null; if (entity == null) { // create new entity var newEntity = ClaimType.Create( model.Name, model.ClaimValueType, model.Description ); await _repository.AddAsync(newEntity); return(newEntity.Id); } // update existing entity model.Id = entity.Id; SimpleMapper.Map(model, entity); await _repository.UpdateAsync(entity); return(entity.Id); }
public async Task UpdateAsync(ClaimTypeParam model) { if (!model.Id.HasValue) { throw new InvalidOperationException(nameof(model.Id)); } var entity = await _repository.GetByIdAsync(model.Id.Value); SimpleMapper.Map(model, entity); await _repository.UpdateAsync(entity); }