EF Context CheckList

Normal General Processing Synchronous

  • EF DB Context Data Insert
  • EF DB Context Data Update
  • EF DB Context Data Select
  • EF DB Context Data Delete

Bulk Processing Synchronous

  • EF DB Context Data Insert
  • EF DB Context Data Update
  • EF DB Context Data Select
  • EF DB Context Data Delete

Normal General Processing Asynchronous

  • EF DB Context Data Insert
  • EF DB Context Data Update
  • EF DB Context Data Select
  • EF DB Context Data Delete

Bulk Processing Asynchronous

  • EF DB Context Data Insert
  • EF DB Context Data Update
  • EF DB Context Data Select
  • EF DB Context Data Delete

For Ajax Add Page

c# aspt.net controller part

region url for ajax load blank form

  • create async partiaviewresult action method
  • load respective add form in partial view

region url for ajax submit/save

  • Create async JSONResult action method
  • grab/get posted data
  • save them to table
  • if success return json with status true and data with recently added id
  • if fail return json with status false and errmsg with proper message

region url for ajax refresh combobox

  • create async jsonresult action method
  • get data from respective table/database
  • return json with id/value field related to dropdown

JS Part

  • Load Form
    • call refresh/load data for dropdown from refresh url
  • when clicked + button
    • show popup modal box with ajax loading of add form
    • when submit button of add form is clicked
      • validate
      • ajax submit [json
      • onsuccess
        • check result status
        • if true then
          • reload list of data in dropdown box
          • mark selected to recently added one [auto selected]
        • if false show error msg
        • close dialog box
      • on failure
        • show err msg
        • close dialog box

In case of Old data of coop is not properly restore then

  • stop work of that coop from all places
  • Login to Master Panel
  • Org List and Org Edit respective organisation
  • Change DB name to old fiscal year db like “coop_md197”
  • Open Org List page
  • Find restore matchin copy of db in that org
  • Open Org Edit panel of resepective Organisation
  • Change DB name to New Fiscal year DB like ‘coop_md197_7576
  • Confirm Organisation Login via next browser
  • Verify data
  • Inform COOP so that they can start work.

Madhyapur Hospital Backup Plan

Application/Files/Database to backup

SN Application Description Runtime User Uploads Database
1 Main MIS Web Application Yes Yes Yes
2 Desktop Application Yes No No
3 Payroll Application Yes Yes Yes
4 Inventory Application Yes No Yes
5 Main MIS Web Application [2073] Yes No Yes
6 Old Record Check Application Yes Yes Yes

Fix User Server Principal authentication error after db restore

use database_name;
— ALTER DATABASE database_name SET READ_WRITE

——– Reset SQL user account guids ———————
DECLARE @UserName nvarchar(255)
DECLARE orphanuser_cur cursor for
SELECT UserName = su.name
FROM sysusers su
JOIN sys.server_principals sp ON sp.name = su.name
WHERE issqluser = 1 AND
(su.sid IS NOT NULL AND su.sid <> 0x0) AND
suser_sname(su.sid) is null
ORDER BY su.name

OPEN orphanuser_cur
FETCH NEXT FROM orphanuser_cur INTO @UserName

WHILE (@@fetch_status = 0)
BEGIN
–PRINT @UserName + ‘ user name being resynced’
exec sp_change_users_login ‘Update_one’, @UserName, @UserName
FETCH NEXT FROM orphanuser_cur INTO @UserName
END

CLOSE orphanuser_cur
DEALLOCATE orphanuser_cur

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]

TSQL Clear All Database objects

use dbname;

DECLARE @Sql NVARCHAR(500) DECLARE @Cursor CURSOR

SET @Cursor = CURSOR FAST_FORWARD FOR
SELECT DISTINCT sql = ‘ALTER TABLE [‘ + tc2.TABLE_NAME + ‘] DROP [‘ + rc1.CONSTRAINT_NAME + ‘]’
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc1
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc2 ON tc2.CONSTRAINT_NAME =rc1.CONSTRAINT_NAME

OPEN @Cursor FETCH NEXT FROM @Cursor INTO @Sql

WHILE (@@FETCH_STATUS = 0)
BEGIN
Exec sp_executesql @Sql
FETCH NEXT FROM @Cursor INTO @Sql
END

CLOSE @Cursor DEALLOCATE @Cursor
GO

EXEC sp_MSforeachtable ‘DROP TABLE ?’
GO