public async Task <Unit> Handle(CreateRedBetUser request, CancellationToken cancellationToken)
        {
            var id               = new AggregateId();
            var address          = new Address(request.Street, request.BuildingNumber, request.ZipCode);
            var basicInformation = new BasicUserInformation(request.FirstName, request.LastName, address);
            var user             = new RedBetUser(id, basicInformation, request.FavouriteFootballTeam);
            await _userRepository.AddAsync(user);

            return(default);
예제 #2
0
        public async Task <Unit> Handle(CreateMrGreenUser request, CancellationToken cancellationToken)
        {
            var id               = new AggregateId();
            var address          = new Address(request.Street, request.BuildingNumber, request.ZipCode);
            var basicInformation = new BasicUserInformation(request.FirstName, request.LastName, address);
            var personalNumber   = new PersonalNumber(request.PersonalNumber);
            var user             = new MrGreenUser(id, basicInformation, personalNumber);
            await _userRepository.AddAsync(user);

            return(default);
예제 #3
0
        public void ShouldBeTheSameGivenInformationssWithTheSameValues()
        {
            var firstName = "Test";
            var lastName  = "Test2";
            var address   = new Address("Test", 6, "32-091");

            var information1 = new BasicUserInformation(firstName, lastName, address);
            var information2 = new BasicUserInformation(firstName, lastName, address);

            information1.ShouldBe(information2);
        }
        public void ShouldNotBeTheSameGivenUsersWithTheSameValuesButDifferentIds()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);
            var personalNumber       = new PersonalNumber("12345-123");

            var user1 = new MrGreenUser(new AggregateId(), basicUserInformation, personalNumber);
            var user2 = new MrGreenUser(new AggregateId(), basicUserInformation, personalNumber);

            user1.ShouldNotBe(user2);
        }
        public void ShouldNotBeTheSameGivenUsersWithTheSameValuesButDifferentIds()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);
            var footballTeam         = "TestTeam";

            var user1 = new RedBetUser(new AggregateId(), basicUserInformation, footballTeam);
            var user2 = new RedBetUser(new AggregateId(), basicUserInformation, footballTeam);

            user1.ShouldNotBe(user2);
        }
예제 #6
0
        public void ShouldCreateNewObjectWhenChangingAddress()
        {
            var firstName   = "Test";
            var lastName    = "Test2";
            var address     = new Address("Test", 6, "32-091");
            var information = new BasicUserInformation(firstName, lastName, address);

            var newAddress     = new Address("Test2", 7, "31-091");
            var newInformation = information.ChangeAddress(newAddress);

            newInformation.ShouldNotBeSameAs(information);
        }
예제 #7
0
        public void ShouldCreateNewObjectWhenRenaming()
        {
            var firstName   = "Test";
            var lastName    = "Test2";
            var address     = new Address("Test", 6, "32-091");
            var information = new BasicUserInformation(firstName, lastName, address);

            var newFirstName   = "NewTest";
            var newLastName    = "NewTest2";
            var newInformation = information.Rename(newFirstName, newLastName);

            newInformation.ShouldNotBeSameAs(information);
        }
        public void ShouldChangeAddress()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);

            var user = new RedBetUser(new AggregateId(), basicUserInformation, "TestTeam");

            user.BasicUserInformation.Address.ShouldBe(address);

            var newAddress = new Address("NewTest", 50, "60-091");

            user.ChangeAddress(newAddress);

            user.BasicUserInformation.Address.ShouldBe(newAddress);
        }
        public void ShouldBeTheSameGivenUsersWithTheSameIds()
        {
            var address1 = new Address("Test1", 6, "32-091");
            var address2 = new Address("Test2", 6, "32-091");
            var basicUserInformation1 = new BasicUserInformation("Test1", "Test1", address1);
            var basicUserInformation2 = new BasicUserInformation("Test2", "Test2", address2);
            var footballTeam1         = "TestTeam1";
            var footballTeam2         = "TestTeam2";
            var id = new AggregateId();

            var user1 = new RedBetUser(id, basicUserInformation1, footballTeam1);
            var user2 = new RedBetUser(id, basicUserInformation2, footballTeam2);

            user1.ShouldBe(user2);
        }
        public void ShouldBeTheSameGivenUsersWithTheSameIds()
        {
            var address1 = new Address("Test1", 6, "32-091");
            var address2 = new Address("Test2", 6, "32-091");
            var basicUserInformation1 = new BasicUserInformation("Test1", "Test1", address1);
            var basicUserInformation2 = new BasicUserInformation("Test2", "Test2", address2);
            var personalNumber1       = new PersonalNumber("11111-111");
            var personalNumber2       = new PersonalNumber("22222-222");
            var id = new AggregateId();

            var user1 = new MrGreenUser(id, basicUserInformation1, personalNumber1);
            var user2 = new MrGreenUser(id, basicUserInformation2, personalNumber2);

            user1.ShouldBe(user2);
        }
        public void ShouldChangePersonalNumber()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);
            var personalNumber       = new PersonalNumber("12345-123");

            var user = new MrGreenUser(new AggregateId(), basicUserInformation, personalNumber);

            user.PersonalNumber.ShouldBe(personalNumber);

            var newPersonalNumber = new PersonalNumber("11111-111");

            user.ChangePersonalNumber(newPersonalNumber);

            user.PersonalNumber.ShouldBe(newPersonalNumber);
        }
        public void ShouldLikeAnotherTeam()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);
            var footballTeam         = "TestTeam1";

            var user = new RedBetUser(new AggregateId(), basicUserInformation, footballTeam);

            user.FavouriteFootballTeam.ShouldBe(footballTeam);

            var newFootballTeam = "TestTeam2";

            user.LikeFootballTeam(newFootballTeam);

            user.FavouriteFootballTeam.ShouldBe(newFootballTeam);
        }
        public void ShouldChangeTheFirstAndLastNames()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);

            var user = new RedBetUser(new AggregateId(), basicUserInformation, "TestTeam");

            user.BasicUserInformation.FirstName.ShouldBe(basicUserInformation.FirstName);
            user.BasicUserInformation.LastName.ShouldBe(basicUserInformation.LastName);

            var newFirstName = "NewTest";
            var newLastName  = "NewTest2";

            user.Rename(newFirstName, newLastName);

            user.BasicUserInformation.FirstName.ShouldBe(newFirstName);
            user.BasicUserInformation.LastName.ShouldBe(newLastName);
        }
예제 #14
0
        public void ShouldChangeTheAddress()
        {
            var firstName   = "Test";
            var lastName    = "Test2";
            var address     = new Address("Test", 6, "32-091");
            var information = new BasicUserInformation(firstName, lastName, address);

            information.FirstName.ShouldBe(firstName);
            information.LastName.ShouldBe(lastName);
            information.Address.ShouldBe(address);

            var newAddress = new Address("Test2", 7, "31-091");

            information = information.ChangeAddress(newAddress);

            information.FirstName.ShouldBe(firstName);
            information.LastName.ShouldBe(lastName);
            information.Address.ShouldBe(newAddress);
        }
        public void ShouldChangeTheFirstAndLastNames()
        {
            var address = new Address("Test", 6, "32-091");
            var basicUserInformation = new BasicUserInformation("Test", "Test2", address);
            var personalNumber       = new PersonalNumber("12345-123");

            var user = new MrGreenUser(new AggregateId(), basicUserInformation, personalNumber);

            user.BasicUserInformation.FirstName.ShouldBe(basicUserInformation.FirstName);
            user.BasicUserInformation.LastName.ShouldBe(basicUserInformation.LastName);

            var newFirstName = "NewTest";
            var newLastName  = "NewTest2";

            user.Rename(newFirstName, newLastName);

            user.BasicUserInformation.FirstName.ShouldBe(newFirstName);
            user.BasicUserInformation.LastName.ShouldBe(newLastName);
        }
예제 #16
0
        public void ShouldChangeTheFirstAndLastNames()
        {
            var firstName   = "Test";
            var lastName    = "Test2";
            var address     = new Address("Test", 6, "32-091");
            var information = new BasicUserInformation(firstName, lastName, address);

            information.FirstName.ShouldBe(firstName);
            information.LastName.ShouldBe(lastName);
            information.Address.ShouldBe(address);

            var newFirstName = "NewTest";
            var newLastName  = "NewTest2";

            information = information.Rename(newFirstName, newLastName);

            information.FirstName.ShouldBe(newFirstName);
            information.LastName.ShouldBe(newLastName);
            information.Address.ShouldBe(address);
        }
예제 #17
0
 public MrGreenUser(AggregateId id, BasicUserInformation basicUserInformation, PersonalNumber personalNumber)
 {
     Id = id;
     BasicUserInformation = basicUserInformation;
     PersonalNumber       = personalNumber;
 }
예제 #18
0
 public RedBetUser(AggregateId id, BasicUserInformation basicUserInformation, string favouriteFootballTeam)
 {
     Id = id;
     BasicUserInformation  = basicUserInformation;
     FavouriteFootballTeam = favouriteFootballTeam;
 }
예제 #19
0
 public void Rename(string firstName, string lastName)
 {
     BasicUserInformation = BasicUserInformation.Rename(firstName, lastName);
 }
예제 #20
0
 public void ChangeAddress(Address address)
 {
     BasicUserInformation = BasicUserInformation.ChangeAddress(address);
 }