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());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 5
0
        /// <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();
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 12
0
        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());
        }
Ejemplo n.º 14
0
        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());
        }
Ejemplo n.º 15
0
        /// <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());
        }
Ejemplo n.º 16
0
        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();
        }
Ejemplo n.º 19
0
        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();
        }
Ejemplo n.º 21
0
 public List <ClanData> LoadClanData()
 {
     using var mySQLConnector = new MySQLConnector();
     return(mySQLConnector.ClanData.ToList());
 }