private void ProcessCustomers(FileStream stream) { foreach (var xCustomer in GetXElements(stream, "Customer")) { var customer = new CustomerPoco { Email = xCustomer.Get("Email"), FirstName = xCustomer.Get("FirstName"), LastName = xCustomer.Get("LastName"), Roles = xCustomer.GetEnumerable("Roles", ','), ShowInDemoUserMenu = xCustomer.GetIntOrDefault("ShowInDemoUserMenu", 1), DemoUserTitle = xCustomer.Get("DemoUserTitle"), Location = xCustomer.Get("Location"), DemoUserDescription = xCustomer.Get("DemoUserDescription"), DemoSortOrder = xCustomer.GetIntOrDefault("DemoSort"), Addresses = new List <AddressPoco>(), CreditCards = new List <CreditCardPoco>() }; foreach (var xAddress in xCustomer.Element("Addresses")?.Elements("Address") ?? Enumerable.Empty <XElement>()) { var address = new AddressPoco { Name = xAddress.Get("Name"), Line1 = xAddress.Get("Line1"), City = xAddress.Get("City"), CountryCode = xAddress.Get("CountryCode"), CountryName = xAddress.Get("CountryName"), RegionCode = xAddress.Get("RegionCode"), RegionName = xAddress.Get("RegionName"), PostalCode = xAddress.Get("PostalCode") }; customer.Addresses.Add(address); } foreach (var xCreditCard in xCustomer.Element("CreditCards")?.Elements("CreditCard") ?? Enumerable.Empty <XElement>()) { var cc = new CreditCardPoco { Number = xCreditCard.Get("Number"), CardType = xCreditCard.Get("CardType"), LastFour = xCreditCard.Get("LastFour"), ExpirationYear = xCreditCard.GetInt("ExpirationYear"), ExpirationMonth = xCreditCard.GetInt("ExpirationMonth") }; customer.CreditCards.Add(cc); } SaveCustomer(customer, PrimaryKeyId.Empty); } }
private void ProcessOrganizations(FileStream stream) { foreach (var xOrganization in GetXElements(stream, "Organization")) { var organization = new OrganizationPoco { Id = xOrganization.Get("Id"), Name = xOrganization.Get("Name"), Users = new List <CustomerPoco>(), CreditCards = new List <CreditCardPoco>(), SubOrganizations = new List <OrganizationPoco>() }; foreach (var xUser in xOrganization.Element("Users")?.Elements("User") ?? Enumerable.Empty <XElement>()) { var customer = new CustomerPoco { Email = xUser.Get("Email"), FirstName = xUser.Get("FirstName"), LastName = xUser.Get("LastName"), Roles = xUser.GetEnumerable("Roles", ','), B2BRole = xUser.Get("B2BRole"), Location = xUser.Get("Location"), ShowInDemoUserMenu = xUser.GetIntOrDefault("ShowInDemoUserMenu", 1), DemoUserTitle = xUser.Get("DemoUserTitle"), DemoUserDescription = xUser.Get("DemoUserDescription"), DemoSortOrder = xUser.GetIntOrDefault("DemoSort"), Addresses = new List <AddressPoco>(), CreditCards = new List <CreditCardPoco>() }; foreach (var xAddress in xUser.Element("Addresses")?.Elements("Address") ?? Enumerable.Empty <XElement>()) { var address = new AddressPoco { Name = xAddress.Get("Name"), Line1 = xAddress.Get("Line1"), City = xAddress.Get("City"), CountryCode = xAddress.Get("CountryCode"), CountryName = xAddress.Get("CountryName"), RegionCode = xAddress.Get("RegionCode"), RegionName = xAddress.Get("RegionName"), PostalCode = xAddress.Get("PostalCode") }; customer.Addresses.Add(address); } organization.Users.Add(customer); } foreach (var xCreditCard in xOrganization.Element("CreditCards")?.Elements("CreditCard") ?? Enumerable.Empty <XElement>()) { var cc = new CreditCardPoco { Number = xCreditCard.Get("Number"), CardType = xCreditCard.Get("CardType"), LastFour = xCreditCard.Get("LastFour"), ExpirationYear = xCreditCard.GetInt("ExpirationYear"), ExpirationMonth = xCreditCard.GetInt("ExpirationMonth") }; organization.CreditCards.Add(cc); } foreach (var xSubOrganization in xOrganization.Element("SubOrganizations")?.Elements("SubOrganization") ?? Enumerable.Empty <XElement>()) { var subOrganization = new OrganizationPoco { Id = xSubOrganization.Get("Id"), Name = xSubOrganization.Get("Name"), Users = new List <CustomerPoco>(), CreditCards = new List <CreditCardPoco>(), SubOrganizations = new List <OrganizationPoco>() }; foreach (var xUser in xSubOrganization.Element("Users")?.Elements("User") ?? Enumerable.Empty <XElement>()) { var customer = new CustomerPoco { Email = xUser.Get("Email"), FirstName = xUser.Get("FirstName"), LastName = xUser.Get("LastName"), Roles = xUser.GetEnumerable("Roles", ','), B2BRole = xUser.Get("B2BRole"), Location = xUser.Get("Location"), ShowInDemoUserMenu = xUser.GetIntOrDefault("ShowInDemoUserMenu", 1), DemoUserTitle = xUser.Get("DemoUserTitle"), DemoUserDescription = xUser.Get("DemoUserDescription"), DemoSortOrder = xUser.GetIntOrDefault("DemoSort"), Addresses = new List <AddressPoco>(), CreditCards = new List <CreditCardPoco>() }; foreach (var xAddress in xUser.Element("Addresses")?.Elements("Address") ?? Enumerable.Empty <XElement>()) { var address = new AddressPoco { Name = xAddress.Get("Name"), Line1 = xAddress.Get("Line1"), City = xAddress.Get("City"), CountryCode = xAddress.Get("CountryCode"), CountryName = xAddress.Get("CountryName"), RegionCode = xAddress.Get("RegionCode"), RegionName = xAddress.Get("RegionName"), PostalCode = xAddress.Get("PostalCode") }; customer.Addresses.Add(address); } subOrganization.Users.Add(customer); } foreach (var xCreditCard in xSubOrganization.Element("CreditCards")?.Elements("CreditCard") ?? Enumerable.Empty <XElement>()) { var cc = new CreditCardPoco { Number = xCreditCard.Get("Number"), CardType = xCreditCard.Get("CardType"), LastFour = xCreditCard.Get("LastFour"), ExpirationYear = xCreditCard.GetInt("ExpirationYear"), ExpirationMonth = xCreditCard.GetInt("ExpirationMonth") }; subOrganization.CreditCards.Add(cc); } organization.SubOrganizations.Add(subOrganization); } SaveOrganization(organization); } }