removed unused AttributeValidationObject and updated TODO
have the EF mappings looking correct. There are some things I'm not quite following as far as how its working yet. Will tweak, but wanted this committed.
fixed the rest of the mapping issues for the many-to-many attribute tables with additional properties.
fixed a mapping issue by marking PersonAttribute.Attribute as virtual in the entity class. Also implemented person entity-to-model mappings (factory, etc.).
made some base class stuff virtual and started overloading permission check methods on the Person model. Still toying with designs.
simplified the attributes manipulation through the PartyModel. still have to work out the save/creation of non-existant attribute definitions in the Db.
all crud operations are working for SqlPersonRepository with entity-attribute-value items. The attributes are currently all being saved regardless of whether their values were changed (SQL Profiler verified), so I'll have to address that (will be important for auditing) .
fixed the EF rows effected issue by creating a PersonAttributeMapper class to perform the HasSameId check against the attribute entities on an Update call.
cleanup
updated Wrangler.Database to reflect the attributable changes.
updated Db project seed script and TestDataGenerator to include the 'EyeColor' attribute for testing.
cleaned up EF configurations, eliminating some unneeded calls. Also added AttributeLookup for combobox bindings for attributes.
refactored party models to no longer rely on internal setters to support factory classes.
moved the Wrangler.Party factories into the BusinessLogic library and fixed the tests. There is now an Id value being passed when the mock domain objects are setup. Will need to review these tests. The RulesFacilitators tests actually should be using mocks, as they are verifying that the AddRule method was called X times since the rules themselves are not publicly exposed.
cleanup
changed Phone.PartyId to Phone.Party (nav property) for the EF entities and removed the PhoneModel.PartyId property completely. all tests pass. This change affected the results int of the PartyContext.SaveChanges() method, proving that this value is based on 'objects affected' rather than 'rows affected', since the value increased by the number of added nav properties in the saved object graph and also does not increase when an entity is split across multiple tables.
fixed EF configs to name the Phone.PartyId FK column the same as it was previously, and not Party_PartyId.
renamed PropertyAuthorizations to MemberAuthorizations
fixed test seed data for Wrangler database deployment
bug fix related to the PropertyAuthorization to MemberAuthorization rename