public async Task <int> CreateAsync(EstabelecimentoRequestModel estabelecimentoRequestModel) { var configuration = new MapperConfiguration(x => { x.CreateMap <EstabelecimentoRequestModel, Estabelecimento>(); }); var mapper = configuration.CreateMapper(); var estabelecimento = mapper.Map <Estabelecimento>(estabelecimentoRequestModel); var validator = new EstabelecimentoValidator(); validator.ValidateAndThrow(estabelecimento); foreach (var restrictObject in estabelecimentoRequestModel.RestrictedObjects) { estabelecimento.AddRestrictedObjects(restrictObject); } await _estabelecimentoRepository.CreateAsync(estabelecimento); return(estabelecimento.Id); }