public void ApplySearchCriteria() { Entities.Clear(); long position = 1; IDomainEntityFactory factory = new DomainEntityFactory(DataService, Messenger); try { foreach (T item in SelectEntities()) { Entities.Add(factory.GetDomainEntity(item, position++)); } OnPropertyChanged(nameof(Entities)); } catch (EntityException e) { OnEntityException(e); } catch (DbEntityValidationException e) { OnDbEntityValidationException(e); } catch (DbUpdateException e) { OnDbUpdateException(e); } }
// --------------------------MOCK VALIDATION ENTITIES---------------------------- private MockValidatableDomainEntity CreateTestEntity <T>() where T : IEntityDelegator { var factory = new DomainEntityFactory(new MockResolver()); factory.BehaviorsFor <T>( e => e.Supports <IValidationBehavior, MockValidationBehavior>()); return(factory.Create <MockValidatableDomainEntity>()); }
// --------------------------MOCK DOMAIN ENTITIES---------------------------- // Creates an source domain entity for testing with the mapping behavior registered. private SourceDomainEntity CreateTestEntity <T>(TargetMap[] targetMaps) where T : IEntityDelegator { var factory = new DomainEntityFactory(new MockResolver(targetMaps)); factory.BehaviorsFor <T>( e => e.Supports <IMappingBehavior, MappingBehavior>()); return(factory.Create <SourceDomainEntity>()); }
public void DomainEntity_MayNotSupportBehavior() { var factory = new DomainEntityFactory(new MockResolver()); var domainEntity = factory.Create <MockDomainEntity>(); var behavior = domainEntity.Entity.GetBehavior <IMockNotSupportedBehavior>(); behavior.Should().NotBeNull(); behavior.supported.Should().BeFalse(); behavior.instance.Should().BeNull(); }
public override void StartModule(IContainer container, ILifetimeScope scope) { var resolver = new AutofacDomainServiceRosolver(container); var factory = new DomainEntityFactory(resolver); foreach (var registry in Registries) { registry.Register(factory); } DomainEntityFactory.SetInstance(factory); }
public void BehaviorCreatedOnce_PerDomainEntity() { var factory = new DomainEntityFactory(new MockResolver()); factory.AddBehavior <IMockDomainBehavior, MockGlobalDomainBehavior>(); var domainEntity = factory.Create <MockDomainEntity>(); var behavior = domainEntity.Entity.GetBehavior <IMockDomainBehavior>(); var behavior2 = domainEntity.Entity.GetBehavior <IMockDomainBehavior>(); behavior.instance.Should().BeSameAs(behavior2.instance); }
public void DomainEntity_AssocatedWithBehavior() { var resolver = new MockResolver(); var factory = new DomainEntityFactory(resolver); factory.AddBehavior <IMockDomainBehavior, MockGlobalDomainBehavior>(); var domainEntity = factory.Create <MockDomainEntity>(); var behavior = domainEntity.Entity.GetBehavior <IMockDomainBehavior>(); domainEntity.Should().BeSameAs(behavior.instance.DomainEntity); }
public void BehaviorServices_AreResolved() { var resolver = new MockResolver(); var factory = new DomainEntityFactory(resolver); factory.AddBehavior <IMockDomainBehavior, MockGlobalDomainBehavior>(); resolver.ResolveCount.Should().Be(0); var domainEntity = factory.Create <MockDomainEntity>(); var behavior = domainEntity.Entity.GetBehavior <IMockDomainBehavior>(); resolver.ResolveCount.Should().Be(1); }
public void GlobalBehavior_AppliesToAllDomainEntities() { var factory = new DomainEntityFactory(new MockResolver()); factory.AddBehavior <IMockDomainBehavior, MockGlobalDomainBehavior>(); var domainEntity = factory.Create <MockDomainEntity>(); var behavior = domainEntity.Entity.GetBehavior <IMockDomainBehavior>(); behavior.Should().NotBeNull(); behavior.supported.Should().BeTrue(); behavior.instance.Should().NotBeNull(); behavior.instance.Should().BeOfType <MockGlobalDomainBehavior>(); }
public void Add() { bool oldHasChanges = HasChanges; IDomainEntityFactory factory = new DomainEntityFactory(DataService, Messenger); SelectedItem = factory.GetDomainEntity <T>(); if (oldHasChanges != HasChanges) { OnPropertyChanged(nameof(HasChanges)); } else { SelectedItem?.UpdateHasChanges(); } }
public void DomainEntityBehavior_Overrides_GlobalBehavior() { var factory = new DomainEntityFactory(new MockResolver()); factory.AddBehavior <IMockDomainBehavior, MockGlobalDomainBehavior>(); // Register behavior that is specific to the domain entity type. factory.BehaviorsFor <MockDomainEntity>( entity => entity.Supports <IMockDomainBehavior, MockDomainBehavior>()); var domainEntity = factory.Create <MockDomainEntity>(); var behavior = domainEntity.Entity.GetBehavior <IMockDomainBehavior>(); behavior.Should().NotBeNull(); behavior.supported.Should().BeTrue(); behavior.instance.Should().NotBeNull(); behavior.instance.Should().BeOfType <MockDomainBehavior>(); }
public void DomainTypeConstructorTest() { var ctor1 = new DomainEntityFactory <Customer, int, string>(); var id = 1; var name = "someone"; var c1 = ctor1.Construct(new object[] { id, name }); Assert.IsTrue(c1.Id == id && c1.Name == name && c1.GetEntityState() == EntityState.Uninitialized); c1 = ctor1.New.Construct(("id", id), ("name", name)); Assert.IsTrue(c1.Id == id && c1.Name == name && c1.GetEntityState() == EntityState.New); c1 = ctor1.Existing.Construct(1, name); Assert.IsTrue(c1.Id == id && c1.Name == name && c1.GetEntityState() == EntityState.Existing); c1 = ctor1.ConstructWithDefaults(("id", id)); Assert.IsTrue(c1.Id == id && c1.Name == null && c1.GetEntityState() == EntityState.Uninitialized); Assert.Throws <InvalidOperationException>(() => c1 = ctor1.Construct(("id", id))); }