示例#1
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);
            }
        }
示例#2
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);
        }
示例#3
0
        public OperationResponse <DeclarationData> Get(CTDS.Declarations.Contracts.EndPoints.GetDeclarationByGuid guid)
        {
            OperationResponse <DeclarationData> response = new OperationResponse <DeclarationData>();

            try
            {
                var             id = guid.Guid;
                var             declarationData = DeclarationBll.GetDeclarationById(id);
                var             referenceData   = DeclarationBll.GetReferenceData(id);
                DeclarationData data            = new DeclarationData();
                data.Declaration   = declarationData;
                data.ReferenceData = referenceData;
                response.OnSuccess(data, "Declaration successfully fetched");
                return(response);
            }
            catch (Exception e)
            {
                Log.Error(e.Message + " " + e.StackTrace);
                response.OnException("Failed to Fetch declaration");
                return(response);
            }
        }
示例#4
0
 public bool DeleteDeclarationData(DeclarationData declarationData)
 => DeleteDeclarationData(new[] { declarationData });