Example #1
0
        public async Task <HeroDocument> InsertHero(HeroDocument hero)
        {
            await collection.InsertOneAsync(hero);

            var findOneCursor = await collection.FindAsync <HeroDocument>(db => db.id == hero.id);

            return(findOneCursor.SingleOrDefault());
        }
Example #2
0
        public async Task <HeroDocument> UpdateHero(HeroDocument hero)
        {
            var filter = Builders <HeroDocument> .Filter.Eq(dbHero => dbHero.id, hero.id);

            var updates = Builders <HeroDocument> .Update.Set(dbHero => dbHero.name, hero.name);

            var replaceOneResult = await collection.FindOneAndUpdateAsync <HeroDocument>(filter, updates);

            return(hero);
        }
Example #3
0
 public Hero(
     HeroDocument heroDocument)
 {
     this.Id           = heroDocument.Id;
     this.Object       = heroDocument.Object;
     this.Name         = heroDocument.Name;
     this.Gender       = heroDocument.Gender;
     this.Affiliations = heroDocument.Affiliations;
     this.Powers       = heroDocument.Powers;
     this.Notes        = heroDocument.Notes;
     this.CreatedOn    = heroDocument.CreatedOn;
 }
Example #4
0
        public async Task <Hero> AddAsync(
            HeroAddOptions heroAddOptions)
        {
            var heroDocument =
                new HeroDocument
            {
                Name         = heroAddOptions.Name,
                Gender       = heroAddOptions.Gender,
                Affiliations = heroAddOptions.Affiliations,
                Powers       = heroAddOptions.Powers,
                Notes        = heroAddOptions.Notes
            };

            heroDocument =
                await _heroDocumentStore.AddAsync(
                    heroDocument);

            var hero =
                new Hero(heroDocument);

            return(hero);
        }
Example #5
0
 public async Task <IActionResult> Put([FromBody] HeroDocument hero)
 {
     return(Ok(await _heroService.UpdateHero(hero)));
 }
Example #6
0
 public async Task <IActionResult> Post([FromBody] HeroDocument hero)
 {
     return(Ok(await _heroService.InsertHero(hero)));
 }
Example #7
0
        public async Task <HeroDocument> DeleteHero(HeroDocument hero)
        {
            await collection.DeleteOneAsync <HeroDocument>(db => db.id == hero.id);

            return(hero);
        }