Skip to main content

Glossary

Definitions for domain and technical terms you will encounter in code, SQL, session keys, and deployment docs. Spelling reflects actual implementation — including historical typos preserved for routing compatibility.

Introduction

Damsy ERP combines ASP.NET MVC conventions with a legacy SQL-centric ERP vocabulary. This glossary bridges business language (company, branch, module) and developer artifacts (Areas, DAL classes, stored procedures).

Purpose

Provide a single reference for onboarding, code review, and troubleshooting without searching the full codebase.

When to use

  • First week on the project
  • Reading session keys or BO.User properties
  • Interpreting stored procedure names or Area routes
  • Writing deployment runbooks that must match code spelling

How terms connect


Core terms

CompID

Company identifier — primary key in CompanyMaster. Stored in session as CompID after login. Nearly every controller action validates that the session company is set before running module logic. Multi-company users link through CompanyUser.

CompName

Display name of the active company in session. Selected at login from the company dropdown populated by GetCompany.

Area

ASP.NET MVC Area — a bounded module namespace with its own controllers, views, and routes. Examples: Payroll, Bills, Stock, Adminisration. URL pattern: /{area}/{controller}/{action}/{id}.

BO (Business Object)

C# classes in the BO project — DTOs and lightweight models passed between UI and DAL (e.g. BO.User, BO.Payroll.SalaryProcess_BO). No EF entities; mapping is manual from DataTable rows.

DAL (Data Access Layer)

Classes in the DAL project that call SQL via BaseHelper — open connection, set command type stored procedure, map parameters, return DataTable or scalars.

SP (Stored Procedure)

SQL Server dbo.* procedure containing business logic. Naming patterns include Get* (read) and InsertUpdate* (write). Application rarely uses ad hoc SQL in controllers.

BaseHelper

Central ADO.NET helper in DAL — resolves MyConnectionString, executes procedures, handles common parameter patterns.

MyConnectionString

Primary Web.config connection string name used by BaseHelper.ResolveConnectionString(). Must point to a database with full schema on each environment.


Authentication and session

RoleId

Session key holding the user's role identifier (int). Note casing: RoleId, not RoleID. Paired with session Role (role name).

RoleID

Database column name in UserRole and UserAccounts tables — SQL uses RoleID; session uses RoleId.

dtVerifyUser

Session object storing the full BO.User after login, including module boolean flags (Payroll, Billing, ZStock, etc.). Controllers read module access from this object rather than a single ModuleAccess key.

GetLoginUser

Stored procedure dbo.GetLoginUser — validates encrypted password, company link, role, and branch; returns user row and module flags. Called from Login_DAL.

HashCryptography

Utility in UTILITIES — encrypts passwords before storage and comparison. Login POST encrypts plaintext before SP call.

CompanyUser

Join table linking UserAccountsID to Compid (company). Required for login chain — user must be authorized for selected company.

BranchCode

User's branch from BranchMaster. Session key BranchCode. GetLoginUser inner-joins branch — missing branch breaks login.


PageID

String token passed to LoginController.ModuleManagement(string PageID) to redirect into a module dashboard. Examples: Payroll, Billing, Stock, Registration.

Module flags

Boolean columns on UserAccounts / properties on BO.User controlling dashboard tiles and access: Payroll, Webenroll, Billing, ZStock, ZSales, EmpSelfServices, ControlPanel, Operation, ZManagementDashboard, etc.

Database table defining navigation menu entries (titles, URLs, hierarchy). Often empty after minimal seed until copied from dev.

UserPermissions

Database table mapping roles/users to page-level permissions. Works with menu and admin screens; may be empty on blank DB.

PageID vs Area

PageID is the application redirect token; Area is the MVC routing segment. They align but are not identical strings (e.g. PageID Billing → Area Bills).


Billing and compliance

IRN

Invoice Reference Number — GST e-invoice identifier generated through integrated APIs. Related session keys and BO types in billing module (CancelIRN_BO, etc.).

E-Way bill

Logistics compliance document linked to billing; URI and credentials may appear in session from company/user configuration.

ZAPI

External integration path for e-invoice / government APIs — session keys such as ZAPIPATH, EFUSERNAME, EFPASSWORD.


Payroll and HR

EmpCode

Employee code on user account or employee master — used in payroll and ESS contexts.

StartMonth / StartYear

Session defaults for payroll period — set at login from company/user context.

ESS (Employee Self-Service)

Module Area ESS — payslips, leave, loans, Form 16 for employees.


Reporting

Crystal Reports (.rpt)

Report template files opened by .aspx viewers under module Areas. Requires Crystal Reports runtime on server (13.x line referenced by project).

CR viewer

Folder crystalreportviewers13/ — JavaScript and assets for web report rendering.


Deployment and database

DB_DAMSYERP

Default name for a fresh ERP database created by blank-DB scripts.

Minimal seed

Script 04-seed-minimal.sql — inserts one company, admin user, roles, branch, module flags — not full production data.

IIS APPPOOL identity

Windows principal IIS APPPOOL\<ApplicationPoolName> used for SQL Integrated Security from IIS.

ForceHttps

appSettings key — when true, Global.asax redirects HTTP to HTTPS. Must stay false until SSL configured.


Examples

Example — Session keys after login

KeyExample value
CompID1
CompNameDamsy Technologies
UserID1 (UserAccountsID)
RoleId1
dtVerifyUserBO.User with Payroll=true

Example — PageID redirect

User clicks Payroll tile → ModuleManagement("Payroll") → redirect /Payroll/PayrollDashboard/Index.

Example — SP naming

ProcedureTypical use
GetCompanyLogin dropdown
GetLoginUserAuthentication
InsertUpdateEmployeeSave employee master

Important notes

  • Spelling in routes is contractualAdminisration, ManagmentDashBoard must not be "corrected" without coordinated migration.
  • Compid vs CompID — SQL column CompanyUser.Compid uses lowercase id; session uses CompID.
  • Glossary is not exhaustive — hundreds of table and SP names exist; search SSMS or DAL for specifics.

Common mistakes

MistakeCorrection
Using RoleID in session codeUse RoleId
Confusing PageID with Area nameCheck ModuleManagement switch
Assuming ModuleAccess session keyUse dtVerifyUser flags
Plaintext password in SQLUse HashCryptography encrypted form

Next steps