public async Task <Unit> Handle(CreateCharacterEpisodeCommand request, CancellationToken cancellationToken)
        {
            CharacterEpisode item = _mapper.Map <CharacterEpisode>(request.CreateCharacterEpisode);
            await _characterEpisodeRepository.CreateAsync(item);

            return(Unit.Value);
        }
コード例 #2
0
        public async Task <IActionResult> PutCharacterEpisode([FromRoute] int id, [FromBody] CharacterEpisode characterEpisode)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != characterEpisode.Id)
            {
                return(BadRequest());
            }

            _context.Entry(characterEpisode).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CharacterEpisodeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #3
0
        public async Task CreateAsync(CharacterEpisode newCharacterEpisode)
        {
            Character character = await _dbContext.Characters
                                  .Include(c => c.Weapon)
                                  .Include(c => c.CharacterEpisodes).ThenInclude(cs => cs.Episode)
                                  .FirstOrDefaultAsync(c => c.CharacterId == newCharacterEpisode.CharacterId);

            if (character == null)
            {
                throw new NotFoundException($"Episode not find item {newCharacterEpisode.CharacterId}");
            }

            Episode episode = await _dbContext.Episodes
                              .FirstOrDefaultAsync(s => s.EpisodeId == newCharacterEpisode.EpisodeId);

            if (episode == null)
            {
                throw new NotFoundException($"Episode not find item {newCharacterEpisode.EpisodeId}");
            }

            CharacterEpisode characterEpisode = new CharacterEpisode
            {
                Character = character,
                Episode   = episode
            };

            await _dbContext.CharacterEpisodes.AddAsync(characterEpisode);

            await _unitOfWork.CompleteAsync();
        }
コード例 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            CharacterEpisode characterEpisode = db.CharacterEpisodes.Find(id);

            db.CharacterEpisodes.Remove(characterEpisode);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #5
0
 private static void AddCharacterEpisodeRelation(List <int> list, int id, StarwarsContext context)
 {
     list.ForEach(x => {
         var charEp = new CharacterEpisode
         {
             CharacterId = id,
             EpisodeId   = x
         };
         context.Set <CharacterEpisode>().Add(charEp);
     });
 }
コード例 #6
0
        public async Task <IActionResult> PostCharacterEpisode([FromBody] CharacterEpisode characterEpisode)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.CharacterEpisodes.Add(characterEpisode);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCharacterEpisode", new { id = characterEpisode.Id }, characterEpisode));
        }
コード例 #7
0
 public ActionResult Edit([Bind(Include = "Id,CharacterID,EpisodeID")] CharacterEpisode characterEpisode)
 {
     if (ModelState.IsValid)
     {
         db.Entry(characterEpisode).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CharacterID = new SelectList(db.Characters, "Id", "Name", characterEpisode.CharacterID);
     ViewBag.EpisodeID   = new SelectList(db.Episodes, "Id", "Name", characterEpisode.EpisodeID);
     return(View(characterEpisode));
 }
コード例 #8
0
        // GET: CharacterEpisodes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CharacterEpisode characterEpisode = db.CharacterEpisodes.Find(id);

            if (characterEpisode == null)
            {
                return(HttpNotFound());
            }
            return(View(characterEpisode));
        }
コード例 #9
0
        public bool CreateCharacterEpisode(CharacterEpisodeCreate model)
        {
            var entity =
                new CharacterEpisode()
            {
                CharacterId = model.CharacterId,
                EpisodeId   = model.EpisodeId
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.CharacterEpisodes.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
コード例 #10
0
        // GET: CharacterEpisodes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CharacterEpisode characterEpisode = db.CharacterEpisodes.Find(id);

            if (characterEpisode == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CharacterID = new SelectList(db.Characters, "Id", "Name", characterEpisode.CharacterID);
            ViewBag.EpisodeID   = new SelectList(db.Episodes, "Id", "Name", characterEpisode.EpisodeID);
            return(View(characterEpisode));
        }
コード例 #11
0
        private void DataSeed(ModelBuilder modelBuilder)
        {
            Planet[] planets = new Planet[]
            {
                new Planet(1, "Alderaan")
            };

            Character[] people = new Character[]
            {
                new Character(1, "Luke Skywalker"),
                new Character(2, "Darth Vader"),
                new Character(3, "Han Solo"),
                new Character(4, "Leia Organa")
                {
                    PlanetId = 1
                },
                new Character(5, "Wilhuff Tarkin"),
                new Character(6, "C-3PO"),
                new Character(7, "R2-D2")
            };

            Episode[] episodes = new Episode[]
            {
                new Episode(1, "NEWHOPE"),
                new Episode(2, "EMPIRE"),
                new Episode(3, "JEDI")
            };

            CharacterEpisode[] mappings = new CharacterEpisode[]
            {
                new CharacterEpisode(1)
                {
                    CharacterId = 1, EpisodeId = 1
                },
                new CharacterEpisode(2)
                {
                    CharacterId = 1, EpisodeId = 2
                },
                new CharacterEpisode(3)
                {
                    CharacterId = 1, EpisodeId = 3
                },
                new CharacterEpisode(4)
                {
                    CharacterId = 2, EpisodeId = 1
                },
                new CharacterEpisode(5)
                {
                    CharacterId = 2, EpisodeId = 2
                },
                new CharacterEpisode(6)
                {
                    CharacterId = 2, EpisodeId = 3
                },
                new CharacterEpisode(7)
                {
                    CharacterId = 3, EpisodeId = 1
                },
                new CharacterEpisode(8)
                {
                    CharacterId = 3, EpisodeId = 2
                },
                new CharacterEpisode(9)
                {
                    CharacterId = 3, EpisodeId = 3
                },
                new CharacterEpisode(10)
                {
                    CharacterId = 4, EpisodeId = 1
                },
                new CharacterEpisode(11)
                {
                    CharacterId = 5, EpisodeId = 1
                },
                new CharacterEpisode(12)
                {
                    CharacterId = 5, EpisodeId = 2
                },
                new CharacterEpisode(13)
                {
                    CharacterId = 5, EpisodeId = 3
                },
                new CharacterEpisode(14)
                {
                    CharacterId = 6, EpisodeId = 1
                },
                new CharacterEpisode(15)
                {
                    CharacterId = 6, EpisodeId = 2
                },
                new CharacterEpisode(16)
                {
                    CharacterId = 6, EpisodeId = 3
                },
                new CharacterEpisode(17)
                {
                    CharacterId = 7, EpisodeId = 1
                },
                new CharacterEpisode(18)
                {
                    CharacterId = 7, EpisodeId = 2
                },
                new CharacterEpisode(19)
                {
                    CharacterId = 7, EpisodeId = 3
                }
            };

            CharacterFriend[] friends = new CharacterFriend[]
            {
                new CharacterFriend(1)
                {
                    CharacterId = 1, FriendId = 3
                },
                new CharacterFriend(2)
                {
                    CharacterId = 1, FriendId = 4
                },
                new CharacterFriend(3)
                {
                    CharacterId = 1, FriendId = 6
                },
                new CharacterFriend(4)
                {
                    CharacterId = 1, FriendId = 7
                },
                new CharacterFriend(5)
                {
                    CharacterId = 2, FriendId = 5
                },
                new CharacterFriend(6)
                {
                    CharacterId = 3, FriendId = 1
                },
                new CharacterFriend(7)
                {
                    CharacterId = 3, FriendId = 4
                },
                new CharacterFriend(8)
                {
                    CharacterId = 3, FriendId = 7
                },
                new CharacterFriend(9)
                {
                    CharacterId = 4, FriendId = 1
                },
                new CharacterFriend(10)
                {
                    CharacterId = 4, FriendId = 3
                },
                new CharacterFriend(11)
                {
                    CharacterId = 4, FriendId = 6
                },
                new CharacterFriend(12)
                {
                    CharacterId = 4, FriendId = 7
                },
                new CharacterFriend(13)
                {
                    CharacterId = 5, FriendId = 2
                },
                new CharacterFriend(14)
                {
                    CharacterId = 6, FriendId = 1
                },
                new CharacterFriend(15)
                {
                    CharacterId = 6, FriendId = 3
                },
                new CharacterFriend(16)
                {
                    CharacterId = 6, FriendId = 4
                },
                new CharacterFriend(17)
                {
                    CharacterId = 6, FriendId = 7
                },
                new CharacterFriend(18)
                {
                    CharacterId = 7, FriendId = 1
                },
                new CharacterFriend(19)
                {
                    CharacterId = 7, FriendId = 3
                },
                new CharacterFriend(20)
                {
                    CharacterId = 7, FriendId = 4
                }
            };


            modelBuilder.Entity <Planet>().HasData(planets);
            modelBuilder.Entity <Character>().HasData(people);
            modelBuilder.Entity <Episode>().HasData(episodes);
            modelBuilder.Entity <CharacterEpisode>().HasData(mappings);
            modelBuilder.Entity <CharacterFriend>().HasData(friends);
        }