├── ChatApp.Domain ├── Abstract │ ├── IMessage.cs │ └── IUser.cs ├── ChatApp.Domain.csproj ├── ChatApp.Domain.csproj.user ├── Concrete │ ├── EFDbContext.cs │ ├── EFMessageRepository.cs │ └── EFUserRepository.cs ├── Entity │ ├── ChatMessage.cs │ ├── FriendMapping.cs │ ├── FriendRequests.cs │ ├── MessageRecords.cs │ ├── OnlineUser.cs │ ├── OnlineUserDetails.cs │ ├── RecentChatDetails.cs │ ├── User.cs │ ├── UserImage.cs │ ├── UserNotification.cs │ ├── UserNotificationList.cs │ └── UserSearchResult.cs ├── Properties │ └── AssemblyInfo.cs ├── bin │ └── Debug │ │ ├── ChatApp.Domain.dll │ │ ├── ChatApp.Domain.pdb │ │ └── EntityFramework.dll └── obj │ ├── Debug │ ├── ChatApp.Domain.csproj.CopyComplete │ ├── ChatApp.Domain.csproj.CoreCompileInputs.cache │ ├── ChatApp.Domain.csproj.FileListAbsolute.txt │ ├── ChatApp.Domain.csprojAssemblyReference.cache │ ├── ChatApp.Domain.dll │ ├── ChatApp.Domain.pdb │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ └── Release │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ └── build.force ├── ChatApp.sln ├── ChatApp.v12.suo ├── ChatApp ├── App_Start │ ├── FilterConfig.cs │ ├── RouteConfig.cs │ └── WebApiConfig.cs ├── ChatApp.UI.csproj ├── ChatApp.UI.csproj.user ├── Common │ ├── ChatHub.cs │ ├── CommonFunctions.cs │ ├── MySession.cs │ └── Startup.cs ├── Content │ ├── css │ │ ├── bootstrap.css │ │ ├── bootstrap.min.css │ │ ├── bootstrapValidator.min.css │ │ ├── bootswatch.less │ │ ├── common.css │ │ ├── custom.min.css │ │ └── variables.less │ └── images │ │ ├── ProfilePictures │ │ ├── 1001011915_Games-Latest-HD-Action-Wallpapers.jpg │ │ ├── 1144449121_Captain-America-Civil-War-wallpaper.jpg │ │ ├── 1304874580_Captain-America-Civil-War-wallpaper.jpg │ │ ├── 1424297394_Captain-America-Civil-War-wallpaper.jpg │ │ ├── 1536668302_Games-Latest-HD-Action-Wallpapers.jpg │ │ ├── 1937329699_Batman-V-Superman-Wallpaper-Wide-QIS.jpg │ │ ├── 330138430_Games-Latest-HD-Action-Wallpapers.jpg │ │ ├── 374921282_Batman-V-Superman-Wallpaper-Wide-QIS.jpg │ │ ├── 632307911_captain-america-civil-war-Wallpaper.png │ │ ├── 721734734_Captain-America-Civil-War-wallpaper.jpg │ │ ├── 821727613_Kylo-ren-in-Star-Wars-Hollywood-Action-Movies-HD-Wallpaper.jpg │ │ ├── 948683366_captain-america-civil-war-Wallpaper.png │ │ └── 988569343_Games-Latest-HD-Action-Wallpapers.jpg │ │ ├── chat-left.png │ │ ├── chat-right.png │ │ ├── female-default-pic.jpg │ │ └── male-default-pic.jpg ├── Controllers │ ├── AccountController.cs │ ├── BaseController.cs │ ├── ChatController.cs │ └── UserController.cs ├── Global.asax ├── Global.asax.cs ├── Infrastructure │ └── NinjectControllerFactory.cs ├── Models │ ├── ChatMessageModel.cs │ ├── UserModel.cs │ └── UserNotificationModel.cs ├── Properties │ ├── AssemblyInfo.cs │ └── PublishProfiles │ │ ├── ChatApp.pubxml │ │ └── ChatApp.pubxml.user ├── Scripts │ ├── bootstrap.min.js │ ├── bootstrapValidator.min.js │ ├── chat.app.js │ ├── common.js │ ├── jquery-2.2.4.min.js │ ├── jquery.form.js │ ├── jquery.signalR-2.2.0.js │ ├── jquery.signalR-2.2.0.min.js │ ├── jquery.validate.min.js │ └── jquery.validate.unobtrusive.min.js ├── Views │ ├── Account │ │ └── Login.cshtml │ ├── Chat │ │ └── _Messages.cshtml │ ├── Shared │ │ ├── _Layout.cshtml │ │ └── _UserLayout.cshtml │ ├── User │ │ ├── Chat.cshtml │ │ ├── EditProfile.cshtml │ │ ├── Friends.cshtml │ │ ├── Profile.cshtml │ │ ├── _OnlineFriends.cshtml │ │ ├── _RecentChats.cshtml │ │ ├── _UserNotifications.cshtml │ │ └── _UserSearchResult.cshtml │ └── Web.config ├── Web.Debug.config ├── Web.Release.config ├── Web.config ├── bin │ ├── ChatApp.Domain.dll │ ├── ChatApp.Domain.pdb │ ├── ChatApp.dll │ ├── ChatApp.dll.config │ ├── ChatApp.pdb │ ├── EntityFramework.dll │ ├── Microsoft.AspNet.SignalR.Core.dll │ ├── Microsoft.AspNet.SignalR.Core.xml │ ├── Microsoft.AspNet.SignalR.SystemWeb.dll │ ├── Microsoft.AspNet.SignalR.SystemWeb.xml │ ├── Microsoft.Owin.Host.SystemWeb.dll │ ├── Microsoft.Owin.Host.SystemWeb.xml │ ├── Microsoft.Owin.Security.dll │ ├── Microsoft.Owin.Security.xml │ ├── Microsoft.Owin.dll │ ├── Microsoft.Owin.xml │ ├── Microsoft.Web.Infrastructure.dll │ ├── Microsoft.Web.Mvc.FixedDisplayModes.dll │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── Ninject.dll │ ├── Ninject.xml │ ├── Owin.dll │ ├── System.Net.Http.Formatting.dll │ ├── System.Net.Http.Formatting.xml │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.Http.WebHost.dll │ ├── System.Web.Http.WebHost.xml │ ├── System.Web.Http.dll │ ├── System.Web.Http.xml │ ├── System.Web.Mvc.dll │ ├── System.Web.Mvc.xml │ ├── System.Web.Razor.dll │ ├── System.Web.Razor.xml │ ├── System.Web.WebPages.Deployment.dll │ ├── System.Web.WebPages.Deployment.xml │ ├── System.Web.WebPages.Razor.dll │ ├── System.Web.WebPages.Razor.xml │ ├── System.Web.WebPages.dll │ └── System.Web.WebPages.xml ├── obj │ ├── Debug │ │ ├── ChatApp.UI.csproj.CopyComplete │ │ ├── ChatApp.UI.csproj.CoreCompileInputs.cache │ │ ├── ChatApp.UI.csproj.FileListAbsolute.txt │ │ ├── ChatApp.UI.csprojAssemblyReference.cache │ │ ├── ChatApp.UI.csprojResolveAssemblyReference.cache │ │ ├── ChatApp.csproj.FileListAbsolute.txt │ │ ├── ChatApp.csprojResolveAssemblyReference.cache │ │ ├── ChatApp.dll │ │ ├── ChatApp.pdb │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ └── Release │ │ ├── ChatApp.UI.csproj.FileListAbsolute.txt │ │ ├── ChatApp.UI.csprojResolveAssemblyReference.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ └── build.force └── packages.config ├── README.md ├── buildspec.yaml └── packages ├── Microsoft.AspNet.Mvc.4.0.30506.0 ├── Microsoft.AspNet.Mvc.4.0.30506.0.nupkg ├── Microsoft.AspNet.Mvc.4.0.30506.0.nuspec └── lib │ └── net40 │ ├── System.Web.Mvc.dll │ └── System.Web.Mvc.xml ├── Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0 ├── Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nupkg ├── Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nuspec └── lib │ └── net40 │ └── Microsoft.Web.Mvc.FixedDisplayModes.dll ├── Microsoft.AspNet.Razor.2.0.30506.0 ├── Microsoft.AspNet.Razor.2.0.30506.0.nupkg ├── Microsoft.AspNet.Razor.2.0.30506.0.nuspec └── lib │ └── net40 │ ├── System.Web.Razor.dll │ └── System.Web.Razor.xml ├── Microsoft.AspNet.SignalR.2.2.0 ├── Microsoft.AspNet.SignalR.2.2.0.nupkg ├── Microsoft.AspNet.SignalR.2.2.0.nuspec └── readme.txt ├── Microsoft.AspNet.SignalR.Core.2.2.0 ├── Microsoft.AspNet.SignalR.Core.2.2.0.nupkg ├── Microsoft.AspNet.SignalR.Core.2.2.0.nuspec └── lib │ └── net45 │ ├── Microsoft.AspNet.SignalR.Core.dll │ └── Microsoft.AspNet.SignalR.Core.xml ├── Microsoft.AspNet.SignalR.JS.2.2.0 ├── Microsoft.AspNet.SignalR.JS.2.2.0.nupkg ├── Microsoft.AspNet.SignalR.JS.2.2.0.nuspec └── content │ └── Scripts │ ├── jquery.signalR-2.2.0.js │ └── jquery.signalR-2.2.0.min.js ├── Microsoft.AspNet.SignalR.SystemWeb.2.2.0 ├── Microsoft.AspNet.SignalR.SystemWeb.2.2.0.nupkg ├── Microsoft.AspNet.SignalR.SystemWeb.2.2.0.nuspec └── lib │ └── net45 │ ├── Microsoft.AspNet.SignalR.SystemWeb.XML │ └── Microsoft.AspNet.SignalR.SystemWeb.dll ├── Microsoft.AspNet.WebApi.4.0.30506.0 ├── Microsoft.AspNet.WebApi.4.0.30506.0.nupkg └── Microsoft.AspNet.WebApi.4.0.30506.0.nuspec ├── Microsoft.AspNet.WebApi.Client.4.0.30506.0 ├── Microsoft.AspNet.WebApi.Client.4.0.30506.0.nupkg ├── Microsoft.AspNet.WebApi.Client.4.0.30506.0.nuspec └── lib │ └── net40 │ ├── System.Net.Http.Formatting.dll │ └── System.Net.Http.Formatting.xml ├── Microsoft.AspNet.WebApi.Core.4.0.30506.0 ├── Microsoft.AspNet.WebApi.Core.4.0.30506.0.nupkg ├── Microsoft.AspNet.WebApi.Core.4.0.30506.0.nuspec ├── content │ └── web.config.transform └── lib │ └── net40 │ ├── System.Web.Http.dll │ └── System.Web.Http.xml ├── Microsoft.AspNet.WebApi.WebHost.4.0.30506.0 ├── Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nupkg ├── Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nuspec └── lib │ └── net40 │ ├── System.Web.Http.WebHost.dll │ └── System.Web.Http.WebHost.xml ├── Microsoft.AspNet.WebPages.2.0.30506.0 ├── Microsoft.AspNet.WebPages.2.0.30506.0.nupkg ├── Microsoft.AspNet.WebPages.2.0.30506.0.nuspec └── lib │ └── net40 │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.WebPages.Deployment.dll │ ├── System.Web.WebPages.Deployment.xml │ ├── System.Web.WebPages.Razor.dll │ ├── System.Web.WebPages.Razor.xml │ ├── System.Web.WebPages.dll │ └── System.Web.WebPages.xml ├── Microsoft.Net.Http.2.0.20710.0 ├── Microsoft.Net.Http.2.0.20710.0.nupkg ├── Microsoft.Net.Http.2.0.20710.0.nuspec └── lib │ ├── net40 │ ├── System.Net.Http.WebRequest.dll │ ├── System.Net.Http.WebRequest.xml │ ├── System.Net.Http.dll │ └── System.Net.Http.xml │ └── net45 │ └── _._ ├── Microsoft.Owin.2.1.0 ├── Microsoft.Owin.2.1.0.nupkg ├── Microsoft.Owin.2.1.0.nuspec └── lib │ ├── net40 │ ├── Microsoft.Owin.XML │ └── Microsoft.Owin.dll │ └── net45 │ ├── Microsoft.Owin.XML │ └── Microsoft.Owin.dll ├── Microsoft.Owin.Host.SystemWeb.2.1.0 ├── Microsoft.Owin.Host.SystemWeb.2.1.0.nupkg ├── Microsoft.Owin.Host.SystemWeb.2.1.0.nuspec └── lib │ ├── net40 │ ├── Microsoft.Owin.Host.SystemWeb.dll │ └── Microsoft.Owin.Host.SystemWeb.xml │ └── net45 │ ├── Microsoft.Owin.Host.SystemWeb.dll │ └── Microsoft.Owin.Host.SystemWeb.xml ├── Microsoft.Owin.Security.2.1.0 ├── Microsoft.Owin.Security.2.1.0.nupkg ├── Microsoft.Owin.Security.2.1.0.nuspec └── lib │ └── net45 │ ├── Microsoft.Owin.Security.XML │ └── Microsoft.Owin.Security.dll ├── Microsoft.Web.Infrastructure.1.0.0.0 ├── Microsoft.Web.Infrastructure.1.0.0.0.nupkg ├── Microsoft.Web.Infrastructure.1.0.0.0.nuspec └── lib │ └── net40 │ └── Microsoft.Web.Infrastructure.dll ├── Newtonsoft.Json.6.0.8 ├── Newtonsoft.Json.6.0.8.nupkg ├── Newtonsoft.Json.6.0.8.nuspec ├── lib │ ├── net20 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net35 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net40 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net45 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── netcore45 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── portable-net40+sl5+wp80+win8+wpa81 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ └── portable-net45+wp80+win8+wpa81+aspnetcore50 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml └── tools │ └── install.ps1 ├── Ninject.3.2.2.0 ├── Ninject.3.2.2.0.nupkg ├── Ninject.3.2.2.0.nuspec └── lib │ ├── net35 │ ├── Ninject.dll │ └── Ninject.xml │ ├── net40 │ ├── Ninject.dll │ └── Ninject.xml │ ├── net45-full │ ├── Ninject.dll │ └── Ninject.xml │ ├── sl2 │ ├── Ninject.dll │ └── Ninject.xml │ ├── sl3-wp │ ├── Ninject.dll │ └── Ninject.xml │ ├── sl3 │ ├── Ninject.dll │ └── Ninject.xml │ ├── sl4-windowsphone71 │ ├── Ninject.dll │ └── Ninject.xml │ ├── sl4 │ ├── Ninject.dll │ └── Ninject.xml │ └── sl5 │ ├── Ninject.dll │ └── Ninject.xml ├── Owin.1.0 ├── Owin.1.0.nupkg ├── Owin.1.0.nuspec └── lib │ └── net40 │ └── Owin.dll ├── jQuery.1.6.4 ├── Content │ └── Scripts │ │ ├── jquery-1.6.4-vsdoc.js │ │ ├── jquery-1.6.4.js │ │ └── jquery-1.6.4.min.js ├── Tools │ ├── install.ps1 │ ├── jquery-1.6.4-vsdoc-para.js │ └── uninstall.ps1 ├── jQuery.1.6.4.nupkg └── jQuery.1.6.4.nuspec └── repositories.config /ChatApp.Domain/Abstract/IMessage.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Entity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Abstract 9 | { 10 | public interface IMessage 11 | { 12 | ChatMessage SaveChatMessage(ChatMessage objentity); 13 | MessageRecords GetChatMessagesByUserID(int currentUserID, int toUserID, int lastMessageID = 0); 14 | void UpdateMessageStatusByUserID(int fromUserID, int currentUserID); 15 | void UpdateMessageStatusByMessageID(int messageID); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ChatApp.Domain/Abstract/IUser.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Entity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Linq.Expressions; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace ChatApp.Domain.Abstract 10 | { 11 | public interface IUser 12 | { 13 | Tuple SaveUser(User objentity); 14 | User CheckLogin(string userName, string password); 15 | void SaveUserOnlineStatus(OnlineUser objentity); 16 | List GetUserConnectionID(int UserID); 17 | List GetUserConnectionID(int[] userIDs); 18 | List GetAllUsers(); 19 | List GetOnlineFriends(int userID); 20 | User GetUserById(int userId); 21 | List SearchUsers(string name, int userID); 22 | List GetSentFriendRequests(int userID); 23 | List GetReceivedFriendRequests(int userID); 24 | void SendFriendRequest(int endUserID, int loggedInUserID); 25 | int SaveUserNotification(string notificationType, int fromUserID, int toUserID); 26 | FriendMapping GetFriendRequestStatus(int userID); 27 | int ResponseToFriendRequest(int requestorID, string requestResponse, int endUserID); 28 | List GetUserNotifications(int toUserID); 29 | int GetUserNotificationCounts(int toUserID); 30 | void ChangeNotificationStatus(int[] notificationIDs); 31 | FriendMapping RemoveFriendMapping(int friendMappingID); 32 | List GetUsersByLinqQuery(Expression> where); 33 | List GetRecentChats(int currentUserID); 34 | OnlineUserDetails GetUserOnlineStatus(int userID); 35 | void UpdateUserProfilePicture(int userID, string imagePath); 36 | void SaveUserImage(int userID, string imagePath, bool isProfilePicture); 37 | List GetFriends(int userID); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ChatApp.Domain/ChatApp.Domain.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {5F99B68D-8B21-4FAA-91E1-0D9A3C96D391} 8 | Library 9 | Properties 10 | ChatApp.Domain 11 | ChatApp.Domain 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | ..\..\..\Projects\Production Code\trunk\JNCloud.Web.UI\bin\EntityFramework.dll 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 76 | -------------------------------------------------------------------------------- /ChatApp.Domain/ChatApp.Domain.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ShowAllFiles 5 | 6 | -------------------------------------------------------------------------------- /ChatApp.Domain/Concrete/EFDbContext.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Entity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Data.Entity; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace ChatApp.Domain.Concrete 10 | { 11 | public class EFDbContext : DbContext 12 | { 13 | public DbSet Users { get; set; } 14 | public DbSet OnlineUsers { get; set; } 15 | public DbSet FriendMappings { get; set; } 16 | public DbSet UserNotifications { get; set; } 17 | public DbSet ChatMessages { get; set; } 18 | public DbSet UserImages { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ChatApp.Domain/Concrete/EFMessageRepository.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Abstract; 2 | using ChatApp.Domain.Concrete; 3 | using ChatApp.Domain.Entity; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace ChatApp.Domain.Concrete 11 | { 12 | public class EFMessageRepository : IMessage 13 | { 14 | EFDbContext _context = new EFDbContext(); 15 | public ChatMessage SaveChatMessage(ChatMessage objentity) 16 | { 17 | _context.ChatMessages.Add(objentity); 18 | _context.SaveChanges(); 19 | return objentity; 20 | } 21 | public MessageRecords GetChatMessagesByUserID(int currentUserID, int toUserID, int lastMessageID = 0) 22 | { 23 | MessageRecords obj = new MessageRecords(); 24 | var messages = _context.ChatMessages.Where(m => m.IsActive == true && (m.ToUserID == toUserID || m.FromUserID == toUserID) && (m.ToUserID == currentUserID || m.FromUserID == currentUserID)).OrderByDescending(m => m.CreatedOn); 25 | if (lastMessageID > 0) 26 | { 27 | obj.Messages = messages.Where(m => m.ChatMessageID < lastMessageID).Take(20).ToList().OrderBy(m => m.CreatedOn).ToList(); 28 | } 29 | else 30 | { 31 | obj.Messages = messages.Take(20).ToList().OrderBy(m => m.CreatedOn).ToList(); 32 | } 33 | obj.LastChatMessageId = obj.Messages.OrderBy(m => m.ChatMessageID).Select(m => m.ChatMessageID).FirstOrDefault(); 34 | return obj; 35 | } 36 | public void UpdateMessageStatusByUserID(int fromUserID, int currentUserID) 37 | { 38 | var unreadMessages = _context.ChatMessages.Where(m => m.Status == "Sent" && m.ToUserID == currentUserID && m.FromUserID == fromUserID && m.IsActive == true).ToList(); 39 | unreadMessages.ForEach(m => 40 | { 41 | m.Status = "Viewed"; 42 | m.ViewedOn = System.DateTime.Now; 43 | }); 44 | _context.SaveChanges(); 45 | } 46 | public void UpdateMessageStatusByMessageID(int messageID) 47 | { 48 | var unreadMessages = _context.ChatMessages.Where(m => m.ChatMessageID == messageID).FirstOrDefault(); 49 | if (unreadMessages != null) 50 | { 51 | unreadMessages.Status = "Viewed"; 52 | unreadMessages.ViewedOn = System.DateTime.Now; 53 | _context.SaveChanges(); 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/ChatMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Entity 9 | { 10 | public class ChatMessage 11 | { 12 | [Key] 13 | public int ChatMessageID { get; set; } 14 | public int FromUserID { get; set; } 15 | public int ToUserID { get; set; } 16 | public string Message { get; set; } 17 | public string Status { get; set; } 18 | public DateTime CreatedOn { get; set; } 19 | public DateTime UpdatedOn { get; set; } 20 | public DateTime ViewedOn { get; set; } 21 | public bool IsActive { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/FriendMapping.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Entity 9 | { 10 | public class FriendMapping 11 | { 12 | [Key] 13 | public int FriendMappingID { get; set; } 14 | public int RequestorUserID { get; set; } 15 | public int EndUserID { get; set; } 16 | public string RequestStatus { get; set; } 17 | public DateTime CreatedOn { get; set; } 18 | public DateTime UpdatedOn { get; set; } 19 | public bool IsActive { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/FriendRequests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ChatApp.Domain.Entity 8 | { 9 | public class FriendRequests 10 | { 11 | public User UserInfo { get; set; } 12 | public string RequestStatus { get; set; } 13 | public int RequestorUserID { get; set; } 14 | public int EndUserID { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/MessageRecords.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ChatApp.Domain.Entity 8 | { 9 | public class MessageRecords 10 | { 11 | public List Messages { get; set; } 12 | public int TotalMessages { get; set; } 13 | public int LastChatMessageId { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/OnlineUser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Entity 9 | { 10 | public class OnlineUser 11 | { 12 | [Key] 13 | public int OnlineUserID { get; set; } 14 | public int UserID { get; set; } 15 | public string ConnectionID { get; set; } 16 | public bool IsOnline { get; set; } 17 | public DateTime CreatedOn { get; set; } 18 | public DateTime UpdatedOn { get; set; } 19 | public bool IsActive { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/OnlineUserDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ChatApp.Domain.Entity 8 | { 9 | public class OnlineUserDetails 10 | { 11 | public int UserID { get; set; } 12 | public List ConnectionID { get; set; } 13 | public string Name { get; set; } 14 | public string ProfilePicture { get; set; } 15 | public string Gender { get; set; } 16 | public bool IsOnline { get; set; } 17 | public int UnReadMessageCount { get; set; } 18 | public DateTime LastUpdationTime { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/RecentChatDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ChatApp.Domain.Entity 8 | { 9 | public class RecentChatDetails 10 | { 11 | public List Users { get; set; } 12 | public int LastUserID { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Entity 9 | { 10 | public class User 11 | { 12 | [Key] 13 | public int UserID { get; set; } 14 | public string Name { get; set; } 15 | public string UserName { get; set; } 16 | public string Password { get; set; } 17 | public string ProfilePicture { get; set; } 18 | public string Gender { get; set; } 19 | public DateTime DOB { get; set; } 20 | public string Bio { get; set; } 21 | public DateTime CreatedOn { get; set; } 22 | public DateTime UpdatedOn { get; set; } 23 | public bool IsActive { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/UserImage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Entity 9 | { 10 | public class UserImage 11 | { 12 | [Key] 13 | public int ImageID { get; set; } 14 | public int UserID { get; set; } 15 | public string ImagePath { get; set; } 16 | public bool IsProfilePicture { get; set; } 17 | public DateTime CreatedOn { get; set; } 18 | public bool IsActive { get; set; } 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/UserNotification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ChatApp.Domain.Entity 9 | { 10 | public class UserNotification 11 | { 12 | [Key] 13 | public int NotificationID { get; set; } 14 | public int ToUserID { get; set; } 15 | public int FromUserID { get; set; } 16 | public string NotificationType { get; set; } 17 | public string Status { get; set; } 18 | public DateTime CreatedOn { get; set; } 19 | public DateTime UpdatedOn { get; set; } 20 | public bool IsActive { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/UserNotificationList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ChatApp.Domain.Entity 8 | { 9 | public class UserNotificationList 10 | { 11 | public string NotificationType { get; set; } 12 | public int NotificationID { get; set; } 13 | public User User { get; set; } 14 | public DateTime CreatedOn { get; set; } 15 | public string NotificationStatus { get; set; } 16 | public int TotalNotifications { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ChatApp.Domain/Entity/UserSearchResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ChatApp.Domain.Entity 8 | { 9 | public class UserSearchResult 10 | { 11 | public User UserInfo { get; set; } 12 | public string FriendRequestStatus { get; set; } 13 | public bool IsRequestReceived { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ChatApp.Domain/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ChatApp.Domain")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChatApp.Domain")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("4552fabf-0264-4f58-989e-d749db6e107f")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ChatApp.Domain/bin/Debug/ChatApp.Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/bin/Debug/ChatApp.Domain.dll -------------------------------------------------------------------------------- /ChatApp.Domain/bin/Debug/ChatApp.Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/bin/Debug/ChatApp.Domain.pdb -------------------------------------------------------------------------------- /ChatApp.Domain/bin/Debug/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/bin/Debug/EntityFramework.dll -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/ChatApp.Domain.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/ChatApp.Domain.csproj.CopyComplete -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/ChatApp.Domain.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 2c7267776ea2778d9da0b8d53f9e8e338889aa5f 2 | -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/ChatApp.Domain.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\bin\Debug\ChatApp.Domain.dll 2 | E:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\bin\Debug\ChatApp.Domain.pdb 3 | E:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\bin\Debug\EntityFramework.dll 4 | E:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.dll 5 | E:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.pdb 6 | E:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.csprojResolveAssemblyReference.cache 7 | D:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\bin\Debug\ChatApp.Domain.dll 8 | D:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\bin\Debug\ChatApp.Domain.pdb 9 | D:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.dll 10 | D:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.pdb 11 | D:\Manoj\Sample Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.csprojResolveAssemblyReference.cache 12 | D:\Manoj\Sample_Projects\ChatApp\ChatApp.Domain\bin\Debug\ChatApp.Domain.dll 13 | D:\Manoj\Sample_Projects\ChatApp\ChatApp.Domain\bin\Debug\ChatApp.Domain.pdb 14 | D:\Manoj\Sample_Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.dll 15 | D:\Manoj\Sample_Projects\ChatApp\ChatApp.Domain\obj\Debug\ChatApp.Domain.pdb 16 | F:\Projects\chatapp\ChatApp.Domain\bin\Debug\ChatApp.Domain.dll 17 | F:\Projects\chatapp\ChatApp.Domain\bin\Debug\ChatApp.Domain.pdb 18 | F:\Projects\chatapp\ChatApp.Domain\obj\Debug\ChatApp.Domain.csprojAssemblyReference.cache 19 | F:\Projects\chatapp\ChatApp.Domain\obj\Debug\ChatApp.Domain.csproj.CoreCompileInputs.cache 20 | F:\Projects\chatapp\ChatApp.Domain\obj\Debug\ChatApp.Domain.csproj.CopyComplete 21 | F:\Projects\chatapp\ChatApp.Domain\obj\Debug\ChatApp.Domain.dll 22 | F:\Projects\chatapp\ChatApp.Domain\obj\Debug\ChatApp.Domain.pdb 23 | -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/ChatApp.Domain.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/ChatApp.Domain.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/ChatApp.Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/ChatApp.Domain.dll -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/ChatApp.Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/ChatApp.Domain.pdb -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /ChatApp.Domain/obj/Release/build.force: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.Domain/obj/Release/build.force -------------------------------------------------------------------------------- /ChatApp.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatApp.UI", "ChatApp\ChatApp.UI.csproj", "{AAE66658-74D4-4483-9804-17F0288145A4}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatApp.Domain", "ChatApp.Domain\ChatApp.Domain.csproj", "{5F99B68D-8B21-4FAA-91E1-0D9A3C96D391}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {AAE66658-74D4-4483-9804-17F0288145A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {AAE66658-74D4-4483-9804-17F0288145A4}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {AAE66658-74D4-4483-9804-17F0288145A4}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {AAE66658-74D4-4483-9804-17F0288145A4}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {5F99B68D-8B21-4FAA-91E1-0D9A3C96D391}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {5F99B68D-8B21-4FAA-91E1-0D9A3C96D391}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {5F99B68D-8B21-4FAA-91E1-0D9A3C96D391}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {5F99B68D-8B21-4FAA-91E1-0D9A3C96D391}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /ChatApp.v12.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp.v12.suo -------------------------------------------------------------------------------- /ChatApp/App_Start/FilterConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Mvc; 3 | 4 | namespace ChatApp 5 | { 6 | public class FilterConfig 7 | { 8 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 9 | { 10 | filters.Add(new HandleErrorAttribute()); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /ChatApp/App_Start/RouteConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | namespace ChatApp 9 | { 10 | public class RouteConfig 11 | { 12 | public static void RegisterRoutes(RouteCollection routes) 13 | { 14 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 15 | 16 | routes.MapRoute( 17 | name: "Default", 18 | url: "{controller}/{action}/{id}", 19 | defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional } 20 | ); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /ChatApp/App_Start/WebApiConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web.Http; 5 | 6 | namespace ChatApp 7 | { 8 | public static class WebApiConfig 9 | { 10 | public static void Register(HttpConfiguration config) 11 | { 12 | config.Routes.MapHttpRoute( 13 | name: "DefaultApi", 14 | routeTemplate: "api/{controller}/{id}", 15 | defaults: new { id = RouteParameter.Optional } 16 | ); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ChatApp/ChatApp.UI.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ShowAllFiles 5 | ChatApp 6 | Debug|Any CPU 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | SpecificPage 15 | True 16 | False 17 | False 18 | False 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | True 28 | True 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ChatApp/Common/CommonFunctions.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Concrete; 2 | using ChatApp.Domain.Entity; 3 | using ChatApp.Models; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Web; 8 | 9 | namespace ChatApp 10 | { 11 | public static class CommonFunctions 12 | { 13 | public static string GetProfilePicture(string profilePicture, string gender) 14 | { 15 | string profilePicturePath = ""; 16 | if (string.IsNullOrEmpty(profilePicture)) 17 | { 18 | if (gender == "Female") 19 | { 20 | profilePicturePath = "/Content/Images/female-default-pic.jpg"; 21 | } 22 | else 23 | { 24 | profilePicturePath = "/Content/Images/male-default-pic.jpg"; 25 | } 26 | } 27 | else 28 | { 29 | profilePicturePath = profilePicture; 30 | } 31 | return profilePicturePath; 32 | } 33 | public static UserModel GetUserModel(int id, User objentity = null, string friendRequestStatus = "", bool isRequestReceived = false) 34 | { 35 | var user = new User(); 36 | if (objentity != null) 37 | { 38 | user = objentity; 39 | } 40 | else 41 | { 42 | EFUserRepository _UserRepo = new EFUserRepository(); 43 | user = _UserRepo.GetUserById(id); 44 | } 45 | UserModel objmodel = new UserModel(); 46 | if (user != null) 47 | { 48 | objmodel.IsRequestReceived = isRequestReceived; 49 | objmodel.FriendRequestStatus = friendRequestStatus; 50 | objmodel.UserID = user.UserID; 51 | objmodel.Name = user.Name; 52 | objmodel.ProfilePicture = CommonFunctions.GetProfilePicture(user.ProfilePicture, user.Gender); 53 | objmodel.Gender = user.Gender; 54 | objmodel.DOB = user.DOB.ToShortDateString(); 55 | if (user.DOB != null) 56 | { 57 | objmodel.Age = Convert.ToString(Math.Floor(DateTime.Now.Subtract(Convert.ToDateTime(user.DOB)).TotalDays / 365.0)) + " Years"; 58 | } 59 | else 60 | { 61 | objmodel.Age = "NaN"; 62 | } 63 | objmodel.Bio = user.Bio; 64 | } 65 | return objmodel; 66 | } 67 | public static MessageModel GetMessageModel(ChatMessage objentity) 68 | { 69 | MessageModel objmodel = new MessageModel(); 70 | objmodel.ChatMessageID = objentity.ChatMessageID; 71 | objmodel.FromUserID = objentity.FromUserID; 72 | objmodel.ToUserID = objentity.ToUserID; 73 | objmodel.Message = objentity.Message; 74 | objmodel.Status = objentity.Status; 75 | objmodel.CreatedOn =Convert.ToString(objentity.CreatedOn); 76 | objmodel.UpdatedOn = Convert.ToString(objentity.UpdatedOn); 77 | objmodel.ViewedOn = Convert.ToString(objentity.ViewedOn); 78 | objmodel.IsActive = objentity.IsActive; 79 | return objmodel; 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /ChatApp/Common/MySession.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.SessionState; 6 | 7 | namespace ChatApp.Common 8 | { 9 | public class MySession : IReadOnlySessionState 10 | { 11 | private MySession() 12 | { 13 | UserID = 0; 14 | Name = ""; 15 | ProfilePicture = ""; 16 | Gender = ""; 17 | } 18 | 19 | // Gets the current session. 20 | public static MySession Current 21 | { 22 | get 23 | { 24 | MySession session = 25 | (MySession)HttpContext.Current.Session["__MySession__"]; 26 | if (session == null) 27 | { 28 | session = new MySession(); 29 | HttpContext.Current.Session["__MySession__"] = session; 30 | } 31 | return session; 32 | } 33 | } 34 | 35 | // **** add your session properties here, e.g like this: 36 | public int UserID { get; set; } 37 | public string Name { get; set; } 38 | public string ProfilePicture { get; set; } 39 | public string Gender { get; set; } 40 | } 41 | } -------------------------------------------------------------------------------- /ChatApp/Common/Startup.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Owin; 2 | using Owin; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Web; 7 | 8 | [assembly: OwinStartup(typeof(ChatApp.Common.Startup))] 9 | namespace ChatApp.Common 10 | { 11 | public class Startup 12 | { 13 | public void Configuration(IAppBuilder app) 14 | { 15 | app.MapSignalR(); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /ChatApp/Content/css/bootstrapValidator.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @version v0.5.3, built on 2014-11-05 9:14:18 PM 6 | * @author https://twitter.com/nghuuphuoc 7 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 8 | * @license Commercial: http://bootstrapvalidator.com/license/ 9 | * Non-commercial: http://creativecommons.org/licenses/by-nc-nd/3.0/ 10 | */ 11 | 12 | .bv-form .help-block{margin-bottom:0}.bv-form .tooltip-inner{text-align:left}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442}.bv-form .bv-icon-no-label{top:0}.bv-form .bv-icon-input-group{top:0;z-index:100} -------------------------------------------------------------------------------- /ChatApp/Content/css/common.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Verdana !important; 3 | } 4 | 5 | .left-chat-panel { 6 | height: 250px !important; 7 | overflow-y: scroll !important; 8 | } 9 | 10 | .left-chat-panel-bottom { 11 | height: 163px !important; 12 | overflow-y: scroll !important; 13 | } 14 | 15 | .right-chat-panel { 16 | height: 420px !important; 17 | overflow-y: scroll !important; 18 | } 19 | 20 | .profilePictureCircle { 21 | border-radius: 50%; 22 | height: 35px; 23 | width: 35px; 24 | } 25 | 26 | .profilePicture { 27 | height: 200px; 28 | margin-top: -110px; 29 | width: 200px; 30 | } 31 | 32 | a:hover, a:visited, a:link, a:active { 33 | text-decoration: none; 34 | } 35 | 36 | .new-notificaion-window { 37 | bottom: 5px; 38 | position: fixed; 39 | right: 5px; 40 | width: 20%; 41 | } 42 | 43 | .online-circle { 44 | color: #5cb85c; 45 | margin-top: 10px; 46 | } 47 | 48 | .offline-circle { 49 | margin-top: 10px; 50 | color: #2B3E50; 51 | } 52 | 53 | .online-user-profile-pic { 54 | border: 2px solid #5cb85c; 55 | } 56 | 57 | .badge-important { 58 | background-color: #fe1010 !important; 59 | color: white !important; 60 | margin-top: -15px; 61 | } 62 | 63 | 64 | ul.chat { 65 | padding-left: 0; 66 | } 67 | 68 | ul.chat .from { 69 | color: #c6cbd3; 70 | font-size: 11px; 71 | font-style: italic; 72 | } 73 | 74 | ul.chat .time { 75 | color: #c6cbd3; 76 | font-size: 11px; 77 | font-style: italic; 78 | } 79 | 80 | ul.chat li { 81 | font-size: 13px; 82 | list-style: outside none none; 83 | margin: 10px auto; 84 | padding: 5px 0; 85 | } 86 | 87 | ul.chat li.right img.avatar { 88 | float: right; 89 | margin-left: 10px; 90 | } 91 | 92 | ul.chat li.left img.avatar { 93 | float: left; 94 | margin-right: 10px; 95 | } 96 | 97 | ul.chat li img.avatar { 98 | border: 1px solid #ebebeb; 99 | height: 50px; 100 | padding: 1px; 101 | width: 50px; 102 | } 103 | 104 | 105 | ul.chat li.right .message { 106 | margin-right: 65px; 107 | margin-left: 65px; 108 | min-height: 45px; 109 | text-align: right; 110 | padding-right: 15px; 111 | } 112 | 113 | ul.chat li.left .message { 114 | margin-left: 65px; 115 | margin-right: 65px; 116 | min-height: 45px; 117 | text-align: left; 118 | padding-left: 15px; 119 | } 120 | 121 | ul.chat li .message { 122 | /*border: 1px solid #ddd;*/ 123 | border-radius: 4px; 124 | /*box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05), 0 -1px 1px rgba(0, 0, 0, 0.05) inset;*/ 125 | display: block; 126 | padding: 5px; 127 | position: relative; 128 | background: #485563; 129 | } 130 | 131 | ul.chat li.right .message .arrow { 132 | /*background: rgba(0, 0, 0, 0) url("/content/images/chat-right.png") no-repeat scroll 0 0; 133 | display: block; 134 | height: 10px; 135 | position: absolute; 136 | right: -10px; 137 | top: 5px; 138 | width: 10px;*/ 139 | } 140 | 141 | ul.chat li.left .message .arrow { 142 | /*background: rgba(0, 0, 0, 0) url("/content/images/chat-left.png") no-repeat scroll 0 0; 143 | display: block; 144 | height: 10px; 145 | left: -10px; 146 | position: absolute; 147 | top: 5px; 148 | width: 10px;*/ 149 | } 150 | 151 | ul.chat li.right .message { 152 | text-align: right; 153 | } 154 | 155 | ul.chat li.left .message { 156 | text-align: left; 157 | } 158 | 159 | .chat-user-status { 160 | font-style: italic; 161 | font-size: 12px; 162 | min-height: 15px; 163 | margin-left: 10px; 164 | } 165 | 166 | .user-bio p { 167 | font-size: 16px !important; 168 | min-height: 146px; 169 | } 170 | 171 | .custom-badge { 172 | background-color: #2B3E50; 173 | border-radius: 10px; 174 | color: #ebebeb; 175 | display: inline-block; 176 | font-size: 12px; 177 | font-weight: 300; 178 | line-height: 1; 179 | min-width: 10px; 180 | padding: 3px 7px; 181 | text-align: center; 182 | vertical-align: middle; 183 | white-space: nowrap; 184 | float: right; 185 | margin-top: 10px; 186 | } 187 | 188 | .hide { 189 | display: none; 190 | } 191 | 192 | .chat-message-status { 193 | color: #c6cbd3; 194 | font-size: 11px; 195 | font-style: italic; 196 | float: left; 197 | } 198 | 199 | .chat-user-online-status { 200 | margin-right: 5px; 201 | margin-top: 0 !important; 202 | } 203 | 204 | div.show-image { 205 | float: left; 206 | position: relative; 207 | } 208 | 209 | div.show-image:hover .img-corner { 210 | display: block; 211 | } 212 | 213 | div.show-image .img-corner { 214 | display: none; 215 | position: absolute; 216 | right: 0; 217 | bottom: 0; 218 | } 219 | 220 | div.show-image .img-uploading { 221 | display: none; 222 | position: absolute; 223 | left: 0; 224 | bottom: 0; 225 | } 226 | 227 | a.normal-link { 228 | color: white !important; 229 | } 230 | 231 | .friends-panel { 232 | height: 475px !important; 233 | overflow-y: scroll !important; 234 | } 235 | /* Let's get this party started */ 236 | ::-webkit-scrollbar { 237 | width: 2px; 238 | } 239 | 240 | /* Track */ 241 | ::-webkit-scrollbar-track { 242 | -webkit-box-shadow: inset 0 0 6px white; 243 | -webkit-border-radius: 10px; 244 | border-radius: 10px; 245 | } 246 | 247 | /* Handle */ 248 | ::-webkit-scrollbar-thumb { 249 | -webkit-border-radius: 10px; 250 | border-radius: 10px; 251 | background: gray; 252 | -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 253 | } 254 | ::-webkit-scrollbar-thumb:window-inactive { 255 | background: white; 256 | } -------------------------------------------------------------------------------- /ChatApp/Content/css/custom.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px}body>.navbar{-webkit-transition:background-color .3s ease-in;transition:background-color .3s ease-in}@media (min-width:768px){body>.navbar-transparent{background-color:transparent}body>.navbar-transparent .navbar-nav>.open>a{background-color:transparent!important}}#home{padding-top:0}#home .navbar-brand{padding:13.5px 15px 12.5px}#home .navbar-brand>img{display:inline;margin:0 10px;height:100%}#banner{min-height:300px;border-bottom:none}.table-of-contents{margin-top:1em}.page-header h1{font-size:4em}.bs-docs-section{margin-top:6em}.bs-docs-section h1{padding-top:100px}.bs-component{position:relative}.bs-component .modal{position:relative;top:auto;right:auto;left:auto;bottom:auto;z-index:1;display:block}.bs-component .modal-dialog{width:90%}.bs-component .popover{position:relative;display:inline-block;width:220px;margin:20px}#source-button{position:absolute;top:0;right:0;z-index:100;font-weight:700}.nav-tabs{margin-bottom:15px}.progress{margin-bottom:10px}footer{margin:5em 0}footer li{float:left;margin-right:1.5em;margin-bottom:1.5em}footer p{clear:left;margin-bottom:0}.splash{padding:9em 0 2em;background-color:#141d27;background-image:url(../img/bg.jpg);background-size:cover;background-attachment:fixed;color:#fff;text-align:center}.splash .logo{width:160px}.splash h1{font-size:3em}.splash #social{margin:2em 0}.splash .alert{margin:2em 0}.section-tout{padding:4em 0 3em;border-bottom:1px solid rgba(0,0,0,.05);background-color:#eaf1f1}.section-tout .fa{margin-right:.5em}.section-tout p{margin-bottom:3em}.section-preview{padding:4em 0 4em}.section-preview .preview{margin-bottom:4em;background-color:#eaf1f1}.section-preview .preview .image{position:relative}.section-preview .preview .image:before{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);position:absolute;top:0;left:0;width:100%;height:100%;content:"";pointer-events:none}.section-preview .preview .options{padding:1em 2em 2em;border:1px solid rgba(0,0,0,.05);border-top:none;text-align:center}.section-preview .preview .options p{margin-bottom:2em}.section-preview .dropdown-menu{text-align:left}.section-preview .lead{margin-bottom:2em}@media (max-width:767px){.section-preview .image img{width:100%}}.sponsor #carbonads{max-width:240px;margin:0 auto}.sponsor .carbon-text{display:block;margin-top:1em;font-size:12px}.sponsor .carbon-poweredby{float:right;margin-top:1em;font-size:10px}@media (max-width:767px){.splash{padding-top:4em}.splash .logo{width:100px}.splash h1{font-size:2em}#banner{margin-bottom:2em;text-align:center}} -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/1001011915_Games-Latest-HD-Action-Wallpapers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/1001011915_Games-Latest-HD-Action-Wallpapers.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/1144449121_Captain-America-Civil-War-wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/1144449121_Captain-America-Civil-War-wallpaper.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/1304874580_Captain-America-Civil-War-wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/1304874580_Captain-America-Civil-War-wallpaper.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/1424297394_Captain-America-Civil-War-wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/1424297394_Captain-America-Civil-War-wallpaper.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/1536668302_Games-Latest-HD-Action-Wallpapers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/1536668302_Games-Latest-HD-Action-Wallpapers.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/1937329699_Batman-V-Superman-Wallpaper-Wide-QIS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/1937329699_Batman-V-Superman-Wallpaper-Wide-QIS.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/330138430_Games-Latest-HD-Action-Wallpapers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/330138430_Games-Latest-HD-Action-Wallpapers.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/374921282_Batman-V-Superman-Wallpaper-Wide-QIS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/374921282_Batman-V-Superman-Wallpaper-Wide-QIS.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/632307911_captain-america-civil-war-Wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/632307911_captain-america-civil-war-Wallpaper.png -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/721734734_Captain-America-Civil-War-wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/721734734_Captain-America-Civil-War-wallpaper.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/821727613_Kylo-ren-in-Star-Wars-Hollywood-Action-Movies-HD-Wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/821727613_Kylo-ren-in-Star-Wars-Hollywood-Action-Movies-HD-Wallpaper.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/948683366_captain-america-civil-war-Wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/948683366_captain-america-civil-war-Wallpaper.png -------------------------------------------------------------------------------- /ChatApp/Content/images/ProfilePictures/988569343_Games-Latest-HD-Action-Wallpapers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/ProfilePictures/988569343_Games-Latest-HD-Action-Wallpapers.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/chat-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/chat-left.png -------------------------------------------------------------------------------- /ChatApp/Content/images/chat-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/chat-right.png -------------------------------------------------------------------------------- /ChatApp/Content/images/female-default-pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/female-default-pic.jpg -------------------------------------------------------------------------------- /ChatApp/Content/images/male-default-pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/Content/images/male-default-pic.jpg -------------------------------------------------------------------------------- /ChatApp/Controllers/AccountController.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Common; 2 | using ChatApp.Domain.Abstract; 3 | using ChatApp.Models; 4 | using System; 5 | using System.Web.Mvc; 6 | 7 | namespace ChatApp.Controllers 8 | { 9 | public class AccountController : Controller 10 | { 11 | private IUser _UserRepo; 12 | public AccountController(IUser UserRepo) 13 | { 14 | this._UserRepo = UserRepo; 15 | } 16 | [HttpGet] 17 | public ActionResult Login() 18 | { 19 | if (MySession.Current.UserID > 0) 20 | { 21 | return RedirectToAction("Chat", "User"); 22 | } 23 | UserModel objmodel = new UserModel(); 24 | return View(objmodel); 25 | } 26 | [HttpPost] 27 | public ActionResult Login(UserModel objmodel) 28 | { 29 | if (objmodel.FormType == "Login") 30 | { 31 | return CreateLogin(objmodel); 32 | } 33 | else 34 | { 35 | ChatApp.Domain.Entity.User objentity = new Domain.Entity.User(); 36 | objentity.CreatedOn = System.DateTime.Now; 37 | objentity.IsActive = true; 38 | objentity.Name = objmodel.Name; 39 | objentity.Password = objmodel.Password1; 40 | objentity.UpdatedOn = System.DateTime.Now; 41 | objentity.UserName = objmodel.UserName1; 42 | objentity.DOB = Convert.ToDateTime(objmodel.DOB); 43 | objentity.Gender = objmodel.Gender; 44 | var result = _UserRepo.SaveUser(objentity); 45 | if (!string.IsNullOrEmpty(result.Item2)) 46 | { 47 | objmodel.Error = result.Item2; 48 | TempData["ReturnFrom"] = "SignUp"; 49 | return View("Login", objmodel); 50 | } 51 | objmodel.UserName = objmodel.UserName1; 52 | objmodel.Password = objmodel.Password1; 53 | return CreateLogin(objmodel); 54 | } 55 | } 56 | public ActionResult CreateLogin(UserModel objmodel) 57 | { 58 | var result = _UserRepo.CheckLogin(objmodel.UserName, objmodel.Password); 59 | if (result != null) 60 | { 61 | MySession.Current.UserID = result.UserID; 62 | MySession.Current.Name = result.Name; 63 | MySession.Current.ProfilePicture = CommonFunctions.GetProfilePicture(result.ProfilePicture, result.Gender); ; 64 | return RedirectToAction("Chat", "User"); 65 | } 66 | else 67 | { 68 | TempData["ReturnFrom"] = "Login"; 69 | objmodel.LoginError = "Login credentials is not valid. Please try again."; 70 | return View("Login", objmodel); 71 | } 72 | } 73 | public ActionResult Logout() 74 | { 75 | Session.Abandon(); 76 | Session.Clear(); 77 | return RedirectToAction("Login"); 78 | } 79 | 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /ChatApp/Controllers/BaseController.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Common; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Web; 6 | using System.Web.Mvc; 7 | 8 | namespace ChatApp.Controllers 9 | { 10 | public class BaseController : Controller 11 | { 12 | protected override void OnActionExecuting(ActionExecutingContext filterContext) 13 | { 14 | if (MySession.Current.UserID == 0) 15 | filterContext.Result = new RedirectResult(Url.Action("Login", "Account")); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ChatApp/Controllers/ChatController.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Common; 2 | using ChatApp.Domain.Abstract; 3 | using ChatApp.Models; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Web; 8 | using System.Web.Mvc; 9 | 10 | namespace ChatApp.Controllers 11 | { 12 | public class ChatController : Controller 13 | { 14 | private IUser _UserRepo; 15 | private IMessage _MessageRepo; 16 | public ChatController(IUser UserRepo, IMessage MessageRepo) 17 | { 18 | this._UserRepo = UserRepo; 19 | this._MessageRepo = MessageRepo; 20 | } 21 | public ActionResult _Messages(int Id) 22 | { 23 | var userModel = CommonFunctions.GetUserModel(Id); 24 | var messages = _MessageRepo.GetChatMessagesByUserID(MySession.Current.UserID, Id); 25 | var objmodel = new ChatMessageModel(); 26 | objmodel.UserDetail = userModel; 27 | objmodel.ChatMessages = messages.Messages.Select(m => CommonFunctions.GetMessageModel(m)).ToList(); 28 | objmodel.LastChatMessageId = messages.LastChatMessageId; 29 | var onlineStatus = _UserRepo.GetUserOnlineStatus(Id); 30 | if (onlineStatus != null) 31 | { 32 | objmodel.IsOnline = onlineStatus.IsOnline; 33 | objmodel.LastSeen = Convert.ToString(onlineStatus.LastUpdationTime); 34 | } 35 | return View(objmodel); 36 | } 37 | public ActionResult GetRecentMessages(int Id, int lastChatMessageId) 38 | { 39 | var messages = _MessageRepo.GetChatMessagesByUserID(MySession.Current.UserID, Id, lastChatMessageId); 40 | var objmodel = new ChatMessageModel(); 41 | objmodel.ChatMessages = messages.Messages.Select(m => CommonFunctions.GetMessageModel(m)).ToList(); 42 | objmodel.LastChatMessageId = messages.LastChatMessageId; 43 | return Json(objmodel, JsonRequestBehavior.AllowGet); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /ChatApp/Controllers/UserController.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Common; 2 | using ChatApp.Domain.Abstract; 3 | using ChatApp.Domain.Entity; 4 | using ChatApp.Models; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Web; 9 | using System.Web.Mvc; 10 | 11 | namespace ChatApp.Controllers 12 | { 13 | public class UserController : BaseController 14 | { 15 | private IUser _UserRepo; 16 | public UserController(IUser UserRepo) 17 | { 18 | this._UserRepo = UserRepo; 19 | } 20 | public ActionResult Chat() 21 | { 22 | return View(); 23 | } 24 | [HttpPost] 25 | public ActionResult getusers() 26 | { 27 | 28 | return Json(true, JsonRequestBehavior.AllowGet); 29 | } 30 | public ActionResult Profile(int Id = 0) 31 | { 32 | if (Id == 0) 33 | { 34 | Id = MySession.Current.UserID; 35 | } 36 | var objmodel = CommonFunctions.GetUserModel(Id); 37 | if (Id != MySession.Current.UserID) 38 | { 39 | var friendInfo = _UserRepo.GetFriendRequestStatus(Id); 40 | if (friendInfo != null) 41 | { 42 | objmodel.FriendRequestStatus = friendInfo.RequestStatus; 43 | objmodel.FriendEndUserID = friendInfo.EndUserID; 44 | objmodel.FriendRequestorID = friendInfo.RequestorUserID; 45 | objmodel.FriendMappingID = friendInfo.FriendMappingID; 46 | } 47 | } 48 | return View(objmodel); 49 | } 50 | [HttpGet] 51 | public ActionResult EditProfile() 52 | { 53 | var objmodel = CommonFunctions.GetUserModel(MySession.Current.UserID); 54 | return View(objmodel); 55 | } 56 | [HttpPost] 57 | public ActionResult EditProfile(UserModel objmodel) 58 | { 59 | var objentity = _UserRepo.GetUserById(MySession.Current.UserID); 60 | objentity.Name = objmodel.Name; 61 | objentity.Gender = objmodel.Gender; 62 | objentity.DOB = Convert.ToDateTime(objmodel.DOB); 63 | objentity.Bio = objmodel.Bio; 64 | objentity.UpdatedOn = System.DateTime.Now; 65 | var result = _UserRepo.SaveUser(objentity); 66 | return RedirectToAction("Profile"); 67 | } 68 | 69 | public ActionResult _UserSearchResult(string name) 70 | { 71 | var userList = _UserRepo.SearchUsers(name, MySession.Current.UserID); 72 | var objmodel = userList.Select(m => CommonFunctions.GetUserModel(m.UserInfo.UserID, m.UserInfo, m.FriendRequestStatus, m.IsRequestReceived)).ToList(); 73 | return PartialView(objmodel); 74 | } 75 | public ActionResult _OnlineFriends() 76 | { 77 | var onlineFriends = _UserRepo.GetOnlineFriends(MySession.Current.UserID); 78 | var objmodel = onlineFriends.Select(m => new UserModel() 79 | { 80 | UserID = m.UserID, 81 | Name = m.Name, 82 | ProfilePicture = CommonFunctions.GetProfilePicture(m.ProfilePicture, m.Gender) 83 | }).ToList(); 84 | return PartialView(objmodel); 85 | } 86 | public ActionResult _UserNotifications() 87 | { 88 | var notifications = _UserRepo.GetUserNotifications(MySession.Current.UserID); 89 | var objmodel = notifications.Select(m => new UserNotificationModel() 90 | { 91 | NotificationID = m.NotificationID, 92 | NotificationType = m.NotificationType, 93 | User = CommonFunctions.GetUserModel(0, m.User), 94 | NotificationStatus = m.NotificationStatus, 95 | CreatedOn = m.CreatedOn, 96 | TotalNotifications = m.TotalNotifications 97 | }).ToList(); 98 | return PartialView(objmodel); 99 | } 100 | public ActionResult _RecentChats() 101 | { 102 | var recentChats = _UserRepo.GetRecentChats(MySession.Current.UserID); 103 | var objmodel = recentChats.Select(m => new UserModel() 104 | { 105 | UserID = m.UserID, 106 | Name = m.Name, 107 | ProfilePicture = CommonFunctions.GetProfilePicture(m.ProfilePicture, m.Gender), 108 | IsOnline = m.IsOnline, 109 | UnReadMessages = m.UnReadMessageCount > 0 ? Convert.ToString(m.UnReadMessageCount) : "" 110 | }).ToList(); 111 | return PartialView(objmodel); 112 | } 113 | [HttpPost] 114 | public ActionResult UpdateProfilePicture(HttpPostedFileBase profilePicture, int userID) 115 | { 116 | try 117 | { 118 | string filePath = string.Empty; 119 | if (profilePicture != null) 120 | { 121 | string folderpath = Server.MapPath("~/") + "Content/Images"; 122 | if (!System.IO.Directory.Exists(folderpath)) 123 | { 124 | System.IO.Directory.CreateDirectory(folderpath); 125 | } 126 | string path = Server.MapPath("~/Content/Images/ProfilePictures"); 127 | if (!System.IO.Directory.Exists(path)) 128 | { 129 | System.IO.Directory.CreateDirectory(path); 130 | } 131 | Random r = new Random(); 132 | int randomNo = r.Next(); 133 | filePath = "/Content/Images/ProfilePictures/" + randomNo + "_" + profilePicture.FileName; 134 | profilePicture.SaveAs(Server.MapPath("~/Content/Images/ProfilePictures/" + randomNo + "_" + profilePicture.FileName)); 135 | _UserRepo.UpdateUserProfilePicture(userID, filePath); 136 | MySession.Current.ProfilePicture = filePath; 137 | return Json(new { success = true, filePath = filePath }, JsonRequestBehavior.AllowGet); 138 | } 139 | return Json(new { success = false, filePath = "" }, JsonRequestBehavior.AllowGet); 140 | } 141 | catch (Exception ex) 142 | { 143 | return Json(new { success = false, filePath = "" }, JsonRequestBehavior.AllowGet); 144 | } 145 | } 146 | public ActionResult Friends() 147 | { 148 | var friendUsers = _UserRepo.GetFriends(MySession.Current.UserID); 149 | var objmodel = friendUsers.Select(m => new UserModel() 150 | { 151 | UserID = m.UserID, 152 | Name = m.Name, 153 | ProfilePicture = CommonFunctions.GetProfilePicture(m.ProfilePicture, m.Gender), 154 | IsOnline = m.IsOnline, 155 | }).ToList(); 156 | return View(objmodel); 157 | } 158 | } 159 | } -------------------------------------------------------------------------------- /ChatApp/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="ChatApp.MvcApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /ChatApp/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Concrete; 2 | using ChatApp.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Web; 7 | using System.Web.Http; 8 | using System.Web.Mvc; 9 | using System.Web.Routing; 10 | 11 | namespace ChatApp 12 | { 13 | // Note: For instructions on enabling IIS6 or IIS7 classic mode, 14 | // visit http://go.microsoft.com/?LinkId=9394801 15 | public class MvcApplication : System.Web.HttpApplication 16 | { 17 | protected void Application_Start() 18 | { 19 | AreaRegistration.RegisterAllAreas(); 20 | 21 | WebApiConfig.Register(GlobalConfiguration.Configuration); 22 | FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 23 | RouteConfig.RegisterRoutes(RouteTable.Routes); 24 | ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory()); 25 | //System.Data.Entity.Database.SetInitializer(null); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /ChatApp/Infrastructure/NinjectControllerFactory.cs: -------------------------------------------------------------------------------- 1 | using ChatApp.Domain.Abstract; 2 | using ChatApp.Domain.Concrete; 3 | using ChatApp.Domain.Entity; 4 | using Ninject; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Web; 9 | using System.Web.Mvc; 10 | using System.Web.Routing; 11 | 12 | namespace ChatApp.Infrastructure 13 | { 14 | public class NinjectControllerFactory : DefaultControllerFactory 15 | { 16 | private IKernel ninjectKernel; 17 | public NinjectControllerFactory() 18 | { 19 | ninjectKernel = new StandardKernel(); 20 | AddBindgs(); 21 | } 22 | protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) 23 | { 24 | return controllerType == null ? null : (IController)ninjectKernel.Get(controllerType); 25 | } 26 | private void AddBindgs() 27 | { 28 | ninjectKernel.Bind().To(); 29 | ninjectKernel.Bind().To(); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /ChatApp/Models/ChatMessageModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Web; 6 | 7 | namespace ChatApp.Models 8 | { 9 | public class ChatMessageModel 10 | { 11 | public UserModel UserDetail { get; set; } 12 | public List ChatMessages { get; set; } 13 | public bool IsOnline { get; set; } 14 | public string LastSeen { get; set; } 15 | public int LastChatMessageId { get; set; } 16 | } 17 | public class MessageModel 18 | { 19 | public int ChatMessageID { get; set; } 20 | public int FromUserID { get; set; } 21 | public string FromUserName { get; set; } 22 | public int ToUserID { get; set; } 23 | public string ToUserName { get; set; } 24 | public string Message { get; set; } 25 | public string Status { get; set; } 26 | public string CreatedOn { get; set; } 27 | public string UpdatedOn { get; set; } 28 | public string ReceivedOn { get; set; } 29 | public string ViewedOn { get; set; } 30 | public bool IsActive { get; set; } 31 | } 32 | public class MesageBlockModel 33 | { 34 | public string MessageAlign { get; set; } 35 | public string Name { get; set; } 36 | public string ProfilePicture { get; set; } 37 | public string Message { get; set; } 38 | public string Status { get; set; } 39 | public DateTime CreatedOn { get; set; } 40 | } 41 | } -------------------------------------------------------------------------------- /ChatApp/Models/UserModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Web; 6 | 7 | namespace ChatApp.Models 8 | { 9 | public class UserModel 10 | { 11 | public int UserID { get; set; } 12 | public string Name { get; set; } 13 | public string Email { get; set; } 14 | public string UserName { get; set; } 15 | [DataType(DataType.Password)] 16 | public string Password { get; set; } 17 | public string UserName1 { get; set; } 18 | [DataType(DataType.Password)] 19 | public string Password1 { get; set; } 20 | [DataType(DataType.Password)] 21 | public string ConfirmPassword { get; set; } 22 | public DateTime CreatedOn { get; set; } 23 | public DateTime UpdatedOn { get; set; } 24 | public bool IsActive { get; set; } 25 | public string Error { get; set; } 26 | public string LoginError { get; set; } 27 | public string FormType { get; set; } 28 | public string ProfilePicture { get; set; } 29 | public string Gender { get; set; } 30 | public string DOB { get; set; } 31 | public string Bio { get; set; } 32 | public string Age { get; set; } 33 | public string FriendRequestStatus { get; set; } 34 | public int FriendRequestorID { get; set; } 35 | public int FriendEndUserID { get; set; } 36 | public bool IsRequestReceived { get; set; } 37 | public int FriendMappingID { get; set; } 38 | public bool IsOnline { get; set; } 39 | public string UnReadMessages { get; set; } 40 | } 41 | } -------------------------------------------------------------------------------- /ChatApp/Models/UserNotificationModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace ChatApp.Models 7 | { 8 | public class UserNotificationModel 9 | { 10 | public string NotificationType { get; set; } 11 | public int NotificationID { get; set; } 12 | public UserModel User { get; set; } 13 | public DateTime CreatedOn { get; set; } 14 | public string NotificationStatus { get; set; } 15 | public int TotalNotifications { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /ChatApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ChatApp")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChatApp")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6a0df873-ac48-4441-84dc-50c17105dc9a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /ChatApp/Properties/PublishProfiles/ChatApp.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | FileSystem 9 | Release 10 | Any CPU 11 | 12 | True 13 | False 14 | D:\Manoj\Published Projects\ChatApp 15 | False 16 | 17 | -------------------------------------------------------------------------------- /ChatApp/Properties/PublishProfiles/ChatApp.pubxml.user: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ChatApp/Scripts/common.js: -------------------------------------------------------------------------------- 1 | function validateForm(form) { 2 | $(form).bootstrapValidator({ 3 | container: function ($field, validator) { 4 | //return $field.parent().next('.messageContainer'); 5 | return $('body').find('label[data-required-message-for="' + $field.attr('name') + '"]'); 6 | }, 7 | feedbackIcons: { 8 | valid: 'fa fa-check', 9 | invalid: 'fa fa-close', 10 | validating: 'fa fa-refresh' 11 | }, 12 | }); 13 | } -------------------------------------------------------------------------------- /ChatApp/Scripts/jquery.validate.unobtrusive.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | ** Unobtrusive validation support library for jQuery and jQuery Validate 3 | ** Copyright (C) Microsoft Corporation. All rights reserved. 4 | */ 5 | (function(a){var d=a.validator,b,f="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function i(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function g(a){return a.substr(0,a.lastIndexOf(".")+1)}function e(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function l(c,d){var b=a(this).find("[data-valmsg-for='"+d[0].name+"']"),e=a.parseJSON(b.attr("data-valmsg-replace"))!==false;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(e){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function k(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("
  • ").html(this.message).appendTo(b)})}}function j(c){var b=c.data("unobtrusiveContainer"),d=a.parseJSON(b.attr("data-valmsg-replace"));if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");c.removeData("unobtrusiveContainer");d&&b.empty()}}function h(d){var b=a(d),c=b.data(f);if(!c){c={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:a.proxy(l,d),invalidHandler:a.proxy(k,d),messages:{},rules:{},success:a.proxy(j,d)},attachValidation:function(){b.validate(this.options)},validate:function(){b.validate();return b.valid()}};b.data(f,c)}return c}d.unobtrusive={adapters:[],parseElement:function(b,i){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=h(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});jQuery.extend(e,{__dummy__:true});!i&&c.attachValidation()},parse:function(b){a(b).find(":input[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});a("form").each(function(){var a=h(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});b.addSingleVal("accept","exts").addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.add("equalto",["other"],function(b){var h=g(b.element.name),i=b.params.other,d=e(i,h),f=a(b.form).find(":input[name="+d+"]")[0];c(b,"equalTo",f)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},f=g(b.element.name);a.each(i(b.params.additionalfields||b.element.name),function(h,g){var c=e(g,f);d.data[c]=function(){return a(b.form).find(":input[name='"+c+"']").val()}});c(b,"remote",d)});a(function(){d.unobtrusive.parse(document)})})(jQuery); -------------------------------------------------------------------------------- /ChatApp/Views/Account/Login.cshtml: -------------------------------------------------------------------------------- 1 | @model ChatApp.Models.UserModel 2 | @{ 3 | ViewBag.Title = "Login / Register"; 4 | Layout = "~/Views/Shared/_Layout.cshtml"; 5 | } 6 | 11 | 48 | 104 | 126 | @*

    127 | Login 128 |

    129 |
    130 | @Html.AntiForgeryToken() 131 | 132 | @Html.TextBoxFor(m => m.UserName, new { @class = "input input-search", @placeholder = "User Name" }) 133 | 134 | @Html.PasswordFor(m => m.Password, new { @class = "input input-search", @placeholder = "Password" }) 135 | 136 | @Html.DisplayFor(m => m.LoginError, new { }) 137 | 138 | 139 |
    140 |

    141 | Register 142 |

    143 |
    144 | 145 | @Html.TextBoxFor(m => m.Name, new { @class = "input input-search", @placeholder = "Name" }) 146 | 147 | @Html.TextBoxFor(m => m.UserName1, new { @class = "input input-search", @placeholder = "User name" }) 148 | @Html.PasswordFor(m => m.Password1, new { @class = "input input-search", @placeholder = "Password" }) 149 | @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "input input-search", @placeholder = "Confirm Password" }) 150 | @Html.DisplayFor(m => m.Error, new { }) 151 | 152 |
    *@ 153 | -------------------------------------------------------------------------------- /ChatApp/Views/Chat/_Messages.cshtml: -------------------------------------------------------------------------------- 1 | @model ChatApp.Models.ChatMessageModel 2 | @{ 3 | ViewBag.Title = "Messages"; 4 | Layout = null; 5 | } 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 |

    14 | @Model.UserDetail.Name 15 | 16 | @if (Model.IsOnline) 17 | { 18 | Online 19 | } 20 | else 21 | { 22 | Last seen : @Model.LastSeen 23 | } 24 | 25 |

    26 |
    27 |
    28 |
      29 | @foreach (var item in Model.ChatMessages) 30 | { 31 | if (item.FromUserID == MySession.Current.UserID) 32 | { 33 |
    • 34 | @MySession.Current.Name 35 | 36 | 37 | @MySession.Current.Name 38 | @item.CreatedOn 39 | @item.Status 40 |
      41 | 42 | @item.Message 43 | 44 |
      45 |
    • 46 | } 47 | else 48 | { 49 |
    • 50 | @Model.UserDetail.Name 51 | 52 | 53 | @Model.UserDetail.Name 54 | @item.CreatedOn 55 |
      56 | 57 | @item.Message 58 | 59 |
      60 |
    • 61 | } 62 | } 63 |
    64 |
    65 |
    66 |
    67 |
    68 | 69 | 70 | 71 | 72 |
    73 |
    74 |
    75 | -------------------------------------------------------------------------------- /ChatApp/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | 8 | 9 | 10 | @ViewBag.Title 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 39 |
    40 | 43 |
    44 | 45 | 46 | -------------------------------------------------------------------------------- /ChatApp/Views/User/Chat.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Index"; 3 | Layout = "~/Views/Shared/_UserLayout.cshtml"; 4 | } 5 | -------------------------------------------------------------------------------- /ChatApp/Views/User/EditProfile.cshtml: -------------------------------------------------------------------------------- 1 | @model ChatApp.Models.UserModel 2 | @{ 3 | ViewBag.Title = "Edit Profile"; 4 | Layout = "~/Views/Shared/_UserLayout.cshtml"; 5 | } 6 | 7 |
    8 |
    9 | 10 |
    11 | Edit Profile 12 | @if (!string.IsNullOrEmpty(Model.Error)) 13 | { 14 |
    15 | 16 |
    17 |
    18 | 19 | @Model.Error 20 |
    21 |
    22 |
    23 | } 24 |
    25 | 26 |
    27 | @Html.TextBoxFor(m => m.Name, new { @class = "form-control", @placeholder = "Name", @data_bv_notempty = "" }) 28 |
    29 |
    30 |
    31 | 32 |
    33 | @Html.TextBoxFor(m => m.DOB, new { @class = "form-control", @placeholder = "MM/dd/yyyy", @data_bv_notempty = "", @data_bv_date = "", @data_bv_date_format = "MM/DD/YYYY", @data_bv_date_message = "DOB is not valid" }) 34 |
    35 |
    36 |
    37 | 38 |
    39 | @Html.RadioButtonFor(m => m.Gender, "Male", new { @data_bv_notempty = "" }) Male 40 | @Html.RadioButtonFor(m => m.Gender, "Female") Female 41 |
    42 |
    43 |
    44 | 45 |
    46 | @Html.TextAreaFor(m => m.Bio, new { @class = "form-control", @placeholder = "About your self", @data_bv_notempty = "" }) 47 |
    48 |
    49 |
    50 |
    51 | 52 |
    53 |
    54 |
    55 |
    56 |
    -------------------------------------------------------------------------------- /ChatApp/Views/User/Friends.cshtml: -------------------------------------------------------------------------------- 1 | @model List 2 | @{ 3 | ViewBag.Title = "Friends"; 4 | Layout = "~/Views/Shared/_UserLayout.cshtml"; 5 | } 6 | 7 |
    8 |
    9 |

    10 | Friend List 11 |

    12 |
    13 |
    14 |
      15 | @if (Model != null) 16 | { 17 | if (Model.Count > 0) 18 | { 19 | foreach (var item in Model) 20 | { 21 |
    • 22 |    @item.Name 23 |
    • 24 | } 25 | } 26 | else 27 | { 28 |
    • No Friends
    • 29 | } 30 | } 31 | else 32 | { 33 |
    • No Friends
    • 34 | } 35 |
    36 |
    37 |
    -------------------------------------------------------------------------------- /ChatApp/Views/User/_OnlineFriends.cshtml: -------------------------------------------------------------------------------- 1 | @model List 2 | @{ 3 | Layout = null; 4 | } 5 | @if (Model != null) 6 | { 7 | if (Model.Count > 0) 8 | { 9 | foreach (var item in Model) 10 | { 11 | string name = item.Name.IndexOf(" ") > 0 ? item.Name.Substring(0, item.Name.IndexOf(" ")) : item.Name; 12 | 13 |    @name 14 | 15 | } 16 | } 17 | else 18 | { 19 | No one online 20 | } 21 | } -------------------------------------------------------------------------------- /ChatApp/Views/User/_RecentChats.cshtml: -------------------------------------------------------------------------------- 1 | @model List 2 | @{ 3 | Layout = null; 4 | } 5 | @if (Model != null) 6 | { 7 | if (Model.Count > 0) 8 | { 9 | foreach (var item in Model) 10 | { 11 | string name = item.Name.IndexOf(" ") > 0 ? item.Name.Substring(0, item.Name.IndexOf(" ")) : item.Name; 12 | 13 |    @name@item.UnReadMessages 14 | 15 | } 16 | } 17 | else 18 | { 19 | No recent chats 20 | } 21 | } -------------------------------------------------------------------------------- /ChatApp/Views/User/_UserNotifications.cshtml: -------------------------------------------------------------------------------- 1 | @model List 2 | @{ 3 | Layout = null; 4 | int totalNotifications = 0; 5 | } 6 |
    7 | @if (Model != null) 8 | { 9 | if (Model.Count > 0) 10 | { 11 | totalNotifications = Model.Select(m => m.TotalNotifications).FirstOrDefault(); 12 | m.NotificationStatus=="New").Select(m=>m.NotificationID).ToArray()))" /> 13 | foreach (var item in Model) 14 | { 15 |
    16 | 17 | 18 |     19 | @item.User.Name 20 | 21 |
    22 | @if (item.NotificationType == "FriendRequest") 23 | { 24 | 25 | Friend Request    26 | 27 |    28 | 29 | 30 | } 31 | else if (item.NotificationType == "FriendRequestAccepted") 32 | { 33 | 34 | Accepted your request 35 | 36 | } 37 |
    38 |
    39 |
    40 | 41 | } 42 | if (totalNotifications > 3) 43 | { 44 | Show All Notifications 45 | } 46 | } 47 | } 48 |
    49 | 55 | -------------------------------------------------------------------------------- /ChatApp/Views/User/_UserSearchResult.cshtml: -------------------------------------------------------------------------------- 1 | @model List 2 | @{ 3 | Layout = null; 4 | } 5 |
    6 |

    Search Result

    7 |
    8 |
    9 |
      10 | @if (Model != null && Model.Count > 0) 11 | { 12 | foreach (var item in Model) 13 | { 14 |
    • 15 | 16 |     17 | @item.Name 18 | 19 | @if (item.IsRequestReceived) 20 | { 21 | 22 | 23 | 24 | 25 | 26 | } 27 | else if (item.FriendRequestStatus == "Sent") 28 | { 29 | 30 | } 31 | else 32 | { 33 | 34 | } 35 |
    • 36 | } 37 | } 38 | else 39 | { 40 | 41 | No result found... 42 | 43 | } 44 |
    45 |
    46 |
    47 |
    48 | -------------------------------------------------------------------------------- /ChatApp/Views/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
    7 |
    8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 40 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /ChatApp/Web.Debug.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /ChatApp/Web.Release.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /ChatApp/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /ChatApp/bin/ChatApp.Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/ChatApp.Domain.dll -------------------------------------------------------------------------------- /ChatApp/bin/ChatApp.Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/ChatApp.Domain.pdb -------------------------------------------------------------------------------- /ChatApp/bin/ChatApp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/ChatApp.dll -------------------------------------------------------------------------------- /ChatApp/bin/ChatApp.dll.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /ChatApp/bin/ChatApp.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/ChatApp.pdb -------------------------------------------------------------------------------- /ChatApp/bin/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/EntityFramework.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.AspNet.SignalR.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.AspNet.SignalR.Core.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.AspNet.SignalR.SystemWeb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.AspNet.SignalR.SystemWeb.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.AspNet.SignalR.SystemWeb.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.SignalR.SystemWeb 5 | 6 | 7 | 8 | 9 | Returns the for this . 10 | 11 | The request 12 | 13 | 14 | 15 | Maps a with the default dependency resolver to the specified path. 16 | 17 | The route table. 18 | The type of . 19 | The name of the route. 20 | path of the route. 21 | The registered route. 22 | 23 | 24 | 25 | Maps a with the default dependency resolver to the specified path. 26 | 27 | The route table. 28 | The type of . 29 | The name of the route. 30 | path of the route. 31 | Configuration options. 32 | The registered route. 33 | 34 | 35 | 36 | Maps a with the default dependency resolver to the specified path. 37 | 38 | The route table. 39 | The type of . 40 | The name of the route. 41 | path of the route. 42 | Configuration options. 43 | An action to further configure the OWIN pipeline. 44 | The registered route 45 | 46 | 47 | 48 | Maps a with the default dependency resolver to the specified path. 49 | 50 | The route table. 51 | The name of the route. 52 | path of the route. 53 | The type of . 54 | Configuration options. 55 | The registered route 56 | 57 | 58 | 59 | Maps a with the default dependency resolver to the specified path. 60 | 61 | The route table. 62 | The name of the route. 63 | path of the route. 64 | The type of . 65 | Configuration options. 66 | An action to further configure the OWIN pipeline. 67 | The registered route. 68 | 69 | 70 | 71 | Initializes the default hub route (/signalr). 72 | 73 | The route table. 74 | The registered route. 75 | 76 | 77 | 78 | Initializes the default hub route (/signalr). 79 | 80 | The route table. 81 | Configuration options. 82 | The registered route. 83 | 84 | 85 | 86 | Initializes the hub route using specified configuration. 87 | 88 | The route table. 89 | The path of the hubs route. 90 | Configuration options. 91 | The registered route. 92 | 93 | 94 | 95 | Initializes the hub route using specified configuration. 96 | 97 | The route table. 98 | The path of the hubs route. 99 | Configuration options. 100 | An action to further configure the OWIN pipeline. 101 | The registered route. 102 | 103 | 104 | 105 | Initializes the hub route using specified configuration. 106 | 107 | The route table. 108 | The name of the route. 109 | The path of the hubs route. 110 | Configuration options. 111 | 112 | The registered route. 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.Owin.Host.SystemWeb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.Owin.Host.SystemWeb.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.Owin.Security.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.Owin.Security.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.Owin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.Owin.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.Web.Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.Web.Infrastructure.dll -------------------------------------------------------------------------------- /ChatApp/bin/Microsoft.Web.Mvc.FixedDisplayModes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Microsoft.Web.Mvc.FixedDisplayModes.dll -------------------------------------------------------------------------------- /ChatApp/bin/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /ChatApp/bin/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Ninject.dll -------------------------------------------------------------------------------- /ChatApp/bin/Owin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/Owin.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.Helpers.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.Http.WebHost.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.Http.WebHost.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.Http.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.Mvc.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.Razor.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.WebPages.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.WebPages.Deployment.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.WebPages.Deployment.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Web.WebPages.Deployment 5 | 6 | 7 | 8 | Provides a registration point for pre-application start code for Web Pages deployment. 9 | 10 | 11 | Registers pre-application start code for Web Pages deployment. 12 | 13 | 14 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 15 | 16 | 17 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 18 | 19 | 20 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 21 | 22 | 23 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 24 | 25 | 26 | The path of the root directory for the application. 27 | 28 | 29 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 30 | 31 | 32 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 33 | 34 | 35 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 36 | 37 | 38 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 39 | 40 | 41 | -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.WebPages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.WebPages.Razor.dll -------------------------------------------------------------------------------- /ChatApp/bin/System.Web.WebPages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/bin/System.Web.WebPages.dll -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.UI.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/ChatApp.UI.csproj.CopyComplete -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.UI.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 21dfd2007c4144c34b3bed1e88d278c7b2a294ee 2 | -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.UI.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/ChatApp.UI.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.UI.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/ChatApp.UI.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\ChatApp.dll.config 2 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\ChatApp.dll 3 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\ChatApp.pdb 4 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.AspNet.SignalR.Core.dll 5 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.AspNet.SignalR.SystemWeb.dll 6 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Owin.dll 7 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Owin.Host.SystemWeb.dll 8 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Owin.Security.dll 9 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Web.Infrastructure.dll 10 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Web.Mvc.FixedDisplayModes.dll 11 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Newtonsoft.Json.dll 12 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Owin.dll 13 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Net.Http.Formatting.dll 14 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Helpers.dll 15 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Http.dll 16 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Http.WebHost.dll 17 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Mvc.dll 18 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Razor.dll 19 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.WebPages.Deployment.dll 20 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.WebPages.dll 21 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.WebPages.Razor.dll 22 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.AspNet.SignalR.Core.xml 23 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.AspNet.SignalR.SystemWeb.xml 24 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Owin.xml 25 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Owin.Host.SystemWeb.xml 26 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Microsoft.Owin.Security.xml 27 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\Newtonsoft.Json.xml 28 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Net.Http.Formatting.xml 29 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Helpers.xml 30 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Http.xml 31 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Http.WebHost.xml 32 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Mvc.xml 33 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.Razor.xml 34 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.WebPages.xml 35 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.WebPages.Deployment.xml 36 | E:\Manoj\Sample Projects\ChatApp\ChatApp\bin\System.Web.WebPages.Razor.xml 37 | E:\Manoj\Sample Projects\ChatApp\ChatApp\obj\Debug\ChatApp.csprojResolveAssemblyReference.cache 38 | E:\Manoj\Sample Projects\ChatApp\ChatApp\obj\Debug\ChatApp.dll 39 | E:\Manoj\Sample Projects\ChatApp\ChatApp\obj\Debug\ChatApp.pdb 40 | -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/ChatApp.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/ChatApp.dll -------------------------------------------------------------------------------- /ChatApp/obj/Debug/ChatApp.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/ChatApp.pdb -------------------------------------------------------------------------------- /ChatApp/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /ChatApp/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ChatApp/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /ChatApp/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /ChatApp/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /ChatApp/obj/Release/ChatApp.UI.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\Manoj\Sample_Projects\ChatApp\ChatApp\obj\Release\ChatApp.UI.csprojResolveAssemblyReference.cache 2 | -------------------------------------------------------------------------------- /ChatApp/obj/Release/ChatApp.UI.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Release/ChatApp.UI.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /ChatApp/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ChatApp/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /ChatApp/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /ChatApp/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /ChatApp/obj/Release/build.force: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/ChatApp/obj/Release/build.force -------------------------------------------------------------------------------- /ChatApp/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Chat application using signalr with database in ASP.NET MVC 2 | 3 | In this application I want to show how to chatting in asp.net using SignalR. The chatting data will store in the database. User online offline status will also be store in database. 4 | 5 | ## How to create database 6 | 7 | When you put a valid connection string of empty database in web config then it will create whole database automatically while first database connection. 8 | -------------------------------------------------------------------------------- /buildspec.yaml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | 3 | env: 4 | variables: 5 | SOLUTION: .\ChatApp.sln 6 | PACKAGE_DIRECTORY: .\packages 7 | DOTNET_FRAMEWORK: 4.5 8 | 9 | phases: 10 | build: 11 | commands: 12 | - '& "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" -p:FrameworkPathOverride="C:\Windows\Microsoft.NET\Framework\v4.0.30319" $env:SOLUTION' 13 | 14 | artifacts: 15 | name: beta 16 | base-directory: .\ChatApp 17 | files: 18 | - '**/*' 19 | 20 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.4.0.30506.0/Microsoft.AspNet.Mvc.4.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.Mvc.4.0.30506.0/Microsoft.AspNet.Mvc.4.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.4.0.30506.0/Microsoft.AspNet.Mvc.4.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.Mvc 5 | 4.0.30506.0 6 | Microsoft ASP.NET MVC 4 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm 10 | http://www.asp.net/mvc 11 | true 12 | This package contains the runtime assemblies for ASP.NET MVC. ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup. 13 | en-US 14 | Microsoft AspNet Mvc AspNetMvc 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.4.0.30506.0/lib/net40/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.Mvc.4.0.30506.0/lib/net40/System.Web.Mvc.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.Mvc.FixedDisplayModes 5 | 1.0.0 6 | Microsoft ASP.NET MVC Fixed DisplayModes 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/mvc4extensions_prerelease_eula.htm 10 | http://www.asp.net/mvc 11 | true 12 | This package contains a workaround for a bug affecting mobile view caching in ASP.NET MVC 4. More information is available at http://www.asp.net/whitepapers/mvc4-release-notes. 13 | en-US 14 | Microsoft AspNet Mvc AspNetMvc 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/lib/net40/Microsoft.Web.Mvc.FixedDisplayModes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/lib/net40/Microsoft.Web.Mvc.FixedDisplayModes.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Razor.2.0.30506.0/Microsoft.AspNet.Razor.2.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.Razor.2.0.30506.0/Microsoft.AspNet.Razor.2.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Razor.2.0.30506.0/Microsoft.AspNet.Razor.2.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.Razor 5 | 2.0.30506.0 6 | Microsoft ASP.NET Razor 2 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/webpages_2_eula_enu.htm 10 | http://www.asp.net/web-pages 11 | true 12 | This package contains the runtime assemblies for ASP.NET Web Pages. ASP.NET Web Pages and the new Razor syntax provide a fast, terse, clean and lightweight way to combine server code with HTML to create dynamic web content. 13 | en-US 14 | Microsoft AspNet WebPages AspNetWebPages Razor 15 | 16 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Razor.2.0.30506.0/lib/net40/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.Razor.2.0.30506.0/lib/net40/System.Web.Razor.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.2.2.0/Microsoft.AspNet.SignalR.2.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.SignalR.2.2.0/Microsoft.AspNet.SignalR.2.2.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.2.2.0/Microsoft.AspNet.SignalR.2.2.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.SignalR 5 | 2.2.0 6 | Microsoft ASP.NET SignalR 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm 10 | http://www.asp.net/signalr 11 | true 12 | Incredibly simple real-time web for .NET. 13 | This package pulls in the server components and JavaScript client required to use SignalR in an ASP.NET application. 14 | https://github.com/SignalR/SignalR/releases 15 | © Microsoft Corporation. All rights reserved. 16 | en-US 17 | Microsoft AspNet SignalR AspNetSignalR websockets real-time realtime comet HTTP streaming 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.2.2.0/readme.txt: -------------------------------------------------------------------------------- 1 | Please see http://go.microsoft.com/fwlink/?LinkId=272764 for more information on using SignalR. 2 | 3 | Upgrading from 1.x to 2.0 4 | ------------------------- 5 | Please see http://go.microsoft.com/fwlink/?LinkId=320578 for more information on how to 6 | upgrade your SignalR 1.x application to 2.0. 7 | 8 | Mapping the Hubs connection 9 | ---------------------------- 10 | To enable SignalR in your application, create a class called Startup with the following: 11 | 12 | using Microsoft.Owin; 13 | using Owin; 14 | using MyWebApplication; 15 | 16 | namespace MyWebApplication 17 | { 18 | public class Startup 19 | { 20 | public void Configuration(IAppBuilder app) 21 | { 22 | app.MapSignalR(); 23 | } 24 | } 25 | } 26 | 27 | Getting Started 28 | --------------- 29 | See http://www.asp.net/signalr/overview/getting-started for more information on how to get started. 30 | 31 | Why does ~/signalr/hubs return 404 or Why do I get a JavaScript error: 'myhub is undefined'? 32 | -------------------------------------------------------------------------------------------- 33 | This issue is generally due to a missing or invalid script reference to the auto-generated Hub JavaScript proxy at '~/signalr/hubs'. 34 | Please make sure that the Hub route is registered before any other routes in your application. 35 | 36 | In ASP.NET MVC 4 you can do the following: 37 | 38 | 39 | 40 | If you're writing an ASP.NET MVC 3 application, make sure that you are using Url.Content for your script references: 41 | 42 | 43 | 44 | If you're writing a regular ASP.NET application use ResolveClientUrl for your script references or register them via the ScriptManager 45 | using a app root relative path (starting with a '~/'): 46 | 47 | 48 | 49 | If the above still doesn't work, you may have an issue with routing and extensionless URLs. To fix this, ensure you have the latest 50 | patches installed for IIS and ASP.NET. -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.Core.2.2.0/Microsoft.AspNet.SignalR.Core.2.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.SignalR.Core.2.2.0/Microsoft.AspNet.SignalR.Core.2.2.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.Core.2.2.0/Microsoft.AspNet.SignalR.Core.2.2.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.SignalR.Core 5 | 2.2.0 6 | Microsoft ASP.NET SignalR Core Components 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm 10 | http://www.asp.net/signalr 11 | true 12 | Core server components for ASP.NET SignalR. 13 | https://github.com/SignalR/SignalR/releases 14 | © Microsoft Corporation. All rights reserved. 15 | en-US 16 | Microsoft AspNet SignalR AspNetSignalR Core 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.Core.2.2.0/lib/net45/Microsoft.AspNet.SignalR.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.SignalR.Core.2.2.0/lib/net45/Microsoft.AspNet.SignalR.Core.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.JS.2.2.0/Microsoft.AspNet.SignalR.JS.2.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.SignalR.JS.2.2.0/Microsoft.AspNet.SignalR.JS.2.2.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.JS.2.2.0/Microsoft.AspNet.SignalR.JS.2.2.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.SignalR.JS 5 | 2.2.0 6 | Microsoft ASP.NET SignalR JavaScript Client 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm 10 | http://www.asp.net/signalr 11 | true 12 | JavaScript client for ASP.NET SignalR. 13 | https://github.com/SignalR/SignalR/releases 14 | © Microsoft Corporation. All rights reserved. 15 | en-US 16 | Microsoft AspNet SignalR AspNetSignalR JS 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.SystemWeb.2.2.0/Microsoft.AspNet.SignalR.SystemWeb.2.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.SignalR.SystemWeb.2.2.0/Microsoft.AspNet.SignalR.SystemWeb.2.2.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.SystemWeb.2.2.0/Microsoft.AspNet.SignalR.SystemWeb.2.2.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.SignalR.SystemWeb 5 | 2.2.0 6 | Microsoft ASP.NET SignalR System.Web 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm 10 | http://www.asp.net/signalr 11 | true 12 | Incredibly simple real-time web for .NET. 13 | Components for using ASP.NET SignalR in applications hosted on System.Web. 14 | https://github.com/SignalR/SignalR/releases 15 | © Microsoft Corporation. All rights reserved. 16 | en-US 17 | Microsoft AspNet SignalR AspNetSignalR SystemWeb 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.SystemWeb.2.2.0/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.SignalR.SystemWeb 5 | 6 | 7 | 8 | 9 | Returns the for this . 10 | 11 | The request 12 | 13 | 14 | 15 | Maps a with the default dependency resolver to the specified path. 16 | 17 | The route table. 18 | The type of . 19 | The name of the route. 20 | path of the route. 21 | The registered route. 22 | 23 | 24 | 25 | Maps a with the default dependency resolver to the specified path. 26 | 27 | The route table. 28 | The type of . 29 | The name of the route. 30 | path of the route. 31 | Configuration options. 32 | The registered route. 33 | 34 | 35 | 36 | Maps a with the default dependency resolver to the specified path. 37 | 38 | The route table. 39 | The type of . 40 | The name of the route. 41 | path of the route. 42 | Configuration options. 43 | An action to further configure the OWIN pipeline. 44 | The registered route 45 | 46 | 47 | 48 | Maps a with the default dependency resolver to the specified path. 49 | 50 | The route table. 51 | The name of the route. 52 | path of the route. 53 | The type of . 54 | Configuration options. 55 | The registered route 56 | 57 | 58 | 59 | Maps a with the default dependency resolver to the specified path. 60 | 61 | The route table. 62 | The name of the route. 63 | path of the route. 64 | The type of . 65 | Configuration options. 66 | An action to further configure the OWIN pipeline. 67 | The registered route. 68 | 69 | 70 | 71 | Initializes the default hub route (/signalr). 72 | 73 | The route table. 74 | The registered route. 75 | 76 | 77 | 78 | Initializes the default hub route (/signalr). 79 | 80 | The route table. 81 | Configuration options. 82 | The registered route. 83 | 84 | 85 | 86 | Initializes the hub route using specified configuration. 87 | 88 | The route table. 89 | The path of the hubs route. 90 | Configuration options. 91 | The registered route. 92 | 93 | 94 | 95 | Initializes the hub route using specified configuration. 96 | 97 | The route table. 98 | The path of the hubs route. 99 | Configuration options. 100 | An action to further configure the OWIN pipeline. 101 | The registered route. 102 | 103 | 104 | 105 | Initializes the hub route using specified configuration. 106 | 107 | The route table. 108 | The name of the route. 109 | The path of the hubs route. 110 | Configuration options. 111 | 112 | The registered route. 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.SignalR.SystemWeb.2.2.0/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.SignalR.SystemWeb.2.2.0/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.WebApi 5 | 4.0.30506.0 6 | Microsoft ASP.NET Web API 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm 10 | http://www.asp.net/web-api 11 | true 12 | This package contains everything you need to host ASP.NET Web API on IIS. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. 13 | en-US 14 | Microsoft AspNet WebApi AspNetWebApi 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Client.4.0.30506.0/Microsoft.AspNet.WebApi.Client.4.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.Client.4.0.30506.0/Microsoft.AspNet.WebApi.Client.4.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Client.4.0.30506.0/Microsoft.AspNet.WebApi.Client.4.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.WebApi.Client 5 | 4.0.30506.0 6 | Microsoft ASP.NET Web API Client Libraries 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm 10 | http://www.asp.net/web-api 11 | true 12 | This package adds support for formatting and content negotiation to System.Net.Http. It includes support for JSON, XML, and form URL encoded data. 13 | en-US 14 | Microsoft AspNet WebApi AspNetWebApi HttpClient 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Client.4.0.30506.0/lib/net40/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.Client.4.0.30506.0/lib/net40/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.30506.0/Microsoft.AspNet.WebApi.Core.4.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.Core.4.0.30506.0/Microsoft.AspNet.WebApi.Core.4.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.30506.0/Microsoft.AspNet.WebApi.Core.4.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.WebApi.Core 5 | 4.0.30506.0 6 | Microsoft ASP.NET Web API Core Libraries 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm 10 | http://www.asp.net/web-api 11 | true 12 | This package contains the core runtime assemblies for ASP.NET Web API. This package is used by hosts of the ASP.NET Web API runtime. To host a Web API in IIS use the Microsoft.AspNet.WebApi.WebHost package. To host a Web API in your own process use the Microsoft.AspNet.WebApi.SelfHost package. 13 | en-US 14 | Microsoft AspNet WebApi AspNetWebApi 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.30506.0/content/web.config.transform: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.30506.0/lib/net40/System.Web.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.Core.4.0.30506.0/lib/net40/System.Web.Http.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.WebApi.WebHost 5 | 4.0.30506.0 6 | Microsoft ASP.NET Web API Web Host 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm 10 | http://www.asp.net/web-api 11 | true 12 | This package contains everything you need to host ASP.NET Web API on IIS. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. 13 | en-US 14 | Microsoft AspNet WebApi AspNetWebApi WebHost 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/Microsoft.AspNet.WebPages.2.0.30506.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebPages.2.0.30506.0/Microsoft.AspNet.WebPages.2.0.30506.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/Microsoft.AspNet.WebPages.2.0.30506.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AspNet.WebPages 5 | 2.0.30506.0 6 | Microsoft ASP.NET Web Pages 2 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/webpages_2_eula_enu.htm 10 | http://www.asp.net/web-pages 11 | true 12 | This package contains core runtime assemblies shared between ASP.NET MVC and ASP.NET Web Pages. 13 | en-US 14 | Microsoft AspNet WebPages AspNetWebPages 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.Helpers.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.Deployment.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.Deployment.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Web.WebPages.Deployment 5 | 6 | 7 | 8 | Provides a registration point for pre-application start code for Web Pages deployment. 9 | 10 | 11 | Registers pre-application start code for Web Pages deployment. 12 | 13 | 14 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 15 | 16 | 17 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 18 | 19 | 20 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 21 | 22 | 23 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 24 | 25 | 26 | The path of the root directory for the application. 27 | 28 | 29 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 30 | 31 | 32 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 33 | 34 | 35 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 36 | 37 | 38 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 39 | 40 | 41 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.Razor.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.AspNet.WebPages.2.0.30506.0/lib/net40/System.Web.WebPages.dll -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Net.Http 5 | 2.0.20710.0 6 | Microsoft .NET Framework 4 HTTP Client Libraries 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/MVC_4_eula_ENU.htm 10 | http://www.asp.net/web-api 11 | true 12 | This package provides a programming interface for modern HTTP applications. This package includes HttpClient for sending requests over HTTP, as well as HttpRequestMessage and HttpResponseMessage for processing HTTP messages. 13 | en-US 14 | 15 | -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Net.Http.WebRequest 5 | 6 | 7 | 8 | Represents the class that is used to create special for use with the Real-Time-Communications (RTC) background notification infrastructure. 9 | 10 | 11 | Creates a special for use with the Real-Time-Communications (RTC) background notification infrastructure. 12 | Returns .An HTTP request message for use with the RTC background notification infrastructure. 13 | The HTTP method. 14 | The Uri the request is sent to. 15 | 16 | 17 | Provides desktop-specific features not available to Windows Store apps or other environments. 18 | 19 | 20 | Initializes a new instance of the class. 21 | 22 | 23 | Gets or sets a value that indicates whether to pipeline the request to the Internet resource. 24 | Returns .true if the request should be pipelined; otherwise, false. The default is true. 25 | 26 | 27 | Gets or sets a value indicating the level of authentication and impersonation used for this request. 28 | Returns .A bitwise combination of the values. The default value is . 29 | 30 | 31 | Gets or sets the cache policy for this request. 32 | Returns .A object that defines a cache policy. The default is . 33 | 34 | 35 | Gets or sets the collection of security certificates that are associated with this request. 36 | Returns .The collection of security certificates associated with this request. 37 | 38 | 39 | Gets or sets the amount of time, in milliseconds, the application will wait for 100-continue from the server before uploading data. 40 | Returns .The amount of time, in milliseconds, the application will wait for 100-continue from the server before uploading data. The default value is 350 milliseconds. 41 | 42 | 43 | Gets or sets the impersonation level for the current request. 44 | Returns .The impersonation level for the request. The default is . 45 | 46 | 47 | Gets or sets the maximum allowed length of the response headers. 48 | Returns .The length, in kilobytes (1024 bytes), of the response headers. 49 | 50 | 51 | Gets or sets a time-out in milliseconds when writing a request to or reading a response from a server. 52 | Returns .The number of milliseconds before the writing or reading times out. The default value is 300,000 milliseconds (5 minutes). 53 | 54 | 55 | Gets or sets a callback method to validate the server certificate. 56 | Returns .A callback method to validate the server certificate. 57 | 58 | 59 | Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing. 60 | Returns .true to keep the authenticated connection open; otherwise, false. 61 | 62 | 63 | -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net45/_._: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/Microsoft.Owin.2.1.0/Microsoft.Owin.2.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.2.1.0/Microsoft.Owin.2.1.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Owin.2.1.0/Microsoft.Owin.2.1.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Owin 5 | 2.1.0 6 | Microsoft.Owin 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm 10 | http://katanaproject.codeplex.com/ 11 | true 12 | Provides a set of helper types and abstractions for simplifying the creation of OWIN components. 13 | Microsoft OWIN Katana 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /packages/Microsoft.Owin.2.1.0/lib/net40/Microsoft.Owin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.2.1.0/lib/net40/Microsoft.Owin.dll -------------------------------------------------------------------------------- /packages/Microsoft.Owin.2.1.0/lib/net45/Microsoft.Owin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.2.1.0/lib/net45/Microsoft.Owin.dll -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Host.SystemWeb.2.1.0/Microsoft.Owin.Host.SystemWeb.2.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.Host.SystemWeb.2.1.0/Microsoft.Owin.Host.SystemWeb.2.1.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Host.SystemWeb.2.1.0/Microsoft.Owin.Host.SystemWeb.2.1.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Owin.Host.SystemWeb 5 | 2.1.0 6 | Microsoft.Owin.Host.SystemWeb 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm 10 | http://katanaproject.codeplex.com/ 11 | true 12 | OWIN server that enables OWIN-based applications to run on IIS using the ASP.NET request pipeline. 13 | Microsoft OWIN Katana 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Host.SystemWeb.2.1.0/lib/net40/Microsoft.Owin.Host.SystemWeb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.Host.SystemWeb.2.1.0/lib/net40/Microsoft.Owin.Host.SystemWeb.dll -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Host.SystemWeb.2.1.0/lib/net45/Microsoft.Owin.Host.SystemWeb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.Host.SystemWeb.2.1.0/lib/net45/Microsoft.Owin.Host.SystemWeb.dll -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Owin.Security 5 | 2.1.0 6 | Microsoft.Owin.Security 7 | Microsoft 8 | Microsoft 9 | http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm 10 | http://katanaproject.codeplex.com/ 11 | true 12 | Common types which are shared by the various authentication middleware components. 13 | Microsoft OWIN Katana 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.dll -------------------------------------------------------------------------------- /packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Web.Infrastructure 5 | 1.0.0.0 6 | Microsoft.Web.Infrastructure 7 | Microsoft 8 | Microsoft 9 | http://go.microsoft.com/fwlink/?LinkID=214339 10 | http://www.asp.net 11 | false 12 | This package contains the Microsoft.Web.Infrastructure assembly that lets you dynamically register HTTP modules at run time. 13 | en-US 14 | 15 | -------------------------------------------------------------------------------- /packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/Newtonsoft.Json.6.0.8.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/Newtonsoft.Json.6.0.8.nupkg -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/Newtonsoft.Json.6.0.8.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Newtonsoft.Json 5 | 6.0.8 6 | Json.NET 7 | James Newton-King 8 | James Newton-King 9 | https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md 10 | http://www.newtonsoft.com/json 11 | http://www.newtonsoft.com/content/images/nugeticon.png 12 | false 13 | Json.NET is a popular high-performance JSON framework for .NET 14 | en-US 15 | json 16 | 17 | -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/net20/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/net20/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/netcore45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/netcore45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/lib/portable-net45+wp80+win8+wpa81+aspnetcore50/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Newtonsoft.Json.6.0.8/lib/portable-net45+wp80+win8+wpa81+aspnetcore50/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.6.0.8/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | # open json.net splash page on package install 4 | # don't open if json.net is installed as a dependency 5 | 6 | try 7 | { 8 | $url = "http://james.newtonking.com/json/install?version=" + $package.Version 9 | $dte2 = Get-Interface $dte ([EnvDTE80.DTE2]) 10 | 11 | if ($dte2.ActiveWindow.Caption -eq "Package Manager Console") 12 | { 13 | # user is installing from VS NuGet console 14 | # get reference to the window, the console host and the input history 15 | # show webpage if "install-package newtonsoft.json" was last input 16 | 17 | $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]) 18 | 19 | $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor ` 20 | [System.Reflection.BindingFlags]::NonPublic) 21 | 22 | $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1 23 | if ($prop -eq $null) { return } 24 | 25 | $hostInfo = $prop.GetValue($consoleWindow) 26 | if ($hostInfo -eq $null) { return } 27 | 28 | $history = $hostInfo.WpfConsole.InputHistory.History 29 | 30 | $lastCommand = $history | select -last 1 31 | 32 | if ($lastCommand) 33 | { 34 | $lastCommand = $lastCommand.Trim().ToLower() 35 | if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json")) 36 | { 37 | $dte2.ItemOperations.Navigate($url) | Out-Null 38 | } 39 | } 40 | } 41 | else 42 | { 43 | # user is installing from VS NuGet dialog 44 | # get reference to the window, then smart output console provider 45 | # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation 46 | 47 | $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor ` 48 | [System.Reflection.BindingFlags]::NonPublic) 49 | 50 | $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor ` 51 | [System.Reflection.BindingFlags]::NonPublic) 52 | 53 | if ($instanceField -eq $null -or $consoleField -eq $null) { return } 54 | 55 | $instance = $instanceField.GetValue($null) 56 | 57 | if ($instance -eq $null) { return } 58 | 59 | $consoleProvider = $consoleField.GetValue($instance) 60 | if ($consoleProvider -eq $null) { return } 61 | 62 | $console = $consoleProvider.CreateOutputConsole($false) 63 | 64 | $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor ` 65 | [System.Reflection.BindingFlags]::NonPublic) 66 | if ($messagesField -eq $null) { return } 67 | 68 | $messages = $messagesField.GetValue($console) 69 | if ($messages -eq $null) { return } 70 | 71 | $operations = $messages -split "==============================" 72 | 73 | $lastOperation = $operations | select -last 1 74 | 75 | if ($lastOperation) 76 | { 77 | $lastOperation = $lastOperation.ToLower() 78 | 79 | $lines = $lastOperation -split "`r`n" 80 | 81 | $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1 82 | 83 | if ($installMatch) 84 | { 85 | $dte2.ItemOperations.Navigate($url) | Out-Null 86 | } 87 | } 88 | } 89 | } 90 | catch 91 | { 92 | try 93 | { 94 | $pmPane = $dte2.ToolWindows.OutputWindow.OutputWindowPanes.Item("Package Manager") 95 | 96 | $selection = $pmPane.TextDocument.Selection 97 | $selection.StartOfDocument($false) 98 | $selection.EndOfDocument($true) 99 | 100 | if ($selection.Text.StartsWith("Installing 'Newtonsoft.Json ")) 101 | { 102 | $dte2.ItemOperations.Navigate($url) | Out-Null 103 | } 104 | } 105 | catch 106 | { 107 | # stop potential errors from bubbling up 108 | # worst case the splash page won't open 109 | } 110 | } 111 | 112 | # still yolo -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/Ninject.3.2.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/Ninject.3.2.2.0.nupkg -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/Ninject.3.2.2.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ninject 5 | 3.2.2.0 6 | 7 | <authors>Ninject Project Contributors</authors> 8 | <owners>Ninject Project Contributors</owners> 9 | <licenseUrl>https://github.com/ninject/ninject/raw/master/LICENSE.txt</licenseUrl> 10 | <projectUrl>http://www.ninject.org/</projectUrl> 11 | <iconUrl>https://github.com/ninject/ninject/raw/master/logos/Ninject-Logo32.png</iconUrl> 12 | <requireLicenseAcceptance>true</requireLicenseAcceptance> 13 | <description>Stop writing monolithic applications that make you feel like you have to move mountains to make the simplest of changes. Ninject helps you use the technique of dependency injection to break your applications into loosely-coupled, highly-cohesive components, and then glue them back together in a flexible manner.</description> 14 | <summary>IoC container for .NET</summary> 15 | <releaseNotes /> 16 | <copyright /> 17 | <language>en-US</language> 18 | <tags>Ninject ioc di</tags> 19 | </metadata> 20 | </package> -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/net35/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/net35/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/net40/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/net40/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/net45-full/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/net45-full/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/sl2/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/sl2/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/sl3-wp/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/sl3-wp/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/sl3/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/sl3/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/sl4-windowsphone71/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/sl4-windowsphone71/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/sl4/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/sl4/Ninject.dll -------------------------------------------------------------------------------- /packages/Ninject.3.2.2.0/lib/sl5/Ninject.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Ninject.3.2.2.0/lib/sl5/Ninject.dll -------------------------------------------------------------------------------- /packages/Owin.1.0/Owin.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Owin.1.0/Owin.1.0.nupkg -------------------------------------------------------------------------------- /packages/Owin.1.0/Owin.1.0.nuspec: -------------------------------------------------------------------------------- 1 | <?xml version="1.0"?> 2 | <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 3 | <metadata> 4 | <id>Owin</id> 5 | <version>1.0</version> 6 | <title>OWIN 7 | OWIN startup components contributors 8 | OWIN startup components contributors 9 | https://github.com/owin-contrib/owin-hosting/blob/master/LICENSE.txt 10 | https://github.com/owin-contrib/owin-hosting/ 11 | false 12 | OWIN IAppBuilder startup interface 13 | OWIN 14 | 15 | -------------------------------------------------------------------------------- /packages/Owin.1.0/lib/net40/Owin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/Owin.1.0/lib/net40/Owin.dll -------------------------------------------------------------------------------- /packages/jQuery.1.6.4/Tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | $extId = "JScriptIntelliSenseParaExtension.Microsoft.039ee76c-3c7f-4281-ad23-f6528ab18623" 4 | $extManager = [Microsoft.VisualStudio.Shell.Package]::GetGlobalService([Microsoft.VisualStudio.ExtensionManager.SVsExtensionManager]) 5 | $copyOverParaFile = $false 6 | try { 7 | $copyOverParaFile = $extManager.GetInstalledExtension($extId).State -eq "Enabled" 8 | } 9 | catch [Microsoft.VisualStudio.ExtensionManager.NotInstalledException] { 10 | #Extension is not installed 11 | } 12 | 13 | if ($copyOverParaFile) { 14 | #Copy the -vsdoc-para file over the -vsdoc file 15 | #$projectFolder = Split-Path -Parent $project.FileName 16 | $projectFolder = $project.Properties.Item("FullPath").Value 17 | $paraVsDocPath = Join-Path $toolsPath jquery-1.6.4-vsdoc-para.js 18 | $vsDocPath = Join-Path $projectFolder Scripts\jquery-1.6.4-vsdoc.js 19 | Copy-Item $paraVsDocPath $vsDocPath -Force 20 | } -------------------------------------------------------------------------------- /packages/jQuery.1.6.4/Tools/uninstall.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | #Forcibly delete the -vsdoc file 4 | #$projectFolder = Split-Path -Parent $project.FileName 5 | $projectFolder = $project.Properties.Item("FullPath").Value 6 | $projVsDocPath = Join-Path $projectFolder Scripts\jquery-1.6.4-vsdoc.js 7 | $origVsDocPath = Join-Path $installPath Content\Scripts\jquery-1.6.4-vsdoc.js 8 | $origVsDocParaPath = Join-Path $toolsPath jquery-1.6.4-vsdoc-para.js 9 | 10 | function Get-Checksum($file) { 11 | $cryptoProvider = New-Object "System.Security.Cryptography.MD5CryptoServiceProvider" 12 | 13 | $fileInfo = Get-Item "$file" 14 | trap { ; 15 | continue } $stream = $fileInfo.OpenRead() 16 | if ($? -eq $false) { 17 | #Write-Host "Couldn't open file for reading" 18 | return $null 19 | } 20 | 21 | $bytes = $cryptoProvider.ComputeHash($stream) 22 | $checksum = '' 23 | foreach ($byte in $bytes) { 24 | $checksum += $byte.ToString('x2') 25 | } 26 | 27 | $stream.Close() | Out-Null 28 | 29 | return $checksum 30 | } 31 | 32 | if (Test-Path $projVsDocPath) { 33 | #Copy the original -vsdoc file over the -vsdoc file modified during install 34 | #Normal uninstall logic will then kick in 35 | 36 | if ((Get-Checksum $projVsDocPath) -eq (Get-Checksum $origVsDocParaPath)) { 37 | #Write-Host "Copying orig vsdoc file over" 38 | Copy-Item $origVsDocPath $projVsDocPath -Force 39 | } 40 | else { 41 | #Write-Host "vsdoc file has changed" 42 | } 43 | } 44 | else { 45 | #Write-Host "vsdoc file not found in project" 46 | } 47 | -------------------------------------------------------------------------------- /packages/jQuery.1.6.4/jQuery.1.6.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackmanoj/chatapp/01f02bbc4fc530d92264fd217b50949d83e3aa42/packages/jQuery.1.6.4/jQuery.1.6.4.nupkg -------------------------------------------------------------------------------- /packages/jQuery.1.6.4/jQuery.1.6.4.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | jQuery 5 | 1.6.4 6 | jQuery 7 | John Resig 8 | John Resig 9 | http://jquery.org/license 10 | http://jquery.com/ 11 | https://nugetgallery.blob.core.windows.net/icons/jQuery.1.6.4.png 12 | false 13 | jQuery is a new kind of JavaScript Library. 14 | jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript. 15 | jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. 16 | jQuery 17 | 18 | -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | --------------------------------------------------------------------------------