public async Task <IActionResult> RegisterAdm(AdmDto admDto) { try { var verificadorRole = _repo.VerificarExistenciaRoles(); var admUser = _mapper.Map <User>(admDto); var empresaCadastrada = await _repo.EmpresaCadastradaAsync(admUser); if (empresaCadastrada.Length > 0) { return(Ok("Empresa já cadastrada")); } else { admUser.Role = "Adm"; var result = await _userManager.CreateAsync(admUser, admDto.Password); await _userManager.AddToRoleAsync(admUser, admUser.Role); var userToReturn = _mapper.Map <AdmDto>(admUser); if (result.Succeeded) { return(Created("GetUser", userToReturn)); } return(BadRequest(result.Errors)); } } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Banco de Dados Falhou {ex.Message}")); } }
public async Task <IActionResult> UpdateAdm(AdmDto admDto) { try { var senhaAtual = ""; var senhaAntiga = ""; var admPorId = await _repo.ObterUsuarioPorIdAsync(admDto.Id); if (admPorId == null) { return(Ok("User not found")); } senhaAntiga = admPorId.Password; senhaAtual = admDto.Password; var admModel = _mapper.Map(admDto, admPorId); var atualizaDados = await _userManager.UpdateAsync(admModel); var user = await _userManager.GetUserAsync(User); var admToReturn = _mapper.Map <UserDto>(admModel); if (senhaAntiga.Equals(senhaAtual)) { if (!atualizaDados.Succeeded) { return(BadRequest("dados")); } return(Created("GetUser", admToReturn)); } else { var atualizaSenha = await _userManager.ChangePasswordAsync(admModel, senhaAntiga, senhaAtual); await _signInManager.RefreshSignInAsync(admModel); if (!atualizaSenha.Succeeded) { return(BadRequest("senha")); } return(Created("GetUser", admToReturn)); } } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Banco de Dados Falhou {ex.Message}")); } }