Esempio n. 1
0
        public ActionResult GetJoinChatroomForm(GetJoinChatroomFormRequestModel request)
        {
            var response = new PartialViewModel();

            var model = new GetJoinChatroomFormResponseModel();

            model.HasPassword  = ChatroomService.HasPassword(request.ParentChatroomId, request.ChatroomId);
            model.ChatroomName = ChatroomService.GetChatroomName(request.ParentChatroomId, request.ChatroomId);

            model.NewChatroomId = request.ChatroomId;

            response.Data = RenderPartialViewToString(this.ControllerContext, "~/Views/Chatroom/_JoinChatroomForm.cshtml", model);

            return(Json(response));
        }
Esempio n. 2
0
        public ActionResult JoinChatroom(JoinChatroomRequestModel request)
        {
            int    chatroomId       = request.ChatroomId;
            int    parentChatroomId = request.ParentChatroomId;
            int    userId           = request.UserId;
            string userHandle       = request.UserHandle;

            JoinChatroomResponseModel response = new JoinChatroomResponseModel();

            var joinErrors = SecurityService.CanUserJoinChatroom(request);

            response.Errors.AddRange(joinErrors);

            if (joinErrors.Count == 0)
            {
                ChatroomService.RemoveUserFromChatroom(request.CurrentChatroomId, parentChatroomId, userId);
                ChatroomService.AddUserToChatroom(chatroomId, parentChatroomId, userId, userHandle);
                response.Name       = ChatroomService.GetChatroomName(parentChatroomId, chatroomId);
                response.Id         = chatroomId;
                response.UserHandle = userHandle;
            }

            return(Json(response));
        }