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.Userproperties - 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.
Navigation and modules
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.
MenuMaster
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
| Key | Example value |
|---|---|
CompID | 1 |
CompName | Damsy Technologies |
UserID | 1 (UserAccountsID) |
RoleId | 1 |
dtVerifyUser | BO.User with Payroll=true |
Example — PageID redirect
User clicks Payroll tile → ModuleManagement("Payroll") → redirect /Payroll/PayrollDashboard/Index.
Example — SP naming
| Procedure | Typical use |
|---|---|
GetCompany | Login dropdown |
GetLoginUser | Authentication |
InsertUpdateEmployee | Save employee master |
Related pages
Important notes
- Spelling in routes is contractual —
Adminisration,ManagmentDashBoardmust not be "corrected" without coordinated migration. - Compid vs CompID — SQL column
CompanyUser.Compiduses lowercase id; session usesCompID. - Glossary is not exhaustive — hundreds of table and SP names exist; search SSMS or DAL for specifics.
Common mistakes
| Mistake | Correction |
|---|---|
Using RoleID in session code | Use RoleId |
| Confusing PageID with Area name | Check ModuleManagement switch |
Assuming ModuleAccess session key | Use dtVerifyUser flags |
| Plaintext password in SQL | Use HashCryptography encrypted form |
Next steps
- Read Folder structure to locate modules in the solution.
- Review FAQ for onboarding questions.
- Trace Login flow with glossary terms in hand.