Example #1
0
        public virtual ActionResult ChatFrame()
        {
            var isOpen = Session[SessionKey.ChatOpen];
            var model = new ChatModel
                            {
                                IsFrameOpen = isOpen != null && (bool) isOpen,
                            };

            if (!AuthenticationHelper.IsAuthenticated && Session[SessionKey.ChatId] == null)
                model.AskForEmail = true;

            return PartialView(model);
        }
Example #2
0
        public virtual ActionResult Chat(bool loadChatFromSession, bool isModerator, bool isViewOnly)
        {
            var model = new ChatModel
                            {
                                IsModerator = isModerator,
                                IsViewOnly = isViewOnly,
                                IsOwner = !isModerator
                            };

            if (loadChatFromSession)
            {
                var chatId = Session[SessionKey.ChatId] as int?;

                var chat = chatId.HasValue ? Repository.Chat.Get(chatId.Value) : null;
                if (chat != null)
                {
                    model.Messages = Mapper.Map<IEnumerable<ChatMessageViewModel>>(chat.Messages);
                    model.IsOwner = chat.Owner == AuthenticationHelper.CurrentUser;
                }

                model.Messages = chatId.HasValue ? Mapper.Map<IEnumerable<ChatMessageViewModel>>(Repository.Chat.Get(chatId.Value).Messages) : null;
            }

            return PartialView(model);
        }