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 contractual — Adminisration, 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​