예제 #1
0
        public static void Main(string[] args)
        {
            var json = File.ReadAllText("../../contacts.json");
            var contactsDto = JsonConvert.DeserializeObject<List<ContactDTO>>(json);
            var context = new PhonebookContext();

            foreach (var contactDto in contactsDto)
            {
                try
                {
                    var contact = new Contact();
                    if (contactDto.Name != null)
                    {
                        contact.Name = contactDto.Name;
                    }
                    else
                    {
                        contact.Name = contactDto.FirstName + " " + contactDto.LastName;
                    }

                    if (string.IsNullOrWhiteSpace(contact.Name))
                    {
                        throw new Exception("Name is required");
                    }

                    contact.Notes = contactDto.Notes;
                    contact.Position = contactDto.Position;
                    contact.Company = contactDto.Company;
                    contact.Site = contactDto.Site;

                    var emails = new List<Email>();
                    foreach (var email in contactDto.Emails)
                    {
                        emails.Add(new Email() { EmailAddress = email });
                    }


                    var phones = new List<Phone>();
                    foreach (var phone in contactDto.Phones)
                    {
                        phones.Add(new Phone() { PhoneNumber = phone });
                    }

                    contact.Phones = phones;
                    contact.Emails = emails;

                    context.Contacts.Add(contact);
                    context.SaveChanges();
                    Console.WriteLine("Contact {0} imported", contact.Name);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: " + ex.Message);
                }
            }
        }
예제 #2
0
        public static void Main(string[] args)
        {
            var context = new PhonebookContext();

            var contacts = context.Contacts.Include("Emails").Include("Phones");

            foreach (var contact in contacts)
            {
                Console.WriteLine(contact.Name);
                foreach (var email in contact.Emails)
                {
                    Console.WriteLine("  " + email.EmailAddress);
                }

                foreach (var phone in contact.Phones)
                {
                    Console.WriteLine("  " + phone.PhoneNumber);
                }
            }
        }