Closed

To Understand Data Validation in layered WPF desktop application

This project received 7 bids from talented freelancers with an average bid price of £207 GBP.

Get free quotes for a project like this
Employer working
Project Budget
N/A
Total Bids
7
Project Description

I would like to see how EntityFramework 4.3 (code first), Managed Extensibility Framework, Prism 4.1, MVVM, WPF can be used together in a simple c# project so that I can see how they all work together.

I am particularly interested in DataValidation techniques for this type of solution.

I am using Prism regions and DelegateCommands and CompositeCommands.

I have been having problems making buttons that are bound to Prism DelegateCommands appropriately enabled/disabled when an input error occurs in the UI and is caught during the binding process (i.e. before property changed is called e.g. a user entering 3c in text box for "Age") because this seems to prevent the calls to CanExecuteChanged that would otherwise disable the button.

I would like the solution to show me examples of how to perform
1. UIvalidation (but using a technique on the ViewModel, ie not in the code behind),
2. INotifyDataErrorInfo on the ViewModel, and
3. DataValidation techniques in the DataLayer (entity framework).

I would prefer INotifyPropertyChanged or Prism NotificationObject to be implemented on the ViewModel.
Additional examples of how you might use dataConverters, REGEX or any other recommended techniques for datavalidation would be useful.

As a suggestion: POCOs : Person (with properties of a reasonable variety of types) and Address (with properties of a reasonable variety of types).
A master-details form: master being a list of people, details being a list of addresses for the person selected in the people list.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online