Exemple #1
0
        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}"));
            }
        }
Exemple #2
0
        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}"));
            }
        }