public IHttpActionResult GetRoomData(int id) { responseData.RequestHelper = Request; Room room = _context.Rooms.SingleOrDefault(r => r.Id == id); Member member = GetMemberBasedOnUserId(); if (room == null) { return(new ResponseMessageResult(responseData.CreateNotFoundResponse("room", id))); } bool authorizedUserHasAccess = !room.IsPrivate || room.Members.Select(m => m.Id == member.Id).ToList().Count() != 0; if (!authorizedUserHasAccess) { return(new ResponseMessageResult(responseData.CreateResponse(status: HttpStatusCode.Forbidden, message: "Only members can access private chat."))); } RoomNoMemberDTO roomDTO = Mapper.Map <Room, RoomNoMemberDTO>(room); return(Ok(roomDTO)); }