Hello and thanks for creating this project.
I have read "Architecting Applications for the Enterprise" and will likely give it a second read to make sure I have digested it all.
I have downloaded the latest build of NSK (nsk-93269). I have gotten over some of the first "humps" (EL 5.0, Code Contract Extensions, etc., installing Northwind sample, MVC 2.0)
I am getting some persistent behaviour and am wondering if there is something I'm doing wrong. I've listed 3 examples below, but what I'm really looking for is this:
Which version(s) of all the Presentation Layers are the most complete?
Which DAL is the most complete?
1. I set "ManagedDesigns.Nsk.Windows.UI as the startup project. I then built the project and ran it.
• I opened the "Customers" and clicked on "Add".
• I filled out the fields with example data and pressed "Apply"
• I get a NullReferenceException in CustomerDetailPresenter.cs.
When the following line is executed, newCustomer.MainPostalAddress is null:
newCustomer.MainPostalAddress.Address = this.view.Address
Should there be a line like newCustomer.MainPostalAddress = new PostalAddress() ?
2. Also using ManagedDesigns.Nsk.Windows.UI:
• On the Customers form, I selected the first customer in the left listbox (Alfreds Futterkiste on my system).
• I clicked the "Edit" button. On the Customer form I changed the name to Alfreds Futterkisted.
• I clicked "Apply".
• I get a dialog stating
A problem occurred while updating "Maria Anders".
Parameter name: The specified customer does not exist.
It looks like the underlying repository (ManagedDesigns.Nsk.Data.EF.Poco.Repositories) is hard-coded to return false in "public bool Contains(T item)".
Should I be using a different repository? How might I do that?
3. When I click on "Run all tests in solution", 61 tests pass, 21 tests fail. I assume they are all meant to pass. One example:
• "CompanyName_Cannot_Be_Null_For_Registration" Error Message: Assert.IsFalse failed.
• I took a quick look at the code for this
Customer c = Customer.CreateNewCustomer("41", "Managed Designs", "Andrea Saltarello");
c.Name = null;
I looked in the App.Config of "ManagedDesigns.NSK.Domain.Tests". Under the Rule Set "IsValidForRegistration", I did not see a Validation Target for Property "Name".
I tried adding one, perhaps I didn't do it right. This test still fails.
Again, I understand that this is a work in progress. I just want to make sure I understand what's going on in this solution as it is quite a bit for me to digest all at once.