public async Task <Unit> Handle(CreateCharacterFriendCommand request, CancellationToken cancellationToken)
        {
            CharacterFriend item = _mapper.Map <CharacterFriend>(request.CreateCharacterFriend);
            await _characterFriendRepository.CreateAsync(item);

            return(Unit.Value);
        }
Ejemplo n.º 2
0
        public async Task CreateAsync(CharacterFriend newCharacterFriend)
        {
            if (newCharacterFriend.CharacterId == newCharacterFriend.FriendId)
            {
                throw new Exception("You can't be friend of you.");
            }
            Character character = await _dbContext.Characters
                                  .Include(c => c.CharacterFriends).ThenInclude(cs => cs.Friend)
                                  .FirstOrDefaultAsync(c => c.CharacterId == newCharacterFriend.CharacterId);

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

            Character friend = await _dbContext.Characters
                               .Include(c => c.CharacterFriends).ThenInclude(cs => cs.Friend)
                               .FirstOrDefaultAsync(c => c.CharacterId == newCharacterFriend.FriendId);

            if (friend == null)
            {
                throw new NotFoundException($"Friend not find item {newCharacterFriend.FriendId}");
            }

            var characterFriend = new CharacterFriend
            {
                Character = character,
                Friend    = friend
            };

            await _dbContext.CharacterFriends.AddAsync(characterFriend);

            await _unitOfWork.CompleteAsync();
        }
	    private void FriendSelected(object sender, CharacterFriend characterFriend)
	    {
            ToTextField.Text = characterFriend.FirstName + " " + characterFriend.LastName;
            _lastValidatedName = ToTextField.Text;
            _nameIsValid = true;
            UpdateNameViewStatus();
            FriendPickerViewController friendPickerViewController = sender as FriendPickerViewController;
	        if (friendPickerViewController != null)
	            friendPickerViewController.FriendSelected -= FriendSelected;
	    }
 private static void AddCharacterFriendRelation(List <int> list, int id, StarwarsContext context)
 {
     list.ForEach(x => {
         var charEp = new CharacterFriend
         {
             CharacterId = id,
             FriendId    = x
         };
         context.Set <CharacterFriend>().Add(charEp);
     });
 }
 public void Verify_Add_Should_AddTheEntityToTheContext()
 {
     // Arrange
     Mock<IDbSet<CharacterFriend>> mockSetCharacterFriends;
     var mockContext = CharacterFriendsMockingSetup.DoMockingSetupForContext(false, out mockSetCharacterFriends);
     var repository = new CharacterFriendsRepository(mockContext.Object);
     var characterFriends = new CharacterFriend { Active = true, CustomKey = "SALVATORE-RAA", };
     // Act
     repository.Add(characterFriends);
     // Assert
     mockSetCharacterFriends.Verify(x => x.Add(characterFriends), Times.Once);
 }
        public async Task After_add_the_same_characterId_and_friendId_should_throw_exception()
        {
            //arrange
            var newCharacterFriend = new CharacterFriend()
            {
                CharacterId = 1,
                FriendId    = 1
            };
            var repository = new CharacterFriendRepository(DbContext, new UnitOfWork(DbContext));

            //act, assert
            await Assert.ThrowsAsync <Exception>(() => repository.CreateAsync(newCharacterFriend));
        }
Ejemplo n.º 7
0
        public void Verify_Add_Should_AddTheEntityToTheContext()
        {
            // Arrange
            Mock <IDbSet <CharacterFriend> > mockSetCharacterFriends;
            var mockContext      = CharacterFriendsMockingSetup.DoMockingSetupForContext(false, out mockSetCharacterFriends);
            var repository       = new CharacterFriendsRepository(mockContext.Object);
            var characterFriends = new CharacterFriend {
                Active = true, CustomKey = "SALVATORE-RAA",
            };

            // Act
            repository.Add(characterFriends);
            // Assert
            mockSetCharacterFriends.Verify(x => x.Add(characterFriends), Times.Once);
        }
Ejemplo n.º 8
0
        public void Verify_MapToEntity_WithExistingEntity_AssignsCharacterFriendProperties()
        {
            // Arrange
            var mapper = new CharacterFriendMapper();
            var model  = CharacterFriendsMockingSetup.DoMockingSetupForCharacterFriendModel();
            // Act
            ICharacterFriend existingEntity = new CharacterFriend {
                Id = 1
            };

            mapper.MapToEntity(model.Object, ref existingEntity);
            // Assert
            // <None>
            // Related Objects
            Assert.Equal(model.Object.CharacterId, existingEntity.CharacterId);
            Assert.Equal(model.Object.FriendId, existingEntity.FriendId);
            // Associated Objects
            // <None>
        }
Ejemplo n.º 9
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);
        }
 public void Verify_MapToEntity_WithExistingEntity_AssignsCharacterFriendProperties()
 {
     // Arrange
     var mapper = new CharacterFriendMapper();
     var model = CharacterFriendsMockingSetup.DoMockingSetupForCharacterFriendModel();
     // Act
     ICharacterFriend existingEntity = new CharacterFriend { Id = 1 };
     mapper.MapToEntity(model.Object, ref existingEntity);
     // Assert
     // <None>
     // Related Objects
     Assert.Equal(model.Object.CharacterId, existingEntity.CharacterId);
     Assert.Equal(model.Object.FriendId, existingEntity.FriendId);
     // Associated Objects
     // <None>
 }