Ejemplo n.º 1
0
        public IResponse createExchangeCoinsResultsResponse(WinCoinEN pProgressGame, int coins)
        {
            ExchangeCoinsResponse response = new ExchangeCoinsResponse();

            if (pProgressGame.Achievement.Code != "00" && pProgressGame.Achievement.Code != "01")
            {
                response.Code    = pProgressGame.Achievement.Code;
                response.Message = pProgressGame.Achievement.Message;
            }
            else
            {
                response.tracking      = new TrackingResponse();
                response.ExchangeCoins = coins;
                response.tracking.CurrentCoinsProgress = pProgressGame.Tracking.CurrentCoinsProgress;
                response.tracking.TotalWinCoins        = pProgressGame.Tracking.TotalWinCoins;
                response.tracking.TotalWinPrizes       = pProgressGame.Tracking.TotalWinPrizes;
                response.tracking.TotalSouvenirs       = pProgressGame.Tracking.TotalSouvenirs;
                response.tracking.AgeID = pProgressGame.Tracking.AgeID;

                if (pProgressGame.Achievement != null)
                {
                    if (pProgressGame.Achievement.NewLevel > 0)
                    {
                        response.Achievement                = new NewAchievement();
                        response.Achievement.Name           = pProgressGame.Achievement.Name;
                        response.Achievement.Level          = pProgressGame.Achievement.Level;
                        response.Achievement.Score          = pProgressGame.Achievement.Score;
                        response.Achievement.ValueNextLevel = pProgressGame.Achievement.ValueNextLevel;
                        response.Achievement.Prize          = pProgressGame.Achievement.Prize;
                    }
                }
                response.Code = "00";

                response.Type = 1;
            }

            return(response);
        }
Ejemplo n.º 2
0
        public WinCoinEN Exist(int consumerID, string locationID, DateTime regDate, ref string error)
        {
            WinCoinEN result = new WinCoinEN();

            try
            {
                con.Cnn.Open();

                result = con.Cnn.Query <WinCoinEN>("SpExistLocationByConsumerAndDate", new { @ConsumerID = consumerID, @LocationID = locationID, @RegDate = regDate },
                                                   commandType: CommandType.StoredProcedure).FirstOrDefault();
            }
            catch (Exception ex)
            {
                EventViewerLoggerDAL.LogError(ex.Message);
                result = null;
            }
            finally
            {
                con.Cnn.Close();
            }

            return(result);
        }
Ejemplo n.º 3
0
        public int InsertWinCoin(WinCoinEN WinCoin)
        {
            int?inserted = default(int);

            try
            {
                connection.Cnn.Open();

                inserted = connection.Cnn.Insert(WinCoin);
            }
            catch (Exception ex)
            {
                inserted = 0;
                Console.WriteLine(ex.Message);
                EventViewerLogger.LogError("InsertWinCoin: " + ex.Message);
            }
            finally
            {
                connection.Cnn.Close();
            }

            return(Convert.ToInt32(inserted));
        }
Ejemplo n.º 4
0
        public IResponse createExchangeCoinsResultsResponse(WinCoinEN pProgressGame, int coins, int type)
        {
            ExchangeCoinsResponse response = new ExchangeCoinsResponse();

            if (pProgressGame.Achievement.Code != "00" && pProgressGame.Achievement.Code != "01")
            {
                response.Code    = pProgressGame.Achievement.Code;
                response.Message = pProgressGame.Achievement.Message;
            }
            else
            {
                response.tracking      = new TrackingResponse();
                response.ExchangeCoins = coins;
                response.tracking.CurrentCoinsProgress = pProgressGame.Tracking.CurrentCoinsProgress;
                response.tracking.TotalWinCoins        = pProgressGame.Tracking.TotalWinCoins;
                response.tracking.TotalWinPrizes       = pProgressGame.Tracking.TotalWinPrizes;
                response.tracking.TotalSouvenirs       = pProgressGame.Tracking.TotalSouvenirs;
                response.tracking.AgeID = pProgressGame.Tracking.AgeID;
                response.Code           = pProgressGame.Achievement.Code;
                response.Type           = type;
            }

            return(response);
        }
Ejemplo n.º 5
0
        public bool AddCoinByTopup(int pConsumerID)
        {
            bool addedCoin = false;

            try
            {
                PlayersTrackingEN tracking = new PlayersTrackingEN();

                int coins = int.Parse(ConfigurationManager.AppSettings["CoinsByTopupSuccess"].ToString());

                var currentTracking = gameDAL.GetProgressGame(pConsumerID);

                if (currentTracking != null)
                {
                    tracking = currentTracking;
                    tracking.CurrentCoinsProgress = currentTracking.CurrentCoinsProgress + coins;
                    tracking.CurrentCoinsProgress = (tracking.CurrentCoinsProgress >= 20) ? 20 : tracking.CurrentCoinsProgress;
                    tracking.ModDate           = DateTime.Now;
                    tracking.ConsumerID        = pConsumerID;
                    tracking.PlayersTrackingID = currentTracking.PlayersTrackingID;

                    tracking.TotalWinCoins = currentTracking.TotalWinCoins + coins;

                    int UpdateResult = gameDAL.UpdatePlayerTracking(tracking);

                    //Updates current progress
                    if (UpdateResult > 0)
                    {
                        WinCoinEN winCoin = new WinCoinEN();

                        winCoin.ConsumerID    = pConsumerID;
                        winCoin.ExchangeCoins = coins;
                        winCoin.RegDate       = DateTime.Now;
                        winCoin.Longitude     = 0;
                        winCoin.Latitude      = 0;
                        winCoin.LocationID    = "0";
                        winCoin.ChestType     = 1;

                        var ResultInsert = gameDAL.InsertWinCoin(winCoin);

                        if (ResultInsert > 0)
                        {
                            addedCoin = true;
                        }
                    }
                }
                else
                {
                    tracking.CurrentCoinsProgress = coins;
                    tracking.CurrentCoinsProgress = (tracking.CurrentCoinsProgress >= 20) ? 20 : coins;
                    tracking.TotalWinCoins        = coins;
                    tracking.TotalWinPrizes       = 0;

                    int ResltInsert = gameDAL.InsertPlayerTracking(tracking.TotalWinCoins, tracking.CurrentCoinsProgress, pConsumerID, DateTime.Now);

                    //Inserts current progress
                    if (ResltInsert > 0)
                    {
                        WinCoinEN winCoin = new WinCoinEN();

                        winCoin.ConsumerID    = pConsumerID;
                        winCoin.ExchangeCoins = coins;
                        winCoin.RegDate       = DateTime.Now;
                        winCoin.Longitude     = 0;
                        winCoin.Latitude      = 0;
                        winCoin.LocationID    = "0";
                        winCoin.ChestType     = 0;

                        int InsertWinCoin = gameDAL.InsertWinCoin(winCoin);


                        if (InsertWinCoin > 0)
                        {
                            addedCoin = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                EventViewerLogger.LogError("" + ex.Message);
            }

            return(addedCoin);
        }
Ejemplo n.º 6
0
        public WinCoinEN AddOrDiscountCoinsWildCard(string LocationID, decimal Longitude, decimal Latitude, int ConsumerID, ref int coins, int AgeID, int type)
        {
            int       CurrentCoinsProgress = 0;
            DateTime  RegDate  = DateTime.Now;
            Random    random   = new Random();
            WinCoinEN response = new WinCoinEN();
            string    error    = "";

            try
            {
                var currentProgress = exchangeCoinsDAL.GetProgressGameIsNotExistTracking(ConsumerID, LocationID, RegDate, ref error);

                if (currentProgress != null && error == "")
                {
                    string ChestkeyValue = ConfigurationManager.AppSettings["CoinsWildCard"].ToString();

                    var range    = ChestkeyValue.Split(',');
                    int minValue = int.Parse(range[0]);
                    int maxValue = int.Parse(range[1]);
                    coins = random.Next(minValue, maxValue);

                    int negativo       = -1;
                    int limitCoins     = int.Parse(ConfigurationManager.AppSettings["limitCoins"].ToString());
                    int TotalWinCoins  = 0;
                    int TotalWinPrizes = 0;

                    if (type == 1)
                    {
                        CurrentCoinsProgress = 0;

                        TotalWinCoins  = (currentProgress != null) ? currentProgress.TotalWinCoins - coins : 0;
                        TotalWinPrizes = (currentProgress != null) ? currentProgress.TotalWinPrizes : 0;

                        coins = coins * negativo;
                    }
                    else if (type == 2)
                    {
                        CurrentCoinsProgress = (currentProgress != null) ? currentProgress.CurrentCoinsProgress + coins : coins;

                        CurrentCoinsProgress = (CurrentCoinsProgress >= limitCoins) ? limitCoins : CurrentCoinsProgress;

                        TotalWinCoins  = (currentProgress != null) ? currentProgress.TotalWinCoins + coins : coins;
                        TotalWinPrizes = (currentProgress != null) ? currentProgress.TotalWinPrizes : 0;
                    }
                    else  //Prize not found
                    {
                        coins = 100;
                        CurrentCoinsProgress = (currentProgress != null) ? currentProgress.CurrentCoinsProgress + coins : coins;

                        CurrentCoinsProgress = (CurrentCoinsProgress >= limitCoins) ? limitCoins : CurrentCoinsProgress;

                        TotalWinCoins  = (currentProgress != null) ? currentProgress.TotalWinCoins + coins : coins;
                        TotalWinPrizes = (currentProgress != null) ? currentProgress.TotalWinPrizes : 0;
                    }


                    var resultSaveData = exchangeCoinsDAL.SaveCoinsWildCard(ConsumerID, LocationID, Longitude, Latitude, RegDate, coins, TotalWinCoins, CurrentCoinsProgress, TotalWinPrizes, ref error, AgeID);

                    if (error == "" && (resultSaveData.Code == "00" || resultSaveData.Code == "01"))
                    {
                        //success
                        response.Tracking = new PlayersTrackingEN();
                        response.Tracking.ExchangeCoins        = coins;
                        response.Tracking.CurrentCoinsProgress = resultSaveData.Tracking.CurrentCoinsProgress;
                        response.Tracking.TotalWinCoins        = resultSaveData.Tracking.TotalWinCoins;
                        response.Tracking.TotalWinPrizes       = resultSaveData.Tracking.TotalWinPrizes;
                        response.Tracking.TotalSouvenirs       = resultSaveData.Tracking.TotalSouvenirs;
                        response.Tracking.AgeID = resultSaveData.Tracking.AgeID;

                        response.Achievement      = new AchievementEN();
                        response.Achievement.Code = "00";
                    }
                    else
                    {
                        response.Achievement         = new AchievementEN();
                        response.Achievement.Code    = resultSaveData.Code;
                        response.Achievement.Message = resultSaveData.Message + " consumerID: " + ConsumerID.ToString();
                    }
                }
                else
                {
                    response.Achievement         = new AchievementEN();
                    response.Achievement.Code    = "05";
                    response.Achievement.Message = "Solo lo puedes canjear una vez al dia";
                }
            }
            catch (Exception ex)
            {
                response.Achievement         = new AchievementEN();
                response.Achievement.Code    = "06";
                response.Achievement.Message = ex.Message;
                error = ex.Message;
            }

            return(response);
        }
Ejemplo n.º 7
0
        public WinCoinEN ProcessExchangeCoins(string LocationID, decimal Longitude, decimal Latitude, int ChestType, int ConsumerID, ref int coins, int AgeID)
        {
            int       CurrentCoinsProgress = 0;
            DateTime  RegDate  = DateTime.Now;
            Random    random   = new Random();
            WinCoinEN response = new WinCoinEN();
            string    error    = "";

            try
            {
                var currentProgress = exchangeCoinsDAL.GetProgressGameIsNotExistTracking(ConsumerID, LocationID, RegDate, ref error);

                if (currentProgress != null && error == "")
                {
                    string ChestkeyValue = ConfigurationManager.AppSettings[ChestType.ToString()].ToString();

                    var range    = ChestkeyValue.Split(',');
                    int minValue = int.Parse(range[0]);
                    int maxValue = int.Parse(range[1]);
                    coins = random.Next(minValue, maxValue);

                    CurrentCoinsProgress = (currentProgress != null) ? currentProgress.CurrentCoinsProgress + coins : coins;

                    int limitCoins = int.Parse(ConfigurationManager.AppSettings["limitCoins"].ToString());

                    CurrentCoinsProgress = (CurrentCoinsProgress >= limitCoins) ? limitCoins : CurrentCoinsProgress;

                    int insert = (currentProgress.TotalWinCoins == 0) ? 1 : 0;

                    int TotalWinCoins  = (currentProgress != null) ? currentProgress.TotalWinCoins + coins : coins;
                    int TotalWinPrizes = (currentProgress != null) ? currentProgress.TotalWinPrizes : 0;


                    var resultSaveData = exchangeCoinsDAL.SaveData(ConsumerID, LocationID, Longitude, Latitude, RegDate, ChestType, coins, TotalWinCoins, CurrentCoinsProgress, TotalWinPrizes, ref error, currentProgress.AgeID);

                    if (error == "" && (resultSaveData.Code == "00" || resultSaveData.Code == "01"))
                    {
                        //success
                        response.Tracking = new PlayersTrackingEN();
                        response.Tracking.ExchangeCoins        = coins;
                        response.Tracking.CurrentCoinsProgress = resultSaveData.Tracking.CurrentCoinsProgress;
                        response.Tracking.TotalWinCoins        = resultSaveData.Tracking.TotalWinCoins;
                        response.Tracking.TotalWinPrizes       = resultSaveData.Tracking.TotalWinPrizes;
                        response.Tracking.TotalSouvenirs       = resultSaveData.Tracking.TotalSouvenirs;
                        response.Tracking.AgeID = resultSaveData.Tracking.AgeID;
                        response.Achievement    = new AchievementEN();
                        if (resultSaveData.Code == "00")
                        {
                            response.Achievement.Name           = resultSaveData.Name;
                            response.Achievement.FirstLevel     = resultSaveData.FirstLevel;
                            response.Achievement.SecondLevel    = resultSaveData.SecondLevel;
                            response.Achievement.ThirdLevel     = resultSaveData.ThirdLevel;
                            response.Achievement.Level          = resultSaveData.Level;
                            response.Achievement.NewLevel       = resultSaveData.NewLevel;
                            response.Achievement.Score          = resultSaveData.Score;
                            response.Achievement.ValueNextLevel = resultSaveData.ValueNextLevel;
                            response.Achievement.Prize          = resultSaveData.Prize;
                        }

                        response.Achievement.Code = "00";
                    }
                    else
                    {
                        response.Achievement         = new AchievementEN();
                        response.Achievement.Code    = resultSaveData.Code;
                        response.Achievement.Message = resultSaveData.Message + " consumerID: " + ConsumerID.ToString();
                    }
                }
                else
                {
                    response.Achievement         = new AchievementEN();
                    response.Achievement.Code    = "05";
                    response.Achievement.Message = "Solo lo puedes canjear una vez al dia";
                }
            }
            catch (Exception ex)
            {
                response.Achievement         = new AchievementEN();
                response.Achievement.Code    = "06";
                response.Achievement.Message = ex.Message;
                error = ex.Message;
            }

            return(response);
        }