Beispiel #1
0
        private void RankSave()
        {
            RewardInfo rank = new RewardInfo();

            rank.RankId   = -1;
            rank.ModuleId = ModuleId;
            rank.PortalId = PortalId;
            if (Params.ContainsKey("RankId"))
            {
                rank.RankId = Convert.ToInt32(Params["RankId"]);
            }
            if (Params.ContainsKey("RankName"))
            {
                rank.RankName = Params["RankName"].ToString();
            }
            if (Params.ContainsKey("MinPosts"))
            {
                rank.MinPosts = Convert.ToInt32(Params["MinPosts"]);
            }
            if (Params.ContainsKey("MaxPosts"))
            {
                rank.MaxPosts = Convert.ToInt32(Params["MaxPosts"]);
            }
            if (Params.ContainsKey("Display"))
            {
                rank.Display = Params["Display"].ToString();
            }
            RewardController rc = new RewardController();

            rank = rc.Reward_Save(rank);
        }
        private static string GenerateDecisionNumber(string suffix)
        {
            // get full suffix
            if (string.IsNullOrEmpty(suffix))
            {
                return("");
            }
            suffix = DateTime.Now.Year + "/" + suffix;
            // get max number of constract
            var rewardNumber = RewardController.GetRewardNumberByCondition(suffix);

            if (rewardNumber == null || rewardNumber.Id <= 0)
            {
                return("001/" + suffix);
            }
            var sohd = rewardNumber.DecisionNumber;
            var pos  = sohd.IndexOf('/');

            if (pos == -1)
            {
                return("001/" + suffix);
            }
            var stt    = sohd.Trim().Substring(0, pos);
            var number = int.Parse(stt);

            stt = "0000" + (number + 1);
            stt = stt.Substring(stt.Length - 3);
            stt = stt + "/" + suffix;
            return(stt);
            // chưa có số hợp đồng nào theo định dạng
        }
        public void ShouldBeAbleToReturnViewWithRewards()
        {
            var mockedStorage          = new Mock <IStorage>();
            List <RewardModel> rewards = new List <RewardModel>
            {
                new RewardModel {
                    Id = 1, Title = "1", Description = "1"
                },
                new RewardModel {
                    Id = 2, Title = "2", Description = "2"
                },
                new RewardModel {
                    Id = 3, Title = "3", Description = "3"
                },
            };

            mockedStorage.Setup(x => x.GetRewardsList()).Returns(rewards);
            var        controller = new RewardController(mockedStorage.Object);
            ViewResult result     = (ViewResult)controller.AddEdit(1);

            RewardViewModel resultModel = (RewardViewModel)result.Model;

            Assert.NotNull(result);
            Assert.NotNull(resultModel);
        }
Beispiel #4
0
        public void TestGetDirectionBetweenTwoPoints()
        {
            RewardController rc = new RewardController(null);
            var model           = RewardRequestModel.FromJson(testData2);

            rc.RewardBySpeed(model);
        }
Beispiel #5
0
        public void AddMemberRewards_Negative(MemberModel testMember, IHertzProgram program, int errorCode, string errorMessage)
        {
            MemberController      memController = new MemberController(Database, TestStep);
            TxnHeaderController   txnController = new TxnHeaderController(Database, TestStep);
            List <TxnHeaderModel> txnList       = new List <TxnHeaderModel>();
            int              daysAfterCheckOut  = 1;
            DateTime         checkOutDt         = DateTime.Now;
            DateTime         checkInDt          = checkOutDt.AddDays(daysAfterCheckOut);
            DateTime         origBkDt           = checkOutDt;
            RewardController rewardController   = new RewardController(Database, TestStep);
            RewardDefModel   reward             = rewardController.GetRandomRewardDef(program);
            decimal          points             = Math.Round(Math.Max(0, (reward.HOWMANYPOINTSTOEARN - (reward.HOWMANYPOINTSTOEARN * 0.5M))));
            long             pointeventid       = 6263265;

            try
            {
                TestStep.Start("Assing Member unique LoyaltyIds for each virtual card", "Unique LoyaltyIds should be assigned");
                testMember = memController.AssignUniqueLIDs(testMember);
                TestStep.Pass("Unique LoyaltyIds assigned", testMember.VirtualCards.ReportDetail());

                string loyaltyID   = testMember.VirtualCards[0].LOYALTYIDNUMBER;
                string alternateID = testMember.ALTERNATEID;
                string vckey       = testMember.VirtualCards[0].VCKEY.ToString();

                TestStep.Start($"Make AddMember Call", $"Member with LID {loyaltyID} should be added successfully and member object should be returned");
                MemberModel memberOut = memController.AddMember(testMember);
                AssertModels.AreEqualOnly(testMember, memberOut, MemberModel.BaseVerify);
                TestStep.Pass("Member was added successfully and member object was returned", memberOut.ReportDetail());

                TestStep.Start($"Make AwardLoyaltyCurrency Call", $"Member should be updated successfully and earn {points} points");
                HertzAwardLoyaltyCurrencyResponseModel currencyOut = memController.HertzAwardLoyaltyCurrency(loyaltyID, "oagwuegbo", points, pointeventid, "Automated Appeasement", null);
                decimal pointsOut = memController.GetPointSumFromDB(loyaltyID);
                Assert.AreEqual(points, pointsOut, "Expected points and pointsOut values to be equal, but the points awarded to the member and the point summary taken from the DB are not equal");
                Assert.AreEqual(currencyOut.CurrencyBalance, points, "Expected point value put into AwardLoyaltyCurrency API Call to be equal to the member's current balance, but the point values are not equal");
                TestStep.Pass("Points are successfully awarded");

                TestStep.Start("Make AddMemberReward Call", "AddMemberReward Call is unsuccessful and throws an exception");
                LWServiceException exception = Assert.Throws <LWServiceException>(() => memController.AddMemberReward(loyaltyID, reward.CERTIFICATETYPECODE, testMember.MemberDetails.A_EARNINGPREFERENCE), "Excepted LWServiceException, exception was not thrown.");
                Assert.AreEqual(errorCode, exception.ErrorCode);
                Assert.IsTrue(exception.Message.Contains(errorMessage));
                TestStep.Pass("AddMemberReward Call is unsuccessful and error codes are validated");
            }
            catch (LWServiceException ex)
            {
                TestStep.Fail(ex.Message, new[] { $"Error Code: {ex.ErrorCode}", $"Error Message: {ex.ErrorMessage}" });
                Assert.Fail();
            }
            catch (AssertModelEqualityException ex)
            {
                TestStep.Fail(ex.Message, ex.ComparisonFailures);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                TestStep.Abort(ex.Message);
                Assert.Fail();
            }
        }
Beispiel #6
0
 private void Awake()
 {
     if (Instance)
     {
         Destroy(gameObject);
     }
     else
     {
         Instance = this;
         DontDestroyOnLoad(gameObject);
     }
 }
Beispiel #7
0
    public MainController(Transform placeForUi, ProfilePlayer profilePlayer)
    {
        _profilePlayer  = profilePlayer;
        _placeForUi     = placeForUi;
        _inventoryModel = ConfigureInventoryModel();
        OnChangeGameState(_profilePlayer.CurrentState.Value);
        profilePlayer.CurrentState.SubscribeOnChange(OnChangeGameState);

        _rewardController = new RewardController(profilePlayer.CurrentState);
        AddController(_rewardController);
        _currencyController = new CurrencyController();
        AddController(_currencyController);
    }
Beispiel #8
0
        public void GetMemberRewards_Negative(MemberModel testMember, IHertzProgram program, int errorCode, string errorMessage)
        {
            MemberController      memController = new MemberController(Database, TestStep);
            List <TxnHeaderModel> txnList       = new List <TxnHeaderModel>();
            int              daysAfterCheckOut  = 1;
            DateTime         checkOutDt         = new DateTime(2020, 03, 12);
            DateTime         checkInDt          = checkOutDt.AddDays(daysAfterCheckOut);
            DateTime         origBkDt           = checkOutDt;
            RewardController rewardController   = new RewardController(Database, TestStep);
            RewardDefModel   reward             = rewardController.GetRandomRewardDef(program);
            decimal          points             = reward.HOWMANYPOINTSTOEARN;

            try
            {
                TestStep.Start("Assing Member unique LoyaltyIds for each virtual card", "Unique LoyaltyIds should be assigned");
                testMember = memController.AssignUniqueLIDs(testMember);
                TestStep.Pass("Unique LoyaltyIds assigned", testMember.VirtualCards.ReportDetail());

                string loyaltyID   = testMember.VirtualCards[0].LOYALTYIDNUMBER;
                string alternateID = testMember.ALTERNATEID;
                string vckey       = testMember.VirtualCards[0].VCKEY.ToString();

                TestStep.Start($"Make AddMember Call", $"Member with LID {loyaltyID} should be added successfully and member object should be returned");
                MemberModel memberOut = memController.AddMember(testMember);
                AssertModels.AreEqualOnly(testMember, memberOut, MemberModel.BaseVerify);
                TestStep.Pass("Member was added successfully and member object was returned", memberOut.ReportDetail());

                TestStep.Start("GetMemberRewards API is Called", "GetMemberRewards API Unsucessfully Returns");
                LWServiceException exception = Assert.Throws <LWServiceException>(() => memController.GetMemberRewards(loyaltyID), "Excepted LWServiceException, exception was not thrown.");
                Assert.AreEqual(errorCode, exception.ErrorCode);
                Assert.IsTrue(exception.Message.Contains(errorMessage));
                TestStep.Pass("GetMemberRewards Return is Validated");
            }
            catch (LWServiceException ex)
            {
                TestStep.Fail(ex.Message, new[] { $"Error Code: {ex.ErrorCode}", $"Error Message: {ex.ErrorMessage}" });
                Assert.Fail();
            }
            catch (AssertModelEqualityException ex)
            {
                TestStep.Fail(ex.Message, ex.ComparisonFailures);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                TestStep.Abort(ex.Message);
                Assert.Fail();
            }
        }
        public void ShouldBeAbleToReturnIdWhenAddingReward()
        {
            var mockedStorage = new Mock <IStorage>();

            mockedStorage.Setup(x => x.GetRewardsList()).Returns(new List <RewardModel>());
            var        controller    = new RewardController(mockedStorage.Object);
            ViewResult result        = (ViewResult)controller.Index();
            int        expectedCount = 0;

            List <RewardViewModel> resultModel = (List <RewardViewModel>)result.Model;

            Assert.NotNull(result);
            Assert.NotNull(resultModel);
            Assert.Equal(resultModel.Count, expectedCount);
        }
Beispiel #10
0
 private void Awake()
 {
     theCard         = GetComponent <CardDisplay>();
     m_cardBehavior  = GetComponent <CardBehavior>();
     deck            = FindObjectOfType <Stack>();
     enemyController = FindObjectOfType <EnemyController>();
     //get the rectTransform from playArea
     playArea = GameObject.FindGameObjectWithTag("PlayArea").GetComponent <RectTransform>();
     //get the combat controller
     combatController = FindObjectOfType <CombatController>();
     //get the reward controller
     rewardController = FindObjectOfType <RewardController>();
     //get the GameStateController
     gameController = FindObjectOfType <GameStateController>();
 }
Beispiel #11
0
        private void RankDelete()
        {
            int RankId = -1;

            if (Params.ContainsKey("RankId"))
            {
                RankId = Convert.ToInt32(Params["RankId"]);
            }
            if (RankId == -1)
            {
                return;
            }
            RewardController rc = new RewardController();

            rc.Reward_Delete(PortalId, ModuleId, RankId);
        }
Beispiel #12
0
 public DbMngr()
 {
     UserController      = new UserController();
     AppLocaleController = new AppLocaleController();
     AppTextController   = new AppTextController();
     BankController      = new BankController();
     BattleController    = new BattleController();
     CityController      = new CityController();
     HarborController    = new HarborController();
     InventoryController = new InventoryController();
     ItemController      = new ItemController();
     MarketController    = new MarketController();
     PowerupController   = new PowerupController();
     ProfileAiController = new ProfileAIController();
     QuestController     = new QuestController();
     ResourceController  = new ResourceController();
     RewardController    = new RewardController();
     ScenarioController  = new ScenarioController();
     UserGameController  = new UserGameController();
     VesselController    = new VesselController();
     WeaponController    = new WeaponController();
 }
Beispiel #13
0
    private void OnChangeGameState(GameState state)
    {
        switch (state)
        {
        case GameState.Start:
            _mainMenuController = new MainMenuController(_placeForUi, _profilePlayer);
            _gameController?.Dispose();
            _shedController?.Dispose();
            break;

        case GameState.Game:
            _gameController = new GameController(_placeForUi, _profilePlayer);
            _mainMenuController?.Dispose();
            break;

        case GameState.Shed:
            _shedController = new ShedController(_placeForUi, _profilePlayer);
            _mainMenuController?.Dispose();
            break;

        case GameState.Reward:
            _rewardController = new RewardController();
            _mainMenuController?.Dispose();
            break;

        case GameState.Exit:
            Application.Quit();
            break;

        default:
            _mainMenuController?.Dispose();
            _gameController?.Dispose();
            _shedController?.Dispose();
            _rewardController?.Dispose();
            break;
        }
    }
Beispiel #14
0
        private string GetRank()
        {
            int RankId = -1;

            if (Params.ContainsKey("RankId"))
            {
                RankId = Convert.ToInt32(Params["RankId"]);
            }
            RewardController rc   = new RewardController();
            RewardInfo       rank = rc.Reward_Get(PortalId, ModuleId, RankId);
            string           sOut = "{";

            sOut += Utilities.JSON.Pair("RankId", rank.RankId.ToString());
            sOut += ",";
            sOut += Utilities.JSON.Pair("RankName", rank.RankName);
            sOut += ",";
            sOut += Utilities.JSON.Pair("MinPosts", rank.MinPosts.ToString());
            sOut += ",";
            sOut += Utilities.JSON.Pair("MaxPosts", rank.MaxPosts.ToString());
            sOut += ",";
            sOut += Utilities.JSON.Pair("Display", rank.Display.ToLowerInvariant().Replace("activeforums/ranks", "activeforums/images/ranks"));
            sOut += "}";
            return(sOut);
        }
		private void RankDelete()
		{
			int RankId = -1;
			if (Params.ContainsKey("RankId"))
			{
				RankId = Convert.ToInt32(Params["RankId"]);
			}
			if (RankId == -1)
			{
				return;
			}
			RewardController rc = new RewardController();
			rc.Reward_Delete(PortalId, ModuleId, RankId);

		}
		private void RankSave()
		{
			RewardInfo rank = new RewardInfo();
			rank.RankId = -1;
			rank.ModuleId = ModuleId;
			rank.PortalId = PortalId;
			if (Params.ContainsKey("RankId"))
			{
				rank.RankId = Convert.ToInt32(Params["RankId"]);
			}
			if (Params.ContainsKey("RankName"))
			{
				rank.RankName = Params["RankName"].ToString();
			}
			if (Params.ContainsKey("MinPosts"))
			{
				rank.MinPosts = Convert.ToInt32(Params["MinPosts"]);
			}
			if (Params.ContainsKey("MaxPosts"))
			{
				rank.MaxPosts = Convert.ToInt32(Params["MaxPosts"]);
			}
			if (Params.ContainsKey("Display"))
			{
				rank.Display = Params["Display"].ToString();
			}
			RewardController rc = new RewardController();
			rank = rc.Reward_Save(rank);
		}
		private string GetRank()
		{
			int RankId = -1;
			if (Params.ContainsKey("RankId"))
			{
				RankId = Convert.ToInt32(Params["RankId"]);
			}
			RewardController rc = new RewardController();
			RewardInfo rank = rc.Reward_Get(PortalId, ModuleId, RankId);
			string sOut = "{";
			sOut += Utilities.JSON.Pair("RankId", rank.RankId.ToString());
			sOut += ",";
			sOut += Utilities.JSON.Pair("RankName", rank.RankName);
			sOut += ",";
			sOut += Utilities.JSON.Pair("MinPosts", rank.MinPosts.ToString());
			sOut += ",";
			sOut += Utilities.JSON.Pair("MaxPosts", rank.MaxPosts.ToString());
			sOut += ",";
			sOut += Utilities.JSON.Pair("Display", rank.Display.ToLowerInvariant().Replace("activeforums/ranks", "activeforums/images/ranks"));
			sOut += "}";
			return sOut;
		}
Beispiel #18
0
    public override void OnOpen(string[] agruments = null, Action onCloseComplete = null)
    {
        SetBoostEXP();

        Master.Tutorial.CheckAndFinishTutorial();

        //stop game
        Time.timeScale       = 0;
        starRewardLabel.text = "--";
        gemRewardLabel.text  = "--";
        allButtons.transform.localPosition = new Vector3(allButtons.transform.localPosition.x, -500, 0);
        allButtons.SetActive(false);
        //check is victory
        if (GameplayController.gameDifficult == GameplayController.GameDifficult.Normal)
        {
            hardModeIcon.SetActive(false);
        }
        else
        {
            hardModeIcon.SetActive(true);
        }
        if (Master.Gameplay.zombiesEscaped > 0)
        {
            isVictory = false;
        }

        if (Master.LevelData.currentLevel <= Master.LevelData.lastLevel)
        {
            isPlayedThisLevel = true;
        }

        Master.Audio.StopBackgroundMusic();

        if (isVictory)
        {
            Master.Stats.TimesLevelComplete++;

            Master.Audio.PlaySound("snd_victory_2", 0.8f);

            //calculate star
            float percentUnitDead = ((float)Master.Gameplay.unitsDead / Master.Level.currentLevelData.NumberOfUnitsAllowedDead) * 100;
            if (percentUnitDead < 20)
            {
                star = 3;
            }
            else if (percentUnitDead >= 20 && percentUnitDead < 45)
            {
                star = 2;
            }

            //set Status icon
            completeStatusTexture.mainTexture = Resources.Load <Texture2D>("Textures/UI/Dialog/LevelComplete/victory");

            //save level data
            gemRewardValue  = RewardController.GetGemReward(Master.LevelData.currentLevel, star);
            starRewardValue = RewardController.GetStarReward(Master.LevelData.currentLevel, star);
            if (GameplayController.gameDifficult == GameplayController.GameDifficult.Normal)
            {
                Master.LevelData.SetLastLevel(Master.LevelData.currentLevel);
                Master.LevelData.SetStarAtLevel(Master.LevelData.currentLevel, star);
            }
            else if (GameplayController.gameDifficult == GameplayController.GameDifficult.Hard)
            {
                Master.LevelData.lastLevelHard = Master.LevelData.currentLevel;
                Master.LevelData.SetStarAtLevelHard(Master.LevelData.currentLevel, star);
            }

            if (Master.LevelData.currentLevel >= Master.LevelData.totalLevel)
            {
                NGUITools.Destroy(nextButton);
                buttonsGrid.Reposition();
            }
        }
        else
        {
            Master.Audio.PlaySound("snd_defeat", 0.3f);

            star = 0;
            completeStatusTexture.mainTexture = Resources.Load <Texture2D>("Textures/UI/Dialog/LevelComplete/defeat");
            starRewardLabel.text = "0";
            gemRewardLabel.text  = "0";
            NGUITools.Destroy(nextButton);
            buttonsGrid.Reposition();
            shareButtons.SetActive(false);
        }
    }
        public void CancelMemberReward_Positive(MemberModel createMember, IHertzProgram program)
        {
            MemberController      memberController = new MemberController(Database, TestStep);
            TxnHeaderController   txnController    = new TxnHeaderController(Database, TestStep);
            List <TxnHeaderModel> txnList          = new List <TxnHeaderModel>();
            int              daysAfterCheckOut     = 1;
            DateTime         checkOutDt            = new DateTime(2020, 01, 31);
            DateTime         checkInDt             = checkOutDt.AddDays(daysAfterCheckOut);
            DateTime         origBkDt         = checkOutDt;
            RewardController rewardController = new RewardController(Database, TestStep);
            RewardDefModel   reward           = rewardController.GetRandomRewardDef(program);
            decimal          points           = reward.HOWMANYPOINTSTOEARN;
            decimal          pointsOutDb      = 0;

            try
            {
                TestStep.Start("Adding Member unique LoyaltyIds for each virtual card", "Unique LoyaltyIds should be assigned");
                createMember = memberController.AssignUniqueLIDs(createMember);
                TestStep.Pass("Unique LoyaltyIds assigned", createMember.VirtualCards.ReportDetail());

                string loyaltyID   = createMember.VirtualCards[0].LOYALTYIDNUMBER;
                string alternateID = createMember.ALTERNATEID;
                string vckey       = createMember.VirtualCards[0].VCKEY.ToString();

                TestStep.Start($"Make AddMember Call", $"Member with LID {loyaltyID} should be added successfully and member object should be returned");
                MemberModel memberOut = memberController.AddMember(createMember);
                AssertModels.AreEqualOnly(createMember, memberOut, MemberModel.BaseVerify);
                TestStep.Pass("Member was added successfully and member object was returned", memberOut.ReportDetail());

                if (program.EarningPreference == HertzLoyalty.GoldPointsRewards.EarningPreference)
                {
                    TestStep.Start($"Make UpdateMember Call", $"Member should be updated successfully and earn {points} points");
                    TxnHeaderModel txn = TxnHeaderController.GenerateTransaction(loyaltyID, checkInDt, checkOutDt, origBkDt, null, program, null, "US", points, null, null, "N", "US", null);
                    txnList.Add(txn);
                    createMember.VirtualCards[0].Transactions = txnList;
                    MemberModel updatedMember = memberController.UpdateMember(createMember);
                    txnList.Clear();
                    Assert.IsNotNull(updatedMember, "Expected non null Member object to be returned");
                    TestStep.Pass("Member was successfully updated");
                }
                else //Dollar and Thrifty Members Cannot be updated with the UpdateMember API so we use the HertzAwardLoyatlyCurrency API instead
                {
                    TestStep.Start($"Make AwardLoyaltyCurrency Call", $"Member should be updated successfully and earn {points} points");
                    AwardLoyaltyCurrencyResponseModel currencyOut = memberController.AwardLoyaltyCurrency(loyaltyID, points);
                    pointsOutDb = memberController.GetPointSumFromDB(loyaltyID);
                    Assert.AreEqual(points, pointsOutDb, "Expected points and pointsOut values to be equal, but the points awarded to the member and the point summary taken from the DB are not equal");
                    Assert.AreEqual(currencyOut.CurrencyBalance, points, "Expected point value put into AwardLoyaltyCurrency API Call to be equal to the member's current balance, but the point values are not equal");
                    TestStep.Pass("Points are successfully awarded");
                }

                TestStep.Start("Make AddMemberReward Call", "AddMemberReward Call is successfully made");
                AddMemberRewardsResponseModel rewardResponse = memberController.AddMemberReward(loyaltyID, reward.CERTIFICATETYPECODE, createMember.MemberDetails.A_EARNINGPREFERENCE);
                Assert.IsNotNull(rewardResponse, "Expected populated AddMemberRewardsResponse object from AddMemberRewards call, but AddMemberRewardsResponse object returned was null");
                TestStep.Pass("Reward is added.");

                TestStep.Start("Validate that Member has Reward", "Member is found with Reward");
                IEnumerable <MemberRewardsModel> membersRewardOut = memberController.GetMemberRewardsFromDB(memberOut.IPCODE, rewardResponse.MemberRewardID);
                Assert.IsNotNull(membersRewardOut, "Expected populated MemberRewards object from query, but MemberRewards object returned was null");
                Assert.Greater(membersRewardOut.Count(), 0, "Expected at least one MemberReward to be returned from query");
                TestStep.Pass("Member Reward Found");

                var memberRewardId = rewardResponse.MemberRewardID.ToString();
                TestStep.Start("Call CancelMemberreward API", "Member reward is cancelled");
                var currencyBalance = memberController.CancelMemberReward(memberRewardId, null, null, null, null, null, null, null);
                Assert.IsNotNull(currencyBalance, "Expected Member Point Balance");
                TestStep.Pass("Successfully cancelled member reward");

                TestStep.Start("Get Total points from PointTransaction table in DB", "Expected Total points for the member");
                pointsOutDb = memberController.GetPointSumFromDB(loyaltyID);
                Assert.IsNotNull(pointsOutDb, "Expected non null point value");
                Assert.AreEqual(currencyBalance, pointsOutDb, "Expected API Point Balance after cancellation to be equal to sum of points from DB");
                TestStep.Pass("Point successfully credited to member");
            }
            catch (LWServiceException ex)
            {
                TestStep.Fail(ex.Message, new[] { $"Error Code: {ex.ErrorCode}", $"Error Message: {ex.ErrorMessage}" });
                Assert.Fail();
            }
            catch (AssertModelEqualityException ex)
            {
                TestStep.Fail(ex.Message, ex.ComparisonFailures);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                TestStep.Abort(ex.Message);
                Assert.Fail();
            }
        }
Beispiel #20
0
 protected override void Start()
 {
     base.Start();
     _rewardCon = GetComponent <RewardController>();
 }
Beispiel #21
0
 public void Persist <T>(_Entity entity)
 {
     if (typeof(T) == typeof(User))
     {
         UserController.Create((User)entity);
     }
     else if (typeof(T) == typeof(AppLocale))
     {
         AppLocaleController.Create((AppLocale)entity);
     }
     else if (typeof(T) == typeof(AppText))
     {
         AppTextController.Create((AppText)entity);
     }
     else if (typeof(T) == typeof(Bank))
     {
         BankController.Create((Bank)entity);
     }
     else if (typeof(T) == typeof(Battle))
     {
         BattleController.Create((Battle)entity);
     }
     else if (typeof(T) == typeof(City))
     {
         CityController.Create((City)entity);
     }
     else if (typeof(T) == typeof(Harbor))
     {
         HarborController.Create((Harbor)entity);
     }
     else if (typeof(T) == typeof(Inventory))
     {
         InventoryController.Create((Inventory)entity);
     }
     else if (typeof(T) == typeof(Item))
     {
         ItemController.Create((Item)entity);
     }
     else if (typeof(T) == typeof(Market))
     {
         MarketController.Create((Market)entity);
     }
     else if (typeof(T) == typeof(Powerup))
     {
         PowerupController.Create((Powerup)entity);
     }
     else if (typeof(T) == typeof(ProfileAI))
     {
         ProfileAiController.Create((ProfileAI)entity);
     }
     else if (typeof(T) == typeof(Quest))
     {
         QuestController.Create((Quest)entity);
     }
     else if (typeof(T) == typeof(Resource))
     {
         ResourceController.Create((Resource)entity);
     }
     else if (typeof(T) == typeof(Reward))
     {
         RewardController.Create((Reward)entity);
     }
     else if (typeof(T) == typeof(Scenario))
     {
         ScenarioController.Create((Scenario)entity);
     }
     else if (typeof(T) == typeof(UserGame))
     {
         UserGameController.Create((UserGame)entity);
     }
     else if (typeof(T) == typeof(Vessel))
     {
         VesselController.Create((Vessel)entity);
     }
     else if (typeof(T) == typeof(Weapon))
     {
         WeaponController.Create((Weapon)entity);
     }
     else
     {
         throw new Exception("Controller not implemented yet.");
     }
 }
Beispiel #22
0
        public void GetMemberRewards_Positive(MemberModel testMember, IHertzProgram program)
        {
            MemberController      memController = new MemberController(Database, TestStep);
            List <TxnHeaderModel> txnList       = new List <TxnHeaderModel>();
            int              daysAfterCheckOut  = 1;
            DateTime         checkOutDt         = new DateTime(2020, 03, 12);
            DateTime         checkInDt          = checkOutDt.AddDays(daysAfterCheckOut);
            DateTime         origBkDt           = checkOutDt;
            RewardController rewardController   = new RewardController(Database, TestStep);
            RewardDefModel   reward             = rewardController.GetRandomRewardDef(program);
            decimal          points             = reward.HOWMANYPOINTSTOEARN;

            try
            {
                TestStep.Start("Assing Member unique LoyaltyIds for each virtual card", "Unique LoyaltyIds should be assigned");
                testMember = memController.AssignUniqueLIDs(testMember);
                TestStep.Pass("Unique LoyaltyIds assigned", testMember.VirtualCards.ReportDetail());

                string loyaltyID   = testMember.VirtualCards[0].LOYALTYIDNUMBER;
                string alternateID = testMember.ALTERNATEID;
                string vckey       = testMember.VirtualCards[0].VCKEY.ToString();

                TestStep.Start($"Make AddMember Call", $"Member with LID {loyaltyID} should be added successfully and member object should be returned");
                MemberModel memberOut = memController.AddMember(testMember);
                AssertModels.AreEqualOnly(testMember, memberOut, MemberModel.BaseVerify);
                TestStep.Pass("Member was added successfully and member object was returned", memberOut.ReportDetail());

                TestStep.Start($"Make AwardLoyaltyCurrency Call", $"Member should be updated successfully and earn {points} points");
                AwardLoyaltyCurrencyResponseModel currencyOut = memController.AwardLoyaltyCurrency(loyaltyID, points);
                decimal pointsOut = memController.GetPointSumFromDB(loyaltyID);
                Assert.AreEqual(points, pointsOut, "Expected points and pointsOut values to be equal, but the points awarded to the member and the point summary taken from the DB are not equal");
                Assert.AreEqual(currencyOut.CurrencyBalance, points, "Expected point value put into AwardLoyaltyCurrency API Call to be equal to the member's current balance, but the point values are not equal");
                TestStep.Pass("Points are successfully awarded");

                TestStep.Start("Make AddMemberReward Call", "AddMemberReward Call is successfully made");
                AddMemberRewardsResponseModel rewardResponse = memController.AddMemberReward(loyaltyID, reward.CERTIFICATETYPECODE, testMember.MemberDetails.A_EARNINGPREFERENCE);
                Assert.IsNotNull(rewardResponse, "Expected populated AddMemberRewardsResponse object from AddMemberRewards call, but AddMemberRewardsResponse object returned was null");
                TestStep.Pass("Reward is added.");

                TestStep.Start("Validate that Member has Reward in DB", "Member is found with Reward");
                IEnumerable <MemberRewardsModel> membersRewardOut = memController.GetMemberRewardsFromDB(memberOut.IPCODE, null);
                Assert.IsNotNull(membersRewardOut, "Expected populated MemberRewards object from query, but MemberRewards object returned was null");
                //Assert.Greater(membersRewardOut.Count(), 0, "Expected at least one MemberReward to be returned from query");
                TestStep.Pass("Member Reward Found");

                TestStep.Start("GetMemberRewards API is Called", "GetMemberRewards API Sucessfully Returns");
                List <GetMemberRewardsResponseModel> getMROut = memController.GetMemberRewards(loyaltyID);
                Assert.AreEqual(membersRewardOut.Count(), getMROut.Count);
                TestStep.Pass("GetMemberRewards Return is Validated");
            }
            catch (LWServiceException ex)
            {
                TestStep.Fail(ex.Message, new[] { $"Error Code: {ex.ErrorCode}", $"Error Message: {ex.ErrorMessage}" });
                Assert.Fail();
            }
            catch (AssertModelEqualityException ex)
            {
                TestStep.Fail(ex.Message, ex.ComparisonFailures);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                TestStep.Abort(ex.Message);
                Assert.Fail();
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        private void Create(DirectEventArgs e)
        {
            try
            {
                var path = string.Empty;
                if (fufTepTinHangLoat.HasFile)
                {
                    path = UploadFile(fufTepTinHangLoat,
                                      hdfTypePage.Text.Equals("KhenThuong") ? Constant.PathReward : Constant.PathDiscipline);
                }

                foreach (var itemRow in chkEmployeeRowSelection.SelectedRows)
                {
                    if (hdfTypePage.Text.Equals("KhenThuong"))
                    {
                        string reasonReward;
                        if (hdfIsDanhMuc2.Text == @"0")
                        {
                            var reason = new cat_ReasonReward {
                                Name = cbbLyDoHangLoat.Text
                            };
                            cat_ReasonRewardServices.Create(reason);
                            reasonReward = cbbLyDoHangLoat.Text;
                        }
                        else
                        {
                            reasonReward = cbbLyDoHangLoat.SelectedItem.Text;
                        }

                        if (string.IsNullOrEmpty(reasonReward))
                        {
                            Dialog.Alert("Thông báo", "Không tìm thấy lý do khen thưởng. Vui lòng thử lại!");
                            return;
                        }

                        if (txtSoQuyetDinhHangLoat.Text == "")
                        {
                            GenerateRewardDecisionNumber();
                        }

                        var record = new RewardModel
                        {
                            RecordId         = Convert.ToInt32(itemRow.RecordID),
                            DecisionNumber   = txtSoQuyetDinhHangLoat.Text.Trim(),
                            DecisionMaker    = tgfNguoiQuyetDinhHangLoat.Text.Trim(),
                            FormRewardId     = int.Parse(hdfHinhThucHangLoat.Text),
                            LevelRewardId    = int.Parse(hdfLevelManyId.Text),
                            Reason           = reasonReward,
                            SourceDepartment = txtSourceDepartment.Text,
                            Note             = txtGhuChuHangLoat.Text.Trim()
                        };
                        var makerPosition = hdfIsMakerPosition.Text == @"0"
                            ? cbxMakerPosition.Text
                            : cbxMakerPosition.SelectedItem.Text;
                        record.MakerPosition = makerPosition;
                        if (!string.IsNullOrEmpty(txtMoneyAmount.Text))
                        {
                            record.MoneyAmount = decimal.Parse("0" + txtMoneyAmount.Text);
                        }
                        record.CreatedDate = DateTime.Now;
                        record.CreatedBy   = CurrentUser.User.UserName;
                        record.EditedDate  = DateTime.Now;
                        record.EditedBy    = CurrentUser.User.UserName;
                        if (!DatetimeHelper.IsNull(dfNgayQuyetDinhHangLoat.SelectedDate))
                        {
                            record.DecisionDate = dfNgayQuyetDinhHangLoat.SelectedDate;
                        }

                        if (!DatetimeHelper.IsNull(dfNgayHieuLuc.SelectedDate))
                        {
                            record.EffectiveDate = dfNgayHieuLuc.SelectedDate;
                        }

                        record.AttachFileName = path != "" ? path : hdfTepDinhKemHangLoat.Text;
                        RewardController.Create(record);
                    }
                    else
                    {
                        string reasonDiscipline;
                        if (hdfIsDanhMuc2.Text == @"0")
                        {
                            var reason = new cat_ReasonDiscipline()
                            {
                                Name = cbbLyDoHangLoat.Text
                            };
                            cat_ReasonDisciplineServices.Create(reason);
                            reasonDiscipline = cbbLyDoHangLoat.Text;
                        }
                        else
                        {
                            reasonDiscipline = cbbLyDoHangLoat.SelectedItem.Text;
                        }

                        if (string.IsNullOrEmpty(reasonDiscipline))
                        {
                            Dialog.Alert("Thông báo", "Không tìm thấy lý do khen thưởng. Vui lòng thử lại!");
                            return;
                        }

                        if (txtSoQuyetDinhHangLoat.Text == "")
                        {
                            GenerateRewardDecisionNumber();
                        }

                        var record = new DisciplineModel
                        {
                            RecordId          = Convert.ToInt32(itemRow.RecordID),
                            DecisionNumber    = txtSoQuyetDinhHangLoat.Text.Trim(),
                            DecisionMaker     = tgfNguoiQuyetDinhHangLoat.Text.Trim(),
                            FormDisciplineId  = int.Parse(hdfHinhThucHangLoat.Text),
                            LevelDisciplineId = int.Parse(hdfLevelManyId.Text),
                            Reason            = reasonDiscipline,
                            SourceDepartment  = txtSourceDepartment.Text,
                            Note = txtGhuChuHangLoat.Text.Trim()
                        };
                        var makerPosition = hdfIsMakerPosition.Text == @"0"
                            ? cbxMakerPosition.Text
                            : cbxMakerPosition.SelectedItem.Text;
                        record.MakerPosition = makerPosition;
                        record.CreatedDate   = DateTime.Now;
                        record.CreatedBy     = CurrentUser.User.UserName;
                        record.EditedDate    = DateTime.Now;
                        record.EditedBy      = CurrentUser.User.UserName;

                        if (!DatetimeHelper.IsNull(dfNgayQuyetDinhHangLoat.SelectedDate))
                        {
                            record.DecisionDate = dfNgayQuyetDinhHangLoat.SelectedDate;
                        }

                        if (!DatetimeHelper.IsNull(dfExpireDate.SelectedDate))
                        {
                            record.ExpireDate = dfExpireDate.SelectedDate;
                        }
                        record.AttachFileName = path != "" ? path : hdfTepDinhKemHangLoat.Text;
                        DisciplineController.Create(record);
                    }
                }

                grp_KhenThuongKyLuat.Reload();
                ResetForm();
                wdKhenThuongKyLuatHangLoat.Hide();
            }
            catch (Exception ex)
            {
                Dialog.Alert("Có lỗi xảy ra trong quá trình tạo quyết định: {0}".FormatWith(ex.Message));
            }
        }
        protected void InitWindowEditRewardOrDiscipline(object sender, DirectEventArgs e)
        {
            int id;

            if (!int.TryParse(hdfRecordId.Text, out id))
            {
                return;
            }
            if (hdfTypePage.Text.Equals("KhenThuong"))
            {
                var hs = RewardController.GetById(id);
                if (hs != null)
                {
                    txtKhenThuongSoQuyetDinh.Text = hs.DecisionNumber;
                    tgf_KhenThuong_NguoiRaQD.Text = hs.DecisionMaker;
                    if (hs.DecisionDate != null)
                    {
                        dfKhenThuongNgayQuyetDinh.SelectedDate = (DateTime)hs.DecisionDate;
                    }
                    if (hs.EffectiveDate != null)
                    {
                        dfKhenThuongNgayHieuLuc.SelectedDate = (DateTime)hs.EffectiveDate;
                    }
                    cbHinhThucKhenThuong.Text      = hs.FormRewardName;
                    cbLyDoKhenThuong.Text          = hs.Reason;
                    cbxCapKhenThuong.Text          = hs.LevelRewardName;
                    txtKhenThuongGhiChu.Text       = hs.Note;
                    txtUpdateSourceDepartment.Text = hs.SourceDepartment;
                    cbxUpdateMakerPosition.Text    = hs.MakerPosition;
                    txtUpdateMoneyAmount.Text      = hs.MoneyAmount.ToString(CultureInfo.InvariantCulture);
                    if (!string.IsNullOrEmpty(hs.AttachFileName))
                    {
                        var pos = hs.AttachFileName.LastIndexOf('/');
                        if (pos != -1)
                        {
                            var tenTt = hs.AttachFileName.Substring(pos + 1);
                            fufKhenThuongTepTinDinhKem.Text = tenTt;
                        }

                        hdfKhenThuongTepTinDinhKem.Text = hs.AttachFileName;
                    }
                }

                dfUpdateExpireDate.Hidden   = true;
                txtUpdateMoneyAmount.Hidden = false;
                wdKhenThuong.Show();
            }
            else
            {
                var hs = DisciplineController.GetById(id);
                if (hs != null)
                {
                    txtKhenThuongSoQuyetDinh.Text = hs.DecisionNumber;
                    tgf_KhenThuong_NguoiRaQD.Text = hs.DecisionMaker;
                    if (hs.DecisionDate != null)
                    {
                        dfKhenThuongNgayQuyetDinh.SelectedDate = (DateTime)hs.DecisionDate;
                    }
                    cbHinhThucKhenThuong.Text      = hs.FormDisciplineName;
                    cbLyDoKhenThuong.Text          = hs.Reason;
                    cbxCapKhenThuong.Text          = hs.LevelDisciplineName;
                    txtKhenThuongGhiChu.Text       = hs.Note;
                    txtUpdateSourceDepartment.Text = hs.SourceDepartment;
                    cbxUpdateMakerPosition.Text    = hs.MakerPosition;
                    if (hs.ExpireDate != null)
                    {
                        dfUpdateExpireDate.SetValue(hs.ExpireDate);
                    }
                    if (!string.IsNullOrEmpty(hs.AttachFileName))
                    {
                        var pos = hs.AttachFileName.LastIndexOf('/');
                        if (pos != -1)
                        {
                            var tenTt = hs.AttachFileName.Substring(pos + 1);
                            fufKhenThuongTepTinDinhKem.Text = tenTt;
                        }

                        hdfKhenThuongTepTinDinhKem.Text = hs.AttachFileName;
                    }
                }

                dfUpdateExpireDate.Hidden   = false;
                txtUpdateMoneyAmount.Hidden = true;
                wdKhenThuong.Show();
            }
        }
    void Awake()
    {
        if (levelLoader == null)
        {
            levelLoader = FindObjectOfType <LevelLoader>();
        }
        if (diceController == null)
        {
            diceController = FindObjectOfType <DiceController>();
        }
        if (blockController == null)
        {
            blockController = FindObjectOfType <BlockController>();
        }
        if (itemController == null)
        {
            itemController = FindObjectOfType <ItemController>();
        }
        if (noDiceNoCoinController == null)
        {
            noDiceNoCoinController = FindObjectOfType <NoDiceNoCoinController>();
        }
        if (speicalBlockController == null)
        {
            speicalBlockController = FindObjectOfType <SpeicalBlockController>();
        }
        if (statisticsController == null)
        {
            statisticsController = FindObjectOfType <StatisticsController>();
        }
        if (resetDiceController == null)
        {
            resetDiceController = FindObjectOfType <ResetDiceController>();
        }
        if (uiController == null)
        {
            uiController = FindObjectOfType <UIController>();
        }
        if (heartShopController == null)
        {
            heartShopController = FindObjectOfType <HeartShopController>();
        }
        if (itemShopController == null)
        {
            itemShopController = FindObjectOfType <ItemShopController>();
        }
        if (diamondShopController == null)
        {
            diamondShopController = FindObjectOfType <DiamondShopController>();
        }
        if (startController == null)
        {
            startController = FindObjectOfType <StartController>();
        }
        if (newHeartController == null)
        {
            newHeartController = FindObjectOfType <NewHeartController>();
        }
        if (diamondController == null)
        {
            diamondController = FindObjectOfType <DiamondController>();
        }
        if (iAPManager == null)
        {
            iAPManager = FindObjectOfType <IAPManager>();
        }
        if (rewardController == null)
        {
            rewardController = FindObjectOfType <RewardController>();
        }
        if (this.name != Constants.GAME_OBJECT_NAME.STAGE.CLONED_BLOCK)
        {
            cameraShakersForPlate = FindObjectsOfType <CameraShaker>();
        }

        _initialize();
    }