public async Task <IActionResult> GetUsersAsync() { try { var users = _userViewRepository.GetUserViews(); var usersDto = new List <UserDto>(); foreach (var item in users) { var obj = _mapper.Map <UserDto>(item); var roleName = (Roles)obj.RoleId; obj.RoleName = roleName.ToString(); if (!string.IsNullOrWhiteSpace(item.GroupName)) { obj.RoleCode = item.GroupName; } else if (!string.IsNullOrWhiteSpace(item.DealerCode)) { obj.RoleCode = item.DealerCode; } else if (!string.IsNullOrWhiteSpace(item.ClientCode)) { obj.RoleCode = item.ClientCode; } usersDto.Add(obj); } return(Ok(usersDto)); } catch (Exception ex) { _log.Error($"Error in GetUserAsync ", ex); return(StatusCode(500, new ErrorModel { Message = ex.Message, HttpStatusCode = 500 })); } }