public ActionResult <FriendReadDto> Create([FromBody] FriendCreateDto request) { FriendList friendList = _friendListRepository.Get(request.FriendListId); if (friendList == null) { return(StatusCode(StatusCodes.Status400BadRequest, "Friend list doesn't exist.")); } if (friendList.Friends.Any(e => e.Id == request.FriendUserId)) { return(StatusCode(StatusCodes.Status400BadRequest, "You already addes this User as your Friend.")); } if (friendList.OwnerUserId == request.FriendUserId) { return(StatusCode(StatusCodes.Status400BadRequest, "You cannot add yourself as a Friend.")); } if (_userRepository.Get(request.FriendUserId) == null) { return(StatusCode(StatusCodes.Status400BadRequest, "User doesn't exist.")); } Friend newEntity = _mapper.Map <Friend>(request); newEntity.DateTime = DateTime.UtcNow; newEntity = _friendRepository.Create(newEntity); return(StatusCode(StatusCodes.Status201Created, _mapper.Map <FriendReadDto>(newEntity))); }
public async Task <ActionResult <FriendReadDto> > CreateFriend(FriendCreateDto friendCreateDto) { var user = await _userManager.FindByEmailAsync(HttpContext.User.Identity.Name); var friend = _mapper.Map <Friend>(friendCreateDto); friend.Identity = user; _repository.CreateFriend(friend); _repository.saveChanges(); var friendReadDto = _mapper.Map <FriendReadDto>(friend); return(CreatedAtRoute(nameof(GetFriendById), new { Id = friendReadDto.Id }, friendReadDto)); }
public ActionResult UpdateFriend(int id, FriendCreateDto friendCreateDto) { var friendFromRepo = _repository.GetFriendById(id); if (friendFromRepo == null) { return(NotFound()); } _mapper.Map(friendCreateDto, friendFromRepo); _repository.UpdateFriend(friendFromRepo); _repository.saveChanges(); return(NoContent()); }