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