コード例 #1
0
        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));
        }