public async Task <IActionResult> ViewProfile(string id) { var user = await _db.Users.FirstOrDefaultAsync(x => x.UserName == id); if (user == null) { return(RedirectToAction(nameof(Index))); } var dto = new ViewProfileDto { FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName }; return(View(dto)); }
public async Task <ViewProfileDto> GetProfileView(string username) { var user = await GetUserByUsername(username); if (user == null) { throw new KeyNotFoundException("User not found"); } user.Topics = await _context.Topics.Where(t => t.UserId.Equals(user.Id) && !t.IsDeleted) .OrderByDescending(t => t.CreatedAt) .Include(t => t.Category) .Include(t => t.User) .Include(t => t.Comments) .Include(t => t.Views) .ToListAsync(); return(ViewProfileDto.Create(user)); }