public static MeleeStatisticsModel GetMeleeStats(string twitterUserId, UserType userType) { var dbContext = new MeleeMeEntities(); IQueryable <m_MeleeStats> result = null; MeleeStatisticsModel meleeStats = null; using (dbContext) { switch (userType) { case UserType.Challenger: result = from s in dbContext.m_MeleeStats where s.m_Melee.challenger == twitterUserId select s; break; case UserType.Opponent: result = from s in dbContext.m_MeleeStats where s.m_Melee.opponent == twitterUserId select s; break; } meleeStats = new MeleeStatisticsModel { BattleWins = result.Count(s => s.meleeWinner == twitterUserId), BattleLosses = result.Count(s => s.meleeLoser == twitterUserId) //LastMelee = (DateTime)result.OrderBy(ts => ts.m_Melee.timestamp).Select(m => m.m_Melee.timestamp).FirstOrDefault() }; } return(meleeStats); }
public Collection <ConnectionModel> Get(int id) { var dbContext = new MeleeMeEntities(); var connections = new Collection <ConnectionModel>(); var result = (from cx in dbContext.m_Connections join ucx in dbContext.m_UserConnections on cx.ConnectionId equals ucx.ConnectionId join u in dbContext.m_User on ucx.UserId equals u.UserId where u.UserId == id select cx).ToList(); foreach (var conn in result) { var c = new ConnectionModel { ConnectionName = conn.ConnectionName, ConnectionId = conn.ConnectionId, ConnectionIcon = conn.ConnectionIcon, AccessToken = GetAccessToken(dbContext, id, conn.ConnectionId), RefreshToken = GetRefreshToken(dbContext, id, conn.ConnectionId), OAuthToken = GetOAuthToken(dbContext, id, conn.ConnectionId), ConnectionProvider = LoadConnectionProvider(conn.ConnectionProvider) }; connections.Add(c); } return(connections); }
public static Collection <ConnectionModel> Get(string twitterUserId) { var dbContext = new MeleeMeEntities(); var connections = new Collection <ConnectionModel>(); var result = (from cx in dbContext.m_Connections join ucx in dbContext.m_UserConnections on cx.ConnectionId equals ucx.ConnectionId join u in dbContext.m_User on ucx.UserId equals u.UserId where u.TwitterUserId == twitterUserId select cx).ToList(); foreach (var conn in result) { var c = new ConnectionModel { ConnectionName = conn.ConnectionName, ConnectionId = conn.ConnectionId, ConnectionIcon = conn.ConnectionIcon, ConnectionProvider = LoadConnectionProvider(conn.ConnectionProvider) }; connections.Add(c); } return(connections); }
public UserModel Get(string id) { UserModel meleeUser = null; var dbContext = new MeleeMeEntities(); using (dbContext) { var mUser = (from c in dbContext.m_Credentials where c.m_User.TwitterUserId == id select new { c.AccessToken, c.UserId, c.m_User.ProfileImageUrl, c.m_User.ScreenName }).FirstOrDefault(); if (mUser != null) { meleeUser = new UserModel { TwitterUserId = id, UserId = mUser.UserId, ImageUrl = mUser.ProfileImageUrl, ScreenName = mUser.ScreenName, AccessToken = mUser.AccessToken, Stats = MeleeRepository.GetMeleeStats(id, UserType.Challenger), Connections = new ConnectionRepository().Get(mUser.UserId) }; } } return(meleeUser); }
public static string GetOAuthToken(MeleeMeEntities dbContext, int userId, int connectionId) { var userConn = (from uc in dbContext.m_UserConnections where uc.UserId == userId && uc.ConnectionId == connectionId select uc).Single(); return(userConn.OAuthToken); }
public UserModel Add(string id, string profileImageUrl, string screenName, string token, string OAuthToken) { var newUser = null as UserModel; var dbContext = new MeleeMeEntities(); using (dbContext) { var mUser = dbContext.m_User.FirstOrDefault(mu => mu.TwitterUserId == id); if (mUser != null) { var um = new UserModel { TwitterUserId = id, UserId = mUser.UserId, ImageUrl = profileImageUrl, AccessToken = mUser.m_Credentials.Select(at => at.AccessToken).ToString(), Stats = MeleeRepository.GetMeleeStats(id, UserType.Challenger), Connections = new ConnectionRepository().Get(mUser.UserId) }; mUser.ProfileImageUrl = profileImageUrl; mUser.ScreenName = screenName; dbContext.SaveChanges(); return(um); } var u = new m_User { TwitterUserId = id, ProfileImageUrl = profileImageUrl, ScreenName = screenName }; dbContext.m_User.Add(u); AddUserCredentials(dbContext, u, token); AddConnection(dbContext, u, token, OAuthToken); newUser = new UserModel { TwitterUserId = id, ImageUrl = profileImageUrl, ScreenName = screenName, AccessToken = token, UserId = u.UserId, Stats = new MeleeStatisticsModel() }; dbContext.SaveChanges(); newUser.Connections = new ConnectionRepository().Get(u.UserId); } return(newUser); }
private static void AddUserCredentials(MeleeMeEntities dbContext, m_User u, string accessToken) { var c = new m_Credentials { UserId = u.UserId, AccessToken = accessToken }; dbContext.m_Credentials.Add(c); }
public static void AddMeleeStatistics(MeleeMeEntities dbContext, m_Melee m, string winner, string loser) { var ms = new m_MeleeStats { meleeId = m.meleeId, meleeWinner = winner, meleeLoser = loser }; dbContext.m_MeleeStats.Add(ms); }
private void AddConnection(MeleeMeEntities dbContext, m_User u, string accessToken, string OAuthToken) { var conn = new m_UserConnections { UserId = u.UserId, ConnectionId = (from c in dbContext.m_Connections where c.ConnectionName == "Twitter" select c.ConnectionId).FirstOrDefault(), AccessToken = accessToken, OAuthToken = OAuthToken }; dbContext.m_UserConnections.Add(conn); }
public bool Delete(int userId, int id) { var dbContext = new MeleeMeEntities(); using (dbContext) { var userConn = (from uc in dbContext.m_UserConnections where uc.UserId == userId && uc.ConnectionId == id select uc).FirstOrDefault(); dbContext.m_UserConnections.Remove(userConn); dbContext.SaveChanges(); } return(true); }
public void Add(string currentUser, string opponent, string winner, string loser) { var dbContext = new MeleeMeEntities(); using (dbContext) { var m = new m_Melee { challenger = currentUser, opponent = opponent, timestamp = DateTime.Now }; dbContext.m_Melee.Add(m); AddMeleeStatistics(dbContext, m, winner, loser); dbContext.SaveChanges(); } }
public ConnectionModel Add(int userId, string connectionName, string accessToken, string refreshToken) { var dbContext = new MeleeMeEntities(); using (dbContext) { try { var conn = (from cx in dbContext.m_Connections where cx.ConnectionName == connectionName select cx).FirstOrDefault(); var c = new m_UserConnections() { UserId = userId, ConnectionId = conn.ConnectionId, AccessToken = accessToken, RefreshToken = refreshToken }; var cm = new ConnectionModel { ConnectionName = connectionName, ConnectionId = conn.ConnectionId, AccessToken = accessToken, RefreshToken = refreshToken, ConnectionProvider = LoadConnectionProvider(connectionName + "Connection") }; dbContext.m_UserConnections.Add(c); dbContext.SaveChanges(); return(cm); } catch (Exception ex) { var msg = ex.ToString(); } } return(null); }