示例#1
0
        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));
        }
示例#2
0
        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));
        }