static void Main() { using (StreamReader r = new StreamReader("../../contacts.json")) { var context = new PhonebookContext(); string json = r.ReadToEnd(); JArray googleSearch = JArray.Parse(json); context.Contacts.Count(); foreach (var var in googleSearch) { if (var["name"] != null) { var emailsExist = var["emails"] != null; var phonesExist = var["phones"] != null; var contact = context.Contacts.Add(new Contact { Name = var["name"].ToString(), Company = (var["company"] != null) ? var["company"].ToString() : null, Notes = (var["notes"] != null) ? var["notes"].ToString() : null, Position = (var["position"] != null) ? var["position"].ToString() : null, SiteUrl = (var["site"] != null) ? var["site"].ToString() : null }); if (emailsExist) { List<Email> emails = var["emails"].ToString().Split(',').Select(email => new Email { EmailAdress = email.Split('"')[1] }).ToList(); contact.Emails = new List<Email>(emails); } if (phonesExist) { List<Phone> phones = var["phones"].ToString().Split(',').Select(phone => new Phone { PhoneNumber = phone.Split('"')[1] }).ToList(); contact.Phones = new List<Phone>(phones); } } } context.SaveChanges(); Console.WriteLine("Contacts imported from JSON file!"); } }
static void Main() { var context = new PhonebookContext(); var data = context.Contacts; foreach (var contact in data) { Console.WriteLine("Name: {0}{1}{2}{3}{4}{5}{6}",contact.Name, (contact.Position != null) ? "\nPosition: " + contact.Position : "", (contact.Company != null) ? "\nCompany: " + contact.Company : "", (contact.Emails.Any()) ? "\nEmails: " + string.Join(", ",contact.Emails.Select(x => x.EmailAdress).ToList()) : "", (contact.Phones.Any()) ? "\nPhones: " + string.Join(", ", contact.Phones.Select(p => p.PhoneNumber).ToList()) : "", (contact.SiteUrl != null) ? "\nUrl: " + contact.SiteUrl : "", (contact.Notes != null) ? "\nNotes: " + contact.Notes : ""); Console.WriteLine(); } }