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); }
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); }