Advice on small project

Topics: Conventions, Getting Started
Apr 29, 2013 at 3:08 AM
Edited Apr 29, 2013 at 3:09 AM
Hello,

I've got a simple application I'm working, my first WPF & MVVM app. Click on the link to see a very rough moqup:
https://moqups.com/ahmadh21/uouUSrtP

If you cant see the link above, this is a summary of the app: Manages invoices. The first part of the app (CreateInvoice) does the following: allows a person to search for a customer, if not found give them the option to create, if found allow them to continue to vehicle selection. IF they create a customer it goes to vehicle creation, if they select existing customer it allows them to select from a list of previously used vehicles for that customer or allows them to create a new vehicle. Once all that's done they go on to the invoice editing process (parts, labour, and extra charges).

Now for that basic set of screens I went over above, here is what I've devised using CM:
Base : Shell
Home screen: Conductor<T>
    Screens: CreateInvoice, LookupInvoice, InvoiceAccounting

CreateInvoice screens: Conductor<T>
    Screens: CustomerSearch, VehicleSelect, CustomerEdit, VehicleEdit, InvoiceEditor

CustomerSearch: Screen
    Events: CreateCustomer, SelectCustomer

CustomerEdit: Screen
    Events: SaveCustomer, UpdateCustomer

VehicleCreate: Screen
    Events: SaveVehicle, UpdateVehicle

VehicleEdit: Screen
    Events: SelectVehicle, CreateVehicle

InvoiceEditor: Conductor<T>
    Screens: PartAdd, PartDelete, LabourAdd, LabourDelete, ExtraAdd, ExtraDelete, DiscountEdit, InvoicePrint, InvoicePrintPreview

Looking for guidance here on: does this make sense given the current framework? I want to stick to MVVM as closely as possible. Events I will use to allow loading of other screens.

Naming: Should I append/prepend the words "screen" and "event" to the respective classes?

Thank you in advance.

Ahmad