Exemplo n.º 1
0
 private MembershipLevel AssignMembershipLevelFromDummyMember(DummyMemberObject dummyMember)
 {
     return(_parkSharkDBContext
            //Usage of Set for entities you don't want to expose, good job!
            .Set <MembershipLevel>()
            .FirstOrDefault(x => x.MemberShipLevelId == dummyMember.MembershipLevel));
 }
Exemplo n.º 2
0
 private static Member CreateMemberFromDummyObjectsAndMembershipLevel(DummyMemberObject dummyMember, MembershipLevel membershipLevel)
 {
     return(Member.CreateMember(
                dummyMember.FirstName,
                dummyMember.LastName,
                dummyMember.Address,
                dummyMember.MembershipLevel,
                membershipLevel
                ));
 }
Exemplo n.º 3
0
        private List <PhoneNumber> CreatePhonenumberList(DummyMemberObject dummyMember, Member member)
        {
            List <PhoneNumber> phones = new List <PhoneNumber>();

            foreach (var item in dummyMember.PhoneNumber)
            {
                phones.Add(PhoneNumber.CreatePhoneNumber(member.MemberId, item.PhoneNumberValue));
            }
            return(phones);
        }
Exemplo n.º 4
0
        private List <LicensePlate> CreateLicensePlatesList(DummyMemberObject dummyMember, Member member)
        {
            List <LicensePlate> plates = new List <LicensePlate>();

            foreach (var item in dummyMember.LicensePlate)
            {
                plates.Add(LicensePlate.CreateLicensePlate(member.MemberId, item.LicensePlateValue, item.IssueingCountry));
            }
            return(plates);
        }
Exemplo n.º 5
0
        public bool AddPhonenumersAndLicensPlatesToMember(DummyMemberObject dummyMember, Member givenMember)
        {
            try
            {
                List <PhoneNumber>  listOfNumbers       = CreatePhonenumberList(dummyMember, givenMember);
                List <LicensePlate> listOfLicensePlates = CreateLicensePlatesList(dummyMember, givenMember);

                _parkSharkDBContext.AddRangeAsync(listOfNumbers);
                _parkSharkDBContext.AddRangeAsync(listOfLicensePlates);
                _parkSharkDBContext.SaveChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 6
0
        //You're assuming givenMember is a tracked entity, while it could easily be outside of the context
        //Either create the entire Member graph (including its list of numbers and license plates) in one method and .SaveChanges, or use a transaction
        //Possible hazard of having inconsistent data (Member was saved, phone numbers weren't)
        public bool AddPhonenumersAndLicensPlatesToMember(DummyMemberObject dummyMember, Member givenMember)
        {
            try
            {
                List <PhoneNumber>  listOfNumbers       = CreatePhonenumberList(dummyMember, givenMember);
                List <LicensePlate> listOfLicensePlates = CreateLicensePlatesList(dummyMember, givenMember);

                _parkSharkDBContext.AddRangeAsync(listOfNumbers);
                _parkSharkDBContext.AddRangeAsync(listOfLicensePlates);
                _parkSharkDBContext.SaveChanges();
                return(true);
            }
            catch
            {
                //Catch return false should be used in exceptional circumstances, use a transaction with rollback instead
                return(false);
            }
        }
Exemplo n.º 7
0
        public Member CreateNewMember(DummyMemberObject dummyMember)
        {
            MembershipLevel membershipLevel = AssignMembershipLevelFromDummyMember(dummyMember);

            if (membershipLevel == null)
            {
                return(null);
            }

            Member newMember = CreateMemberFromDummyObjectsAndMembershipLevel(dummyMember, membershipLevel);

            if (newMember == null)
            {
                return(null);
            }
            _parkSharkDBContext.Add(newMember);
            _parkSharkDBContext.SaveChanges();

            return(newMember);
        }
Exemplo n.º 8
0
        public void GivenHappyPath2_WhenAddingNewMemberToDb_ObjectIsAddedToDb()
        {
            using (var context = new ParkSharkDbContext(CreateNewInMemoryDatabase()))
            {
                context.Set <MembershipLevel>().Add(new MembershipLevel()
                {
                    MemberShipLevelId = 0, Name = "Bronze", MonthlyCost = 0, PSAPriceReductionPercentage = 0, PSAMaxTimeInHours = new TimeSpan(4, 0, 0)
                });
                context.SaveChanges();

                var city = City.CreateCity(2050, "Antwerpen", "Belgium");

                var member = new DummyMemberObject()
                {
                    FirstName = "lars", LastName = "Peelman", Address = Address.CreateAddress("test", "5", city), MembershipLevel = MembershipLevelEnum.Bronze
                };

                var service = new MemberService(context);
                var result  = service.CreateNewMember(member);

                Assert.Single(service.GetAllMembers());
            }
        }
Exemplo n.º 9
0
 private MembershipLevel AssignMembershipLevelFromDummyMember(DummyMemberObject dummyMember)
 {
     return(_parkSharkDBContext
            .Set <MembershipLevel>()
            .FirstOrDefault(x => x.MemberShipLevelId == dummyMember.MembershipLevel));
 }