public List <ReservationData> LoadReservationData(PlayerData playerData) { if (playerData == null) { return(null); } using var mySQLConnector = new MySQLConnector(); var playerDataOnSQL = mySQLConnector.PlayerData .Include(b => b.ClanData) .ThenInclude(b => b.ServerData) .Where(b => b.ClanData.ServerID == playerData.ClanData.ServerID && b.ClanData.ClanRoleID == playerData.ClanData.ClanRoleID && b.UserID == playerData.UserID); var playerID = playerDataOnSQL.FirstOrDefault()?.PlayerID; return(mySQLConnector.ReservationData .Include(b => b.PlayerData) .Where(b => b.PlayerID == playerID) .Where(b => b.DeleteFlag == false) .OrderBy(o => o.BattleLap) .ThenBy(d => d.BossNumber) .ToList()); }
public bool CreateDeclarationData(DeclarationData declarationData) { var userData = declarationData.PlayerData; if (declarationData.PlayerID == 0 && userData == null) { return(false); } using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); if (declarationData.PlayerID == 0) { declarationData.PlayerID = PlayerDataToPlayerID(userData); if (declarationData.PlayerID == 0) { return(false); } } try { mySQLConnector.Add(declarationData); mySQLConnector.SaveChanges(); transaction.Commit(); return(true); } catch { transaction.Rollback(); return(false); } }
public bool UpdateReservationMessageID(ClanData clanData, ulong messageID) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); var clanID = mySQLConnector.ClanData .Include(d => d.ServerData) .Where(d => d.ServerID == clanData.ServerID) .Where(d => d.ClanRoleID == clanData.ClanRoleID) .Select(d => d.ClanID) .FirstOrDefault(); if (clanID == 0) { transaction.Rollback(); return(false); } var updateData = mySQLConnector.MessageIDs .Include(d => d.ClanData) .Where(d => d.ClanID == clanID) .FirstOrDefault(); if (updateData == null) { transaction.Rollback(); return(false); } updateData.ReservationMessageID = messageID; mySQLConnector.SaveChanges(); transaction.Commit(); return(true); }
public List <ReservationData> LoadBossLapReservationData(ClanData clanData) { using var mySQLConnector = new MySQLConnector(); var clanID = mySQLConnector.ClanData .Include(d => d.ServerData) .Where(d => d.ServerID == clanData.ServerID) .Where(d => d.ClanRoleID == clanData.ClanRoleID) .Select(d => d.ClanID) .FirstOrDefault(); if (clanID == 0) { return(null); } return(mySQLConnector.ReservationData .Include(b => b.PlayerData) .ThenInclude(d => d.ClanData) .Where(d => d.PlayerData.ClanID == clanID) .Where(b => b.DeleteFlag == false) .Where(b => b.BattleLap == clanData.BattleLap) .Where(b => b.BossNumber == clanData.BossNumber) .OrderBy(d => d.CreateDateTime) .ToList()); }
/// <summary> /// 宣言データに削除フラグを立てます。 /// </summary> /// <param name="declarationDataSet"></param> /// <returns></returns> public bool DeleteDeclarationData(IEnumerable <DeclarationData> declarationDataSet) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); foreach (var declarationData in declarationDataSet) { if (declarationData.PlayerID == 0) { declarationData.PlayerID = PlayerDataToPlayerID(declarationData.PlayerData); if (declarationData.PlayerID == 0) { return(false); } } var userDeleteDataSet = mySQLConnector.DeclarationData .Include(d => d.PlayerData) .Where(d => d.PlayerID == declarationData.PlayerID && !d.DeleteFlag && d.BossNumber == declarationData.BossNumber && d.BattleLap == declarationData.BattleLap && d.FinishFlag == declarationData.FinishFlag ); foreach (var updateData in userDeleteDataSet) { updateData.DeleteFlag = true; } } mySQLConnector.SaveChanges(); transaction.Commit(); return(true); }
public void CreatePlayerData(IEnumerable <PlayerData> playersData) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); foreach (PlayerData playerData in playersData) { var clanID = mySQLConnector.ClanData .Include(d => d.ServerData) .Where(d => d.ServerID == playerData.ClanData.ServerID && d.ClanRoleID == playerData.ClanData.ClanRoleID) .Select(d => d.ClanID) .FirstOrDefault(); var newPlayerData = new PlayerData { ClanID = clanID, UserID = playerData.UserID, GuildUserName = playerData.GuildUserName }; mySQLConnector.PlayerData.Add(newPlayerData); } mySQLConnector.SaveChanges(); transaction.Commit(); }
public bool UpdateClanData(ClanData clanData) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); var mySQLData = mySQLConnector.ClanData .Include(b => b.ServerData) .Where(b => b.ClanID == clanData.ClanID) .FirstOrDefault(); if (mySQLData == null) { transaction.Rollback(); return(false); } mySQLData.BattleLap = clanData.BattleLap; mySQLData.BossNumber = clanData.BossNumber; mySQLData.ProgressiveFlag = clanData.ProgressiveFlag; //mySQLData.BossRoleReady = clanData.BossRoleReady; mySQLData.ClanName = clanData.ClanName; mySQLConnector.SaveChanges(); transaction.Commit(); return(true); }
public void CreateReservationData(ReservationData reservationData) { var userData = reservationData.PlayerData; using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); var playerID = mySQLConnector.PlayerData .Include(d => d.ClanData) .Where(d => d.ClanData.ServerID == userData.ClanData.ServerID) .Where(d => d.ClanData.ClanRoleID == userData.ClanData.ClanRoleID) .Where(d => d.UserID == userData.UserID) .Select(d => d.PlayerID) .FirstOrDefault(); mySQLConnector.ReservationData.Add( new ReservationData() { PlayerID = playerID, BattleLap = reservationData.BattleLap, BossNumber = reservationData.BossNumber, CommentData = reservationData.CommentData }); mySQLConnector.SaveChanges(); transaction.Commit(); }
public void UpdateReservationData(ReservationData reservationData) { var userData = reservationData.PlayerData; using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); var playerID = mySQLConnector.PlayerData .Include(d => d.ClanData) .Where(d => d.ClanData.ServerID == userData.ClanData.ServerID) .Where(d => d.ClanData.ClanRoleID == userData.ClanData.ClanRoleID) .Where(d => d.UserID == userData.UserID) .Select(d => d.PlayerID) .FirstOrDefault(); if (playerID == 0) { return; } var updateData = mySQLConnector.ReservationData .Include(d => d.PlayerData) .Where(d => d.PlayerID == playerID) .Where(d => d.BattleLap == reservationData.BattleLap) .Where(d => d.BossNumber == reservationData.BossNumber) .Where(b => b.DeleteFlag == false) .FirstOrDefault(); updateData.CommentData = reservationData.CommentData; mySQLConnector.SaveChanges(); transaction.Commit(); }
public List <PlayerData> LoadPlayerData(ulong serverID) { using var mySQLConnector = new MySQLConnector(); return(mySQLConnector.PlayerData .Include(b => b.ClanData) .Where(b => b.ClanData.ServerID == serverID) .ToList()); }
public PlayerData LoadPlayerData(ulong serverID, ulong userID) { using var mySQLConnector = new MySQLConnector(); return(mySQLConnector.PlayerData .Include(b => b.ClanData) .ThenInclude(b => b.ServerData) .Where(b => b.UserID == userID && b.ClanData.ServerID == serverID) .FirstOrDefault()); }
public ClanData LoadClanData(SocketRole role) { using var mySQLConnector = new MySQLConnector(); return(mySQLConnector.ClanData .Include(b => b.ServerData) .Include(b => b.MessageIDs) .Include(b => b.ChannelIDs) .Include(b => b.RoleIDs) .Where(b => b.ServerID == role.Guild.Id) .Where(b => b.ClanRoleID == role.Id) .FirstOrDefault()); }
public List <ReservationData> LoadReservationData(ClanData clanData) { using var mySQLConnector = new MySQLConnector(); return(mySQLConnector.ReservationData .Include(b => b.PlayerData) .ThenInclude(d => d.ClanData) .Where(b => b.PlayerData.ClanData.ServerID == clanData.ServerID) .Where(b => b.PlayerData.ClanData.ClanID == clanData.ClanID) .Where(b => b.DeleteFlag == false) .OrderBy(o => o.BattleLap) .ThenBy(d => d.BossNumber) .ThenBy(d => d.CreateDateTime) .ToList()); }
public IEnumerable <DeclarationData> LoadDeclarationData(PlayerData playerData) { using var mySQLConnector = new MySQLConnector(); playerData = mySQLConnector.PlayerData .Include(d => d.ClanData) .Where(d => d.PlayerID == playerData.PlayerID) .FirstOrDefault(); return(mySQLConnector.DeclarationData .Include(b => b.PlayerData) .ThenInclude(d => d.ClanData) .Where(d => d.PlayerData.PlayerID == playerData.PlayerID && !d.DeleteFlag && d.BattleLap == playerData.ClanData.BattleLap && d.BossNumber == playerData.ClanData.BossNumber ) .ToList()); }
/// <summary> /// PLayerDataクラスからPlayerIDを返します。 /// ClanDataのクラスもPlayerDataの中に必要です。 /// </summary> /// <param name="playerData"></param> /// <returns></returns> private ulong PlayerDataToPlayerID(PlayerData playerData) { if (playerData == null || playerData.ClanData == null) { return(0); } var clanData = playerData.ClanData; using var mySQLConnector = new MySQLConnector(); return(mySQLConnector.PlayerData .Include(d => d.ClanData) .ThenInclude(e => e.ServerData) .Where(d => d.ClanData.ServerID == clanData.ServerID && d.ClanData.ClanRoleID == clanData.ClanRoleID && d.UserID == playerData.UserID ) .Select(d => d.PlayerID) .FirstOrDefault()); }
public bool UpdateDeclarationData(DeclarationData declarationData) { var userData = declarationData.PlayerData; if (declarationData.PlayerID == 0 && userData == null) { return(false); } using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); if (declarationData.PlayerID == 0) { declarationData.PlayerID = PlayerDataToPlayerID(userData); if (declarationData.PlayerID == 0) { return(false); } } var updateData = mySQLConnector.DeclarationData .Include(d => d.PlayerData) .Where(d => d.PlayerID == declarationData.PlayerID && d.BattleLap == declarationData.BattleLap && d.BossNumber == declarationData.BossNumber && !d.FinishFlag && !d.DeleteFlag ) .FirstOrDefault(); if (updateData != null) { updateData.FinishFlag = declarationData.FinishFlag; } mySQLConnector.SaveChanges(); transaction.Commit(); return(true); }
public void DeletePlayerData(IEnumerable <PlayerData> playersData) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); foreach (PlayerData playerData in playersData) { var removeData = mySQLConnector.PlayerData .Include(d => d.ClanData) .Where(d => d.ClanData == playerData.ClanData) .Where(d => d.UserID == playerData.UserID) .FirstOrDefault(); if (removeData != null) { mySQLConnector.PlayerData.Remove(removeData); } } mySQLConnector.SaveChanges(); transaction.Commit(); }
public void UpdatePlayerData(IEnumerable <PlayerData> playersData) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); foreach (PlayerData playerData in playersData) { var updateData = mySQLConnector.PlayerData .Include(d => d.ClanData) .Where(d => d.ClanData.ServerID == playerData.ClanData.ServerID) .Where(d => d.ClanData.ClanRoleID == playerData.ClanData.ClanRoleID) .Where(d => d.UserID == playerData.UserID) .FirstOrDefault(); if (updateData != null) { updateData.GuildUserName = playerData.GuildUserName; } } mySQLConnector.SaveChanges(); transaction.Commit(); }
public IEnumerable <DeclarationData> LoadDeclarationData(ClanData clanData) { var mySQLConnector = new MySQLConnector(); var clanID = mySQLConnector.ClanData .Include(d => d.ServerData) .Where(d => d.ServerID == clanData.ServerID && d.ClanRoleID == clanData.ClanRoleID) .Select(d => d.ClanID) .FirstOrDefault(); if (clanID == 0) { return(null); } return(mySQLConnector.DeclarationData .Include(b => b.PlayerData) .ThenInclude(d => d.ClanData) .Where(d => d.PlayerData.ClanID == clanID && !d.DeleteFlag && d.BattleLap == clanData.BattleLap && d.BossNumber == clanData.BossNumber ) .ToList()); }
public void DeleteReservationData(IEnumerable <ReservationData> reservationDataSet) { using var mySQLConnector = new MySQLConnector(); var transaction = mySQLConnector.Database.BeginTransaction(); foreach (var reservationData in reservationDataSet) { var updateData = mySQLConnector.ReservationData .Include(d => d.PlayerData) .Where(d => d.PlayerID == reservationData.PlayerID) .Where(d => d.BossNumber == reservationData.BossNumber) .Where(d => d.BattleLap == reservationData.BattleLap) .Where(b => b.DeleteFlag == false) .FirstOrDefault(); if (updateData != null) { updateData.DeleteFlag = true; } } mySQLConnector.SaveChanges(); transaction.Commit(); }
public List <ClanData> LoadClanData() { using var mySQLConnector = new MySQLConnector(); return(mySQLConnector.ClanData.ToList()); }