Пример #1
0
        public ActionResult <GroupConversationReadDto> GetForUser(int id, int userId)
        {
            if (_userRepository.Get(userId) == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, "User doesn't exist."));
            }

            GroupConversation found = _groupConversationRepository.Get(id);

            if (found == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, "GroupConversation doesn't exist."));
            }

            List <int> formattedParticipantIds = FormatHelper.CsvToListInt(found.ParticipantIds);

            if (found.CreatorId != userId && !formattedParticipantIds.Any(e => e == userId))
            {
                return(StatusCode(StatusCodes.Status403Forbidden, "You can't access GroupConversations you're not a part of."));
            }

            GroupConversationReadDto result = _mapper.Map <GroupConversationReadDto>(found);

            result.ParticipantIdsList = formattedParticipantIds;

            return(StatusCode(StatusCodes.Status200OK, result));
        }
Пример #2
0
        public ActionResult <IEnumerable <GroupConversationReadDto> > Get()
        {
            List <GroupConversation> found = _groupConversationRepository.Get().ToList();

            List <GroupConversationReadDto> result = new List <GroupConversationReadDto>();

            foreach (GroupConversation item in found)
            {
                GroupConversationReadDto dto = _mapper.Map <GroupConversationReadDto>(item);

                dto.ParticipantIdsList = FormatHelper.CsvToListInt(item.ParticipantIds);

                result.Add(dto);
            }

            return(StatusCode(StatusCodes.Status200OK, _mapper.Map <IEnumerable <GroupConversationReadDto> >(result)));
        }
Пример #3
0
        public ActionResult <GroupConversationReadDto> Get(int id)
        {
            GroupConversation found = _groupConversationRepository.Get(id);

            if (found == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, "GroupConversation doesn't exist."));
            }

            GroupConversationReadDto result = _mapper.Map <GroupConversationReadDto>(found);

            List <int> formattedParticipantIds = FormatHelper.CsvToListInt(found.ParticipantIds);

            result.ParticipantIdsList = formattedParticipantIds;

            return(StatusCode(StatusCodes.Status200OK, result));
        }
Пример #4
0
        public ActionResult <GroupConversationReadDto> Create([FromBody] GroupConversationCreateDto request)
        {
            if (_userRepository.Get(request.CreatorId) == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, "User doesn't exist."));
            }

            if (request.ParticipantIdsList.Any(e => _userRepository.Get(e) == null))
            {
                return(StatusCode(StatusCodes.Status400BadRequest, "One or more Users don't exist."));
            }

            GroupConversation newEntity = _mapper.Map <GroupConversation>(request);

            newEntity.ParticipantIds = FormatHelper.ListIntToCsv(request.ParticipantIdsList);

            newEntity = _groupConversationRepository.Create(newEntity);

            GroupConversationReadDto result = _mapper.Map <GroupConversationReadDto>(newEntity);

            result.ParticipantIdsList = request.ParticipantIdsList;

            return(StatusCode(StatusCodes.Status201Created, result));
        }