Beispiel #1
0
        public void MappingBuilderAbstractionIntegration()
        {
            using (var builder = XmlRepository.GetPropertyMappingBuilderFor <Person>())
            {
                builder.Map(p => p.Id).ToAttribute("sexy");
                builder.Map(p => p.LastName).ToContent();
            }

            //// builder.Map(p => p.Geek).ToElement("TESTGEEK"); ??

            string xml = "<root></root>";

            var delegateProvider = new DelegateDataProvider(() => xml, data => xml = data);

            XmlRepository.DataProvider = delegateProvider;

            using (var repository = XmlRepository.Get(RepositoryFor <Person> .WithIdentity(p => p.Id)))
            {
                var person = new Person
                {
                    FirstName = "Peter&",
                    LastName  = "Bucher",
                    Geek      = new Geek
                    {
                        Alias   = "YeahAlias",
                        SuperId = "test"
                    }
                };

                repository.SaveOnSubmit(person);
                repository.SubmitChanges();

                var data = repository.LoadAll();
            }
        }
Beispiel #2
0
        public void DataAvailableInProviderIsLoadAutomatically()
        {
            var getRepositoryThatWillBeReused = XmlRepository.Get(RepositoryFor <Person> .WithIdentity(p => p.Id));

            var builder = XmlRepository.GetPropertyMappingBuilderFor <Person>();

            builder.Map(p => p.Id).ToAttribute();

            builder.ApplyMappingsGlobal();

            var prefilledInMemoryProvider = new InMemoryDataProvider(
                @"<root>
  <Person>
    <Id>c186fb12-dd38-4784-8b48-aad96a6510c4</Id>
    <LastName>Bucher</LastName>
    <FirstName>Peter</FirstName>
    <Geek>
      <Id>8f8b747e-3f16-4938-a384-980fc8aa8dd7</Id>
      <SuperId>test</SuperId>
      <Alias>Jackal</Alias>
    </Geek>
    <Friends></Friends>
    <Birthday>17.10.1983 00:00:00</Birthday>
  </Person>
</root>");

            using (var repository = XmlRepository.Get(RepositoryFor <Person>
                                                      .WithIdentity(p => p.Id)
                                                      .WithDataProvider(prefilledInMemoryProvider)))
            {
                var test = repository.LoadAll();

                Assert.That(repository.LoadAll(), Is.Not.Null);
            }
        }