Skip to main content

Registration

Introduction

The Registration module (internally flagged as Webenroll) handles workforce onboarding before employees enter full payroll processing. Recruiters and HR teams capture candidate data, manage induction workflows, assign unit permissions, and produce ID cards and registration reports.

Purpose

Registration enables organizations to:

  • Enroll new candidates with document uploads and kit assignment
  • Control which units and entry points a registrar can access
  • Track induction status through approval and rejection reports
  • Bridge hired candidates into the shared employee master used by Payroll

When to Use

Use Registration when you:

  • Onboard new hires at client sites or branches
  • Manage enrollment kits and induction checklists
  • Restrict data entry by unit for field registrars
  • Generate registration-specific reports (ID cards, designation lists, site-wise salary previews)
Not payroll processing

Registration prepares employee records; monthly salary runs belong in Payroll.

Overview / Architecture

The Registration Area uses a dedicated layout with registration-specific partials for dashboard hero sections and unit permission sidebars. Data flows through DAL/Registration/ and shared employee DAL classes.

Entry URL: /Registration/RegistrationDashboard/Index
PageID: Registration
Module flag: Webenroll

Controllers

Dashboard

ControllerPrimary responsibility
RegistrationDashboardMain dashboard and document upload handlers
RegistrationDashboardPageAlternate dashboard page variant
RegistrationDashboardApiAPI-style dashboard endpoints

Enrollment

ControllerPrimary responsibility
EnrollmentCandidate enrollment forms
EnrollmentKitEnrollment kit assignment

Permissions

ControllerPrimary responsibility
UnitPermissionUnit-level registrar permissions
EntryPermissionEntry point permissions

HR & fees

ControllerPrimary responsibility
HrManagementRegRegistration HR management
RecruitmentFeeRegRecruitment fee (registration context)

Reports

ControllerPrimary responsibility
InductionReportsInduction approval / rejection reporting
EmployeeIDCardRegEmployee ID card generation
SiteWiseSalaryRegSite-wise salary preview (registration)
DesignationWiseListDesignation-wise listings
PFSettlementDetailReg / PFSettlementListMonthWisePF settlement lists
ReportsGeneral registration reports

Views / Layout

AssetRole
_RegistrationLayout.cshtmlPrimary module shell
_RegDashHero.cshtmlDashboard hero section
_RegPageHeader.cshtmlPage header partial
_UnitPermissionS.cshtmlUnit permission sidebar

Document uploads map to ~/Images/Payroll/ subfolders (Aadhaar, PAN, bank proof, etc.) — shared storage path with Payroll image handlers.

DAL

DAL classRole
Reg_Dashboard_DALDashboard counts and lists
Enrollment_DALEnrollment insert/update
DesignationMaster_DAL (Registration/Master)Designation reference
Employee_DALShared employee persistence when promoted from candidate

Registration reuses employee domain DAL for records that graduate to active employee status.

Business Objects

Namespace / typeRole
BO.Registration.Enrollment_BOEnrollment payload
BO.Registration.EntryPermission_BOEntry permission rows
BO.Employee.Employee_BOFull employee when linked
BO.Master.DesignationMaster_BODesignation reference

Typical Workflow

Candidate from enrollment to payroll-ready employee:

Data Flow

  1. Registrar opens Enrollment → Enrollment_DAL writes candidate SPs with CompID.
  2. Documents saved to mapped image folders; filenames stored in database via SP.
  3. InductionReports reads pending/approved sets for supervisors.
  4. Approved candidates open root EmployeeM with Session["Module"] = Registration and query MID=Registration.
  5. Payroll module consumes the same employee row once status transitions.

Reports

OutputController / viewer
Induction statusInductionReports
ID cardsEmployeeIDCardReg (Crystal)
Designation listsDesignationWiseList
Site-wise salary previewSiteWiseSalaryReg
PF settlement listsPFSettlementDetailReg, PFSettlementListMonthWise

Permissions

GateRequirement
Module flagdtVerifyUser.Webenroll == true
SessionValid CompID
UnitPermissionRestricts visible units for registrars
Menu permissionsDatabase-driven page access
Flag name mismatch

The dashboard tile uses PageID Registration, not Webenroll. User accounts store the Webenroll boolean from GetLoginUser.

Common Issues

SymptomLikely cause
Document upload failsMissing folder under Images/Payroll/ on server
EmployeeM opens wrong menuSession["Module"] or MID query not set
Empty induction queueNo pending rows for selected unit
Partial view error after publishPartial not listed in .csproj Content

Important Notes

Shared EmployeeM

The root EmployeeMController is intentionally shared. Always set module context when linking from Registration menus.

Unit permission first

Configure UnitPermission before deploying registrars to field sites — otherwise users see empty unit dropdowns.

Common Mistakes

MistakeConsequence
Using PageID Webenroll on dashboard linkRedirect to home — use Registration
Completing enrollment without document uploadsCompliance gaps in induction audit
Duplicating employee in Payroll manuallyTwo records for one person

Next Steps

  1. Seed unit permissions for registrar accounts.
  2. Walk one test candidate through enrollment → induction approval.
  3. Open EmployeeM from Registration and confirm Payroll visibility.