Application Structure
 
Cuberry is a C# solution and requires the .Net Framework 4.0 for use.
The Microsoft Visual Studio 2010 and the MS SQL Server 2005/2008 are needed for development.

The application is based on Microsoft PRISM and uses logging classes from the Microsoft Enterprise Library.
 
The Model-View-Controller (MVC) design pattern is used for managing the business entities in the application.
 
When using the MS SQL Reporting Services 2005 for the FiAccountReport module the ReportViewer version 9 DLLs are needed to show the reports.
 
The Entity Framework is used for accessing the data.
 
 
Beside the main application project (P2.Cuberry) there are three solution folders:
 
The P2.Cuberry.Common folder contains the three core application projects: Helper, Infrastructure and Layout (all in the namespace P2.Cuberry.Framework).
 
The Framework Modules folder contains the standard modules which for managing the application. But the application can also run without these modules.
 
All other modules can be found in the Modules folder.
 
Module Structure

Each module is organized as follows:
 

  • BusinessEntities folder
  • DAL folder
  • Events folder
  • Images folder
  • PresentationModels folder
     
  • Reports folder (if needed)
  • Services folder
  • Styles folder (if needed)
  • Views folder
     
  • app.config file
  • MyModuleNameModule.cs  file
  • GlobalSuppressions.cs  file
  • RegionNames.cs file 

 

The Standard Table Structure

Most tables have the following standard fields:
  • StatusID: The status of the current entity. This is not used in all tables. 
     
  • CreatedOn: Date when this row was created. The default value is defined in the database (getdate()) 
  • CreadteBy: The username who created this row. 
  • EditedOn: The last update date. 
  • EditedBy: The username of the person who updated this row.
     
  • TStamp: Is needed for update management purposes.
The Entity Relationship Model

The following diagram shows the relations among the Cuberry framework tables:
 

  • Sub Menu 
  • Main Menu
     
  • Enterprise Workflow 
  • Enterprise Workflow Status 
  • Enterprise Workflow Object
     
  • Application Configuration
  • Application Language
  • Application Resources
     
  • UI Controls Configuration
  • Input Validation Configuration
  • Mandatory Fields Configuration
  • Workflow UI Controls Configuration
     
  • User Groups
  • Users
  • User Group Access Rights
  • User Group Special Access Rights
     
  • User Process Logging
  • Field Tracking Configuration