Advertisement
Guest User

Untitled

a guest
Jul 29th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ASP 5.27 KB | None | 0 0
  1. // Display HTML Code
  2.  
  3. <div id="discussion" style="overflow:hidden; height:450px;">
  4.                                             @foreach (var message in ChatManager.messageHistory().Reverse())
  5.                                             {
  6.                                                 @message.username<text>:</text> @message.message<br />
  7.                                             }
  8.                                         </div>
  9.                                         <div class="input-group mar-btm">
  10.                                             <input type="text" placeholder="Chat Message" id="message" class="form-control">
  11.                                             <span class="input-group-btn">
  12.                                                 <button class="btn btn-mint" id="sendmessage" type="button">Send</button>
  13.                                             </span>
  14.                                         </div>
  15.                                         <input type="hidden" id="displayname" class="form-control" />
  16.                                         <script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
  17.                                         <script src="~/signalr/hubs"></script>
  18.                                         <script>
  19.                                             document.getElementById("message")
  20.                                             .addEventListener("keyup", function (event) {
  21.                                                 event.preventDefault();
  22.                                                 if (event.keyCode == 13) {
  23.                                                     document.getElementById("sendmessage").click();
  24.                                                 }
  25.                                             });
  26.                                         </script>
  27.                                         <script>
  28.                                         $(function () {
  29.                                             // Chat hub refrence
  30.                                             var chat = $.connection.chatHub;
  31.                                             // var displayname = ;
  32.                                             // Call back for displaying messages
  33.                                             chat.client.addNewMessageToPage = function (name, message) {
  34.                                                 // append the message to the page, bottom up
  35.                                                 $('#discussion').prepend('<li><strong>' + htmlEncode(name)
  36.                                                     + '</strong>: ' + htmlEncode(message) + '</li>');
  37.                                             };
  38.                                             // Get and set a username, need to update for MVC Code to GetUsernameById
  39.                                             $('#displayname').val('@if (Request.IsAuthenticated) {@User.Identity.GetUserName()} else { <text>TrollUser</text> } ');
  40.                                             // Initial chatbox focus
  41.                                             $('#message').focus();
  42.                                             // Load and connect to hub
  43.                                             $.connection.hub.start().done(function () {
  44.                                                 $('#sendmessage').click(function () {
  45.                                                         // Calls for sending messages to server
  46.                                                         chat.server.send($('#displayname').val(), $('#message').val());
  47.                                                     // Clear the previous message and await new one
  48.                                                     $('#message').val('').focus();
  49.                                                     });
  50.                                                 });
  51.  
  52.                                             });
  53.                                         // This optional function html-encodes messages for display in the page.
  54.                                         function htmlEncode(value) {
  55.                                             var encodedValue = $('<div />').text(value).html();
  56.                                             return encodedValue;
  57.                                         }
  58.                                         </script>
  59.  
  60.                                     </div>
  61.  
  62.  
  63. // Database Model
  64.  
  65. namespace CryptoMarket.Models.DB
  66. {
  67.     public class ChatMessages
  68.     {
  69.         [Key]
  70.         public int MessageId { get; set; }
  71.         public string username { get; set; }
  72.         public string message { get; set; }
  73.     }
  74. }
  75.  
  76. // SignalR chatHubs Code
  77. namespace SignalRChat
  78. {
  79.     public class ChatHub : Hub
  80.     {
  81.         public void Send(string name, string message)
  82.         {
  83.             using (var context = new ApplicationDbContext())
  84.             {
  85.                 var username = name;
  86.                 var newmessage = message;
  87.                 context.ChatMessages.Add(new ChatMessages
  88.                 {
  89.                     username = name,
  90.                     message = newmessage
  91.                 });
  92.                 context.SaveChanges();
  93.             }
  94.             // Call the addNewMessageToPage method to update clients.
  95.             Clients.All.addNewMessageToPage(name, message);
  96.  
  97.         }
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement