private IdentityUser CarregarUsuarioIdentity(IdentityUser identityUser, UsuarioIdentityVM usuario) { identityUser.Email = usuario.Email; identityUser.PhoneNumber = usuario.PhoneNumber; identityUser.UserName = usuario.UserName; return(identityUser); }
public Usuario AtualizarUsuarioEntidade(Usuario userOld, UsuarioIdentityVM newUser) { userOld.Ativo = newUser.Ativo; userOld.Cpf = newUser.Cpf; userOld.IdentityUser = newUser.IdentityUser; userOld.Id_Usuario = newUser.Id_Usuario; userOld.Nome = newUser.Nome; userOld.Perfil = newUser.Perfil; userOld.Id_Endereco = newUser.Id_Endereco; return(userOld); }
public async Task <JsonResult> EditarUsuario(UsuarioIdentityVM usuario) { try { var userOld = _usuarioService.GetById(usuario.Id_Usuario); var userIdentityOld = await _userManager.FindByIdAsync(usuario.IdentityUser); IdentityUser userIdentity = CarregarUsuarioIdentity(userIdentityOld, usuario); var resultIdentity = await _userManager.UpdateAsync(userIdentity); if (resultIdentity.Succeeded) { if (userOld.Perfil != usuario.Perfil) { var resultPerfil = await _userManager.RemoveFromRoleAsync(userIdentity, userOld.Perfil.ToString()); if (resultPerfil.Succeeded) { var resultAddPerfil = await _userManager.AddToRoleAsync(userIdentity, usuario.Perfil.ToString()); if (resultAddPerfil.Succeeded) { var usuarioEntidade = AtualizarUsuarioEntidade(userOld, usuario);//_mapper.Map<Usuario>(usuario); _usuarioService.Update(usuarioEntidade); var endereco = usuario.Id_Endereco == null ? null : _enderecoService.GetById(usuario.Id_Endereco.Value); if (endereco != null) { endereco.LinkGoogleMaps = usuario.LinkGoogleMaps; endereco.Endereco_Complemento = usuario.Endereco_Complemento; } _enderecoService.Update(endereco); return(Json("OK OK OK")); } } } return(Json("")); } return(Json("")); } catch (Exception ex) { return(Json(ex)); throw; } }
public async Task <IActionResult> NovoUsuario(UsuarioIdentityVM usuario) { try { if (ModelState.IsValid) { string empresa_Global = Request.Cookies["empresa_global"]; IdentityUser userIdentity = CarregarUsuarioIdentity(new IdentityUser(), usuario); var resultIdentity = await _userManager.CreateAsync(userIdentity, usuario.Password); if (resultIdentity.Succeeded) { var usuarioEntity = _mapper.Map <Usuario>(usuario); var userGetId = await _userManager.FindByNameAsync(usuario.UserName); usuarioEntity.IdentityUser = userGetId.Id; _usuarioService.Add(usuarioEntity); var resultPerfil = await _userManager.AddToRoleAsync(userIdentity, EnumHelper.GetName(usuario.Perfil)); if (resultPerfil.Succeeded) { var empresa = _empresaService.GetById(Convert.ToInt32(empresa_Global)); EmpresaUsuario eUsuario = new EmpresaUsuario(usuarioEntity.Id_Usuario, empresa.IdEmpresa); _empresaUsuarioService.Add(eUsuario); Endereco endereco = new Endereco(usuario.Endereco_Complemento, usuario.LinkGoogleMaps); var end = _enderecoService.Add(endereco); usuarioEntity.Id_Endereco = end.Id_Endereco; _usuarioService.Update(usuarioEntity); var resultRole = await _userManager.AddClaimsAsync(userGetId, new Claim[] { new Claim(EnumTypeClaims.Perfil.ToString(), usuario.Perfil.ToString()), new Claim(EnumTypeClaims.Nome.ToString(), usuarioEntity.Nome), new Claim(EnumTypeClaims.Id_Usuario.ToString(), usuarioEntity.Id_Usuario.ToString()) }); if (resultRole.Succeeded) { return(Redirect("Index")); } return(View(usuario)); } } //StringBuilder errors = new StringBuilder(); //foreach (var error in resultIdentity.Errors) //{ // errors.AppendLine(error.Description); //} return(View(usuario)); } return(View(usuario)); } catch (Exception ex) { return(Json(ex)); throw; } }
private UsuarioIdentityVM CarregarUsuarioIdentityVM(IdentityUser identityUser, UsuarioIdentityVM usuario) { usuario.Email = identityUser.Email; usuario.PhoneNumber = identityUser.PhoneNumber; usuario.IdentityUser = identityUser.Id; usuario.UserName = identityUser.UserName; return(usuario); }