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