public object ConnectUser(string userName) { try { using (var db = new FacebookDbContext()) { // Check if there if a connection for the specified user name have ever been made var existingConnection = db.Connections.Where(x => x.UserName.ToLower() == userName.ToLower()).SingleOrDefault(); if (existingConnection != null) { // If there's an old connection only the connection id and the online status are changed. existingConnection.ConnectionId = Context.ConnectionId; existingConnection.IsOnline = true; } else { // If not, then a new connection is created db.Connections.Add(new Models.BaseEntity.Connection { ConnectionId = Context.ConnectionId, UserName = userName, IsOnline = true }); } db.SaveChanges(); } UsersOnline(); return(new { Success = true }); } catch (Exception ex) { return(new { Success = false, ErrorMessage = ex.Message }); } }
public JsonResult VerifyUserNameInUse(string userName) { try { using (var db = new FacebookDbContext()) { return(Json(new { Success = true, InUse = db.Connections.Where(x => x.UserName.ToLower() == userName.ToLower() && x.IsOnline).SingleOrDefault() != null }, JsonRequestBehavior.AllowGet)); } } catch { return(Json(new { Success = false, ErrorMessage = "Something wrong happened." }, JsonRequestBehavior.AllowGet)); } }
public void UsersOnline() { try { using (var db = new FacebookDbContext()) { Clients.All.UpdateUsersOnline(new { Success = true, UsersOnline = db.Connections.Where(x => x.IsOnline).Select(x => x.UserName).ToArray() }); } } catch (Exception ex) { Clients.All.UpdateUsersOnline(new { Success = false, ErrorMessage = ex.Message }); } }
public override Task OnReconnected() { using (var db = new FacebookDbContext()) { var connection = db.Connections.Where(x => x.ConnectionId == Context.ConnectionId).SingleOrDefault(); if (connection == null) { throw new Exception("An attempt to reconnect a non tracked connection id have been made."); } connection.IsOnline = true; db.SaveChanges(); } UsersOnline(); return(base.OnReconnected()); }
public void SendMessage(string userName, string message) { if (message.StartsWith("@")) { var pmUserName = message.Split(' ')[0].Substring(1); using (var db = new FacebookDbContext()) { var pmConnection = db.Connections.Where(x => x.UserName.ToLower() == pmUserName && x.IsOnline).SingleOrDefault(); if (pmConnection != null) { Clients.Clients(new List <string> { Context.ConnectionId, pmConnection.ConnectionId }).UpdateChat(userName, message, true); return; } } } }
public PostService(FacebookDbContext context, UserManager <User> userManager, IUserService userservice) { _context = context; _userManager = userManager; _userService = userservice; }
public AbstractBaseRepository() { context = new FacebookDbContext(); }
public BaseRepository() { _db = new FacebookDbContext(); }
public UserDao() { db = new FacebookDbContext(); }
public UserService(FacebookDbContext fbContext, UserManager <User> _userManager, SignInManager <User> _signInManager) { context = fbContext; userManager = _userManager; signInManager = _signInManager; }