Getting Started with .Net MVC c#

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]