Ejemplo n.º 1
0
        public async Task <UserRolResult> GetRolesAsync(string userNameOrEmail)
        {
            var usuario = userNameOrEmail.Contains("@") ?
                          await _userManager.FindByEmailAsync(userNameOrEmail)
                : await _userManager.FindByNameAsync(userNameOrEmail);

            if (usuario == null)
            {
                errorResult.Errores.Add(new ErrorMsg
                {
                    ErrorCode     = HttpStatusCode.NotFound.ToString(),
                    ErrorMessagge = "No se encontró el usuario"
                });
                return(errorResult);
            }

            var roles = await _userManager.GetRolesAsync(usuario);

            if (roles.Count() > 0)
            {
                return(new UserRolResult
                {
                    Errores = null,
                    Body = JsonConvert.SerializeObject(roles),
                    Roles = _service.ConvertToRolDto(roles),
                    Succesfull = true,
                    Usuario = _mapper.Map <UserDto>(usuario)
                });
            }

            errorResult.Errores.Add(new ErrorMsg
            {
                ErrorCode     = HttpStatusCode.NotFound.ToString(),
                ErrorMessagge = "El Usuario no posee roles asignados"
            });

            return(errorResult);
        }