Esempio n. 1
0
        public virtual ActionResult FinishChat()
        {
            if (Session[SessionKey.ChatId] == null)
                return null;

            var chat = Repository.Chat.Get((int) Session[SessionKey.ChatId]);

            var finishMessage = new ChatMessage
                                    {
                                        Author = AuthenticationHelper.CurrentUser,
                                        CreationDate = DateTime.Now,
                                        Text = Resources.Chat.FinishChatMessage
                                    };

            chat.Messages.Add(finishMessage);

            chat.LastReadTime = DateTime.Now;

            Repository.Chat.Update(chat);

            Session.Remove(SessionKey.ChatId);
            return null;
        }
Esempio n. 2
0
        public virtual ActionResult CloseChat(int chatId, bool isSummarySent)
        {
            var chat = Repository.Chat.Get(chatId);
            chat.IsClosed = true;
            chat.IsSummarySent = isSummarySent;

            var closeMessage = new ChatMessage
                                   {
                                       Author = AuthenticationHelper.CurrentUser,
                                       CreationDate = DateTime.Now,
                                       Text = Resources.Chat.CloseChatMessage
                                   };
            chat.Messages.Add(closeMessage);

            Repository.Chat.Update(chat);

            if (chat.IsSummarySent)
                Email.Send<ChatSummaryEmail>(chat);

            return RedirectToAction(MVC.Chat.ChatsOverview());
        }