Using DB First Approach
Database Part MSSQL Management Studio
- Create DB Tables,
- Views and
- Stored Procedure as requirement
Visual Studio Application Part
- Create New Project
- Create Separate Projects for DAL
- Add Reference of DAL Project to main project
- Add Nuget package of Entity Framework to both projects [DAL and Main]
- Create EDMX Model from Database to project in DAL Project
- Build Project
- Add scaffolding Controllers of simple tables
- Test Application
Using Code First Approach
Visual Studio Application Part
- Create New Project
- Create Separate Projects for DAL
- Add Reference of DAL Project to main project
- Add Nuget package of Entity Framework to both projects [DAL and Main]
- Create Models and DB Context required for matching database structure
- Build Project
- Add scaffolding Controllers
- Test Application
Common Try outs
- Analysis of Bind Values, Post Variable capture
- Necessary change implementation of code for edit method of scaffolding for adapting changes related to hidden and readonly values
- Add Scaffolding Controllers of Complex tables which has relation/related data with another table and should show its selection in dropdown
- Know difference between Sync and Async Methods
- Try Master/Detail Form data entry/edit pages
- Try Form with Checkboxes and use some nice toggle buttons for checkboxes
- Use EditorTemplates for Create/Edit Page
- Use DisplayTemplates for Detail/Delete Page
- Use of TempData for message display/variable sharing between pages
- Use of Sessions for Tracking user logins and browsing sessions
- Use of Partial views for AJAX page result
- use of JSON Result format for better AJAX Result
- Use of View-Models for display of data in combined/complex page designs
- Use of Auto-Mappers for conversion between Domain Models -> View Models and vice-versa
UI Additional Tryouts
Use of bootstrap Component like
TABS, Navs, Chosen [with ajax search], multi select-chosen, CARDS, Panels, Tooltips, Modal, fa icons, collapsible panel, accordions, date-picker, time-picker, tags
Additional Tryouts
- Separation of DAL project with UI Project
- Addition of BAL project in solution for application logic
- Addition of DAL Metadata for validation and label changes
- Direct in class Indirect using partial class which will be un-affacted in case of db-first model updates
- Use UIHint to change display of boolean values types to nice Yes/No label in display format and toggle button in editor format
- Customization of db query with linq for server side filtration and querying for data with criteria
- Grouping of List data with certain members that can be helpful for report generation
- Use of Dictionary Data type for quick access of key value data types
- Use of Dependency Injection for Repo/Service class initialization
- Use of Repo Class to follow repository pattern
- Use of Service Class in BAL project to add Business Logic Layer
- Use of try/catch and Unit or Work Pattern
- Use of Error Logging frameworks for tracking errors of applications
- Use of Generic Repo and Generic Services for quick application development process.
Our Basic Classes Intro
- Use of ViewHelper for formatting number/currencies
- Use of Flashbag for quick support of TempData
- Use of NepaliCalendar for General Date conversion
- Use of RestSharp Nuget Package for quick API consumption
JS Charts
- d3 charts [pie, line, etc]