Esempio n. 1
0
        public async Task <IActionResult> ModifyChronometer(ChronometerModifyInputModel inputModel)
        {
            await this.userService.CheckIfUserExists(inputModel.Name);

            await this.chronometerService.UpdateChronometer(inputModel);

            return(this.RedirectToAction("ModifyHero", new { inputModel.Name }));
        }
Esempio n. 2
0
        public async Task <IActionResult> ModifyChronometer(string name)
        {
            await this.userService.CheckIfUserExists(name);

            ChronometerModifyInputModel inputModel = await this.heroService.GetHeroViewModelByName <ChronometerModifyInputModel>(name);

            return(this.View(inputModel));
        }
Esempio n. 3
0
        public async Task UpdateChronometer(ChronometerModifyInputModel inputModel)
        {
            Hero hero = await this.heroService.GetHeroByName(inputModel.Name);

            hero.Chronometer.WorkUntil                = inputModel.ChronometerWorkUntil;
            hero.Chronometer.CannotAttackHeroUntil    = inputModel.ChronometerCannotAttackHeroUntil;
            hero.Chronometer.CannotBeAttackedUntil    = inputModel.ChronometerCannotBeAttackedUntil;
            hero.Chronometer.CannotAttackMonsterUntil = inputModel.ChronometerCannotAttackMonsterUntil;

            if (hero.Chronometer.WorkUntil == null)
            {
                hero.WorkStatus = WorkStatus.Idle;
            }

            await this.context.SaveChangesAsync();
        }
Esempio n. 4
0
        public async Task UpdateChronometerShouldChangeChronometerProperly()
        {
            // Arrange
            ChronometerModifyInputModel inputModel = new ChronometerModifyInputModel()
            {
                Name = "Name",
                ChronometerWorkUntil                = DateTime.UtcNow,
                ChronometerCannotAttackHeroUntil    = DateTime.UtcNow,
                ChronometerCannotAttackMonsterUntil = DateTime.UtcNow,
                ChronometerCannotBeAttackedUntil    = DateTime.UtcNow,
            };

            // Act
            await this.chronometerService.UpdateChronometer(inputModel);

            // Assert
            Assert.Equal(inputModel.ChronometerWorkUntil, this.hero.Chronometer.WorkUntil);
            Assert.Equal(inputModel.ChronometerCannotAttackHeroUntil, this.hero.Chronometer.CannotAttackHeroUntil);
            Assert.Equal(inputModel.ChronometerCannotAttackMonsterUntil, this.hero.Chronometer.CannotAttackMonsterUntil);
            Assert.Equal(inputModel.ChronometerCannotBeAttackedUntil, this.hero.Chronometer.CannotBeAttackedUntil);
        }