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); }
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); }
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)); }
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); }
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); }
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); }
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); }