public async Task AlteraLoja(int idUsuario, Guid lojaId, AlteraLojaDto alteracao) { var usuarioAlteracao = (await _repoUsuario.GetAsync(c => c.Id == idUsuario && c.Ativo)).FirstOrDefault(); if (usuarioAlteracao == null) { throw new UsuarioInvalidoException("Usuário inválido!"); } if (usuarioAlteracao.LojaId != lojaId) { throw new SemPermissaoAlteracaoException("Usuário sem permissão para alterar dados de outra loja!"); } var loja = (await _repoLoja.GetAsync(c => c.LojaId == lojaId && c.Ativo)).FirstOrDefault(); if (loja == null) { throw new LojaNaoEncontradaException("Loja inválida!"); } loja.Codigo = alteracao.Codigo; loja.ChaveIntegracao = alteracao.ChaveIntegracao; _repoLoja.Update(loja); _repoLoja.SaveChangesAsync(); }
public async Task <IActionResult> PutAtualizaLoja([FromRoute] Guid id, AlteraLojaDto alteraLojaDto) { ClaimsPrincipal currentUser = this.User; var currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value; await _lojaService.AlteraLoja(int.Parse(currentUserID), id, alteraLojaDto); return(Ok()); }