public async Task <FeedDto> CreateFeedAsync(CreateFeedDto dto) { var entity = dto.ToEntity(); _unitOfWork.FeedRepository.Add(entity); await _unitOfWork.CommitAsync(); var result = entity.ToDto(); var user = await _unitOfWork.UserRepository .FindAll(x => x.Id.Equals(result.CreatedBy)) .Include(x => x.UserDetail) .SingleOrDefaultAsync(); result.FullName = $"{user?.UserDetail?.FirstName} {user?.UserDetail?.LastName}"; result.AvatarUrl = user?.UserDetail?.Avatar; return(result); }
public async Task <ActionResult> CreateAsync([FromBody] CreateFeedDto createFeedDto) { var authenticatedUser = await userManager.GetUserAsync(User); if (!(createFeedDto.UserId == authenticatedUser.Id || User.IsInRole("Admin"))) { return(Forbid()); } var token = Guid.NewGuid().ToString("N"); var feed = new UserFeed() { Created = DateTime.Now, UserId = createFeedDto.UserId, URL = Url.Action(nameof(Feed), new { Token = token }), Token = token }; context.Add(feed); await context.SaveChangesAsync(); return(CreatedAtAction(feed.URL, new { Token = feed.Token }, feed)); }
public async Task <IActionResult> Create([FromBody] CreateFeedDto dto) { var result = await _feedService.CreateFeedAsync(dto); return(Ok(result)); }
public static Feed ToEntity(this CreateFeedDto dto) { return(Mapper.Map <Feed>(dto)); }