コード例 #1
0
 private static void PrintTelephones(TelephoneCompany telephoneCompany)
 {
     Console.WriteLine($"Printing telephone numbers under {telephoneCompany.Company}");
     Console.WriteLine("Numbers: ");
     foreach (var telephoneNumber in telephoneCompany.TelephoneNumbers)
     {
         Console.WriteLine($"   {telephoneNumber.Number}");
     }
 }
コード例 #2
0
        static void Main(string[] args)
        {
            var person1 = new Person()
            {
                FirstName = "Rasmus",
                LastName  = "Lund",
                Email     = "*****@*****.**",
                Context   = "A friend, not drunk, not at all, nope!"
            };
            var person2 = new Person()
            {
                FirstName  = "Søren",
                MiddleName = "EtEllerAndet",
                LastName   = "Ryge",
                Email      = "*****@*****.**",
                Context    = "A Smoker"
            };
            var personIndex = new List <Person>()
            {
                person1,
                person2
            };


            var telephoneNumber1 = new TelephoneNumber()
            {
                Number = "+45 28 99 02 58",
                Use    = "Private"
            };
            var telephoneNumber2 = new TelephoneNumber()
            {
                Number = "+45 29 99 02 58",
                Use    = "NotPrivate"
            };
            var telephoneNumbers = new List <TelephoneNumber>
            {
                telephoneNumber1,
                telephoneNumber2
            };


            var telephoneCompany = new TelephoneCompany()
            {
                Company = "Telia"
            };


            var addressType1 = new AddressType()
            {
                Type = "Primary"
            };
            var addressType2 = new AddressType()
            {
                Type = "Secondary"
            };


            var addressTypes = new List <AddressType>
            {
                addressType1,
                addressType2
            };


            var address1 = new Address()
            {
                HouseNumber = "1A",
                StreetName  = "Gertrudvej"
            };
            var address2 = new Address()
            {
                HouseNumber = "5A",
                StreetName  = "IngenAlkoholTilRasmus"
            };
            var addresses = new List <Address>
            {
                address1,
                address2
            };


            var zipCode = new ZipCode()
            {
                Zip = "8000"
            };


            var countryCode = new CountryCode()
            {
                Code = "DK"
            };
            var countryCodes = new List <CountryCode>()
            {
                countryCode
            };


            var city = new City
            {
                Name = "Aarhus"
            };

            // Connecting the items
            // Could use different persons with different value, but it's a lot of work..! need ze factory
            person1.AddressTypes         = addressTypes;
            person1.AlternativeAddresses = addresses;
            person1.PrimaryAddress       = address1;
            person1.TelephoneNumbers     = telephoneNumbers;
            person2.AddressTypes         = addressTypes;
            person2.AlternativeAddresses = addresses;
            person2.PrimaryAddress       = address2;
            person2.TelephoneNumbers     = telephoneNumbers;

            telephoneCompany.TelephoneNumbers = telephoneNumbers;

            address1.AddressTypes = addressTypes;
            address1.Persons      = personIndex;
            address1.City         = city;
            address2.AddressTypes = addressTypes;
            address2.Persons      = personIndex;
            address2.City         = city;

            addressType1.Persons = personIndex;
            addressType1.Address = address1;
            addressType2.Persons = personIndex;
            addressType2.Address = address2;

            zipCode.CityName    = city;
            zipCode.CountryCode = countryCode;

            city.ZipCode = zipCode;

            foreach (var person in personIndex)
            {
                PrintPerson(person);
            }

            foreach (var address in addresses)
            {
                PrintAddress(address);
            }

            PrintTelephones(telephoneCompany);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: HermansenDump/DAB2_1
        private static void PrintPerson(Repository <TelephoneCompany> telephoneCompanyRepo, Person person, TelephoneCompany telephoneCompany)
        {
            Console.WriteLine($"Person {person.FirstName} {person.MiddleName} {person.LastName}");
            Console.WriteLine($"Person Context: {person.Context} | {person.Email}");
            foreach (var phoneNumber in person.PhoneNumbers)
            {
                Console.WriteLine($"   Phonenumbers {phoneNumber.Number} Usage: {phoneNumber.Usage}");
                Console.WriteLine($"      Company {telephoneCompanyRepo.Read(telephoneCompany.Id).CompanyName}");
            }

            foreach (var personPersonAddress in person.PersonAddresses)
            {
                Console.WriteLine($"   Address {personPersonAddress.Address.AddressName.StreetName} {personPersonAddress.Address.AddressName.HouseNumber}");
                Console.WriteLine($"   Address Type {personPersonAddress.Address.AddressTypes.SingleOrDefault(p => p.Address == personPersonAddress.Address)?.Type}");
                Console.WriteLine($"      City {personPersonAddress.Address.City.Name}");
                Console.WriteLine($"      ZipCode {personPersonAddress.Address.City.ZipCode}");
                Console.WriteLine($"         Country code {personPersonAddress.Address.City.CountryCode.Code}");
            }

            Console.WriteLine("\n\n");
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: HermansenDump/DAB2_1
        static async Task Task(string[] args)
        {
            var context               = new Dab2_2RdbContext();
            var uow                   = new UnitOfWork(context);
            var personRepo            = new Repository <Person>(context);
            var telephoneCompanyRepo  = new Repository <TelephoneCompany>(context);
            var addressRepo           = new Repository <Address>(context);
            var personAddressRepo     = new UnionRepository <PersonAddress>(context);
            var addressTypeRepo       = new Repository <AddressType>(context);
            var personAddressTypeRepo = new UnionRepository <PersonAddressType>(context);
            var cityRepo              = new Repository <City>(context);
            var countryCodeRepo       = new Repository <CountryCode>(context);

            var person = new Person
            {
                FirstName    = "Kasper",
                LastName     = "Hermansen",
                Email        = "*****@*****.**",
                Context      = "Myself",
                PhoneNumbers = new List <PhoneNumber>()
                {
                    new PhoneNumber()
                    {
                        Number = "+45 28 99 02 58",
                        Usage  = "Work",
                    },
                    new PhoneNumber()
                    {
                        Number = "+45 61 66 20 25",
                        Usage  = "School",
                    }
                },
            };

            var telephoneCompany = new TelephoneCompany()
            {
                CompanyName = "Telmore"
            };

            var address = new Address()
            {
                AddressName = new AddressName()
                {
                    HouseNumber = "4",
                    StreetName  = "Grankrogen"
                }
            };

            var personAddress = new PersonAddress()
            {
                Address = address,
                Person  = person
            };

            var addressType = new AddressType()
            {
                Type    = "Home",
                Address = address
            };

            var personAddressType = new PersonAddressType()
            {
                Person      = person,
                AddressType = addressType
            };

            var city = new City()
            {
                Name    = "Skødstrup",
                ZipCode = "8541",
            };

            city.Addresses.Add(address);

            var countryCode = new CountryCode()
            {
                City = city,
                Code = "Dk"
            };


            Console.WriteLine("Creating classes");
            Console.WriteLine();

            // Create
            // Person
            await personRepo.CreateAsync(person);

            // Telephonecompany
            await telephoneCompanyRepo.CreateAsync(telephoneCompany);

            await personAddressRepo.CreateAsync(personAddress);

            await personAddressTypeRepo.CreateAsync(personAddressType);

            await cityRepo.CreateAsync(city);

            await countryCodeRepo.CreateAsync(countryCode);

            await uow.SaveAsync();

            Console.WriteLine("Unit Of Work - Saving...");

            Console.WriteLine("Reading info");
            Console.WriteLine();

            // Read
            person = personRepo.ReadAsync(person.Id).Result;
            PrintPerson(telephoneCompanyRepo, person, telephoneCompany);

            Console.WriteLine("Updating info");
            Console.WriteLine();

            // Update
            person.FirstName = "Karsten";
            person.PhoneNumbers.Add(new PhoneNumber()
            {
                Number = "Blabla 22 22",
                Usage  = "Misc"
            });

            foreach (var personPhoneNumber in person.PhoneNumbers)
            {
                personPhoneNumber.TelephoneCompany = telephoneCompany;
            }
            await telephoneCompanyRepo.UpdateAsync(telephoneCompany.Id, telephoneCompany);


            await personRepo.UpdateAsync(person.Id, person);

            await uow.SaveAsync();

            Console.WriteLine("Unit Of Work - Saving...");

            PrintPerson(telephoneCompanyRepo, person, telephoneCompany);

            Console.WriteLine("Deleting Info");
            Console.WriteLine();

            // Delete
            personRepo.Delete(person);
            telephoneCompanyRepo.Delete(telephoneCompany);
            addressRepo.Delete(address);
            cityRepo.Delete(city);
            countryCodeRepo.Delete(countryCode);

            await uow.SaveAsync();

            Console.WriteLine("Unit Of Work - Saving...");


            try
            {
                person = null;
                person = personRepo.ReadAsync(person.Id).Result;
            }
            catch (Exception)
            {
                Console.WriteLine("Person not found...");
            }
        }