Beispiel #1
0
        public void UpdateHeroTest()
        {
            //Arrange
            var heroDto = new HeroDTO()
            {
                ID = -1
            };
            var hero   = new Hero();
            var powers = new List <Power>();

            heroRepositoryMock.Setup(x => x.GetById(heroDto.ID))
            .Returns(hero)
            .Verifiable("should check in repository via GetById");
            unitOfWorkMock.Setup(x => x.Save())
            .Verifiable("should save after update");
            heroRepositoryMock.Setup(x => x.LoadCollection(It.IsAny <Hero>(), It.IsAny <Expression <Func <Hero, ICollection <Power> > > >()))
            .Verifiable("should load powers collection from repository");
            powerRepositoryMock.Setup(x => x.Get(It.IsAny <Expression <Func <Power, bool> > >()))
            .Returns(powers.AsQueryable())
            .Verifiable("should get new powers from repository");
            //Act
            heroService.UpdateHero(heroDto);

            //Assert
            unitOfWorkMock.Verify();
            heroRepositoryMock.Verify();
        }
Beispiel #2
0
        public async Task <ActionResult> Post([FromBody] HeroDTO dto)
        {
            var remote = await _provider.GetRemote(Request);

            var result = await _heroService.AddHero(dto, remote);

            return(Ok(result));
        }
Beispiel #3
0
        public IHttpActionResult AddHero(HeroDTO hero)
        {
            var heroEntity = Mapper.Map <HeroDTO, Hero>(hero);

            heroEntity = db.Heroes.Add(heroEntity);
            db.SaveChanges();
            return(Ok(Mapper.Map <Hero, HeroDTO>(heroEntity)));
        }
Beispiel #4
0
        public IHttpActionResult UpdateHero(int id, HeroDTO hero)
        {
            var value      = Mapper.Map <HeroDTO, Hero>(hero);
            var heroObject = db.Heroes.Find(id);

            heroObject.Name = value.Name;
            db.SaveChanges();
            return(Ok(Mapper.Map <Hero, HeroDTO>(heroObject)));
        }
        public async Task <HeroDTO> AddHero(HeroDTO dto, RemoteInfo remote)
        {
            var hero = Mapper.Map <HeroDTO, Hero>(dto);

            hero.Remote = remote;
            await _heroRepository.Add(hero);

            return(dto);
        }
Beispiel #6
0
        public IHttpActionResult PostHero(HeroDTO heroDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var newHero = heroService.AddHero(heroDto);

            return(CreatedAtRoute("DefaultApi", new { id = newHero.ID }, newHero));
        }
Beispiel #7
0
        public HeroDTO AddHero(HeroDTO heroDto)
        {
            var hero     = Mapper.Map <Hero>(heroDto);
            var powerIds = heroDto?.PowerIDs ?? new List <int>();

            hero.Powers = powerRepository.Get(x => powerIds.Contains(x.ID)).ToList();
            heroRepository.Insert(hero);
            unitOfWork.Save();
            return(Mapper.Map <HeroDTO>(hero));
        }
Beispiel #8
0
        public string AddNewHero(HeroDTO toAdd)
        {
            HeroDTO result = _heroDAO.GetHero(toAdd.Name);

            if (result != null)   // TODO : add error message
            {
                return("Cet héro existe déjà!");
            }

            _heroDAO.InsertHero(toAdd);

            return(null);
        }
        public async Task <HeroDTO> UpdateHero(string id, HeroDTO dto)
        {
            if (await _heroRepository.Exist(x => x.Id == id))
            {
                var hero = Mapper.Map <HeroDTO, Hero>(dto);
                hero.Id = id;
                await _heroRepository.Save(hero);

                return(dto);
            }
            else
            {
                throw new BusinessException(ResultCode.BADREQUEST, "标签名已经存在");
            }
        }
Beispiel #10
0
        public void UpdateHero(HeroDTO heroDto)
        {
            var hero = heroRepository.GetById(heroDto.ID);

            Mapper.Map(heroDto, hero);
            heroRepository.LoadCollection(hero, x => x.Powers);
            hero.Powers.Clear();
            var powerIds  = heroDto?.PowerIDs ?? new List <int>();
            var newPowers = powerRepository.Get(x => powerIds.Contains(x.ID));

            foreach (var power in newPowers)
            {
                hero.Powers.Add(power);
            }
            unitOfWork.Save();
        }
Beispiel #11
0
        public IHttpActionResult PutHero(int id, HeroDTO heroDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != heroDto.ID)
            {
                return(BadRequest());
            }

            if (!heroService.HeroExists(id))
            {
                return(NotFound());
            }

            heroService.UpdateHero(heroDto);

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #12
0
        public void AddHeroTest()
        {
            //Arrange
            var powers = new List <Power>();

            heroRepositoryMock.Setup(x => x.Insert(It.IsAny <Hero>()))
            .Verifiable("should insert into repository!!!");
            unitOfWorkMock.Setup(x => x.Save())
            .Verifiable("should save after insert");
            powerRepositoryMock.Setup(x => x.Get(It.IsAny <Expression <Func <Power, bool> > >()))
            .Returns(powers.AsQueryable())
            .Verifiable("should get powers in order to insert");

            var heroDto = new HeroDTO();

            //Act
            var addedHero = heroService.AddHero(heroDto);

            //Assert
            Assert.IsNotNull(addedHero);
            unitOfWorkMock.Verify();
            heroRepositoryMock.Verify();
            powerRepositoryMock.Verify();
        }
Beispiel #13
0
        public async Task <ActionResult> Put([FromRoute] string id, [FromBody] HeroDTO dto)
        {
            var result = await _heroService.UpdateHero(id, dto);

            return(Ok(result));
        }
Beispiel #14
0
 public void MapHeroDTOToHero(HeroDTO src, Hero dest)
 {
     dest.Name   = src.name;
     dest.HeroId = src.id;
 }
Beispiel #15
0
 public void MapHeroToHeroDTO(Hero src, HeroDTO dest)
 {
     dest.name = src.Name;
     dest.id   = src.HeroId;
 }
Beispiel #16
0
 public void InsertHero(HeroDTO hero)
 {
     _db.Insert(hero);
 }