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)
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
| Controller | Primary responsibility |
|---|---|
| RegistrationDashboard | Main dashboard and document upload handlers |
| RegistrationDashboardPage | Alternate dashboard page variant |
| RegistrationDashboardApi | API-style dashboard endpoints |
Enrollment
| Controller | Primary responsibility |
|---|---|
| Enrollment | Candidate enrollment forms |
| EnrollmentKit | Enrollment kit assignment |
Permissions
| Controller | Primary responsibility |
|---|---|
| UnitPermission | Unit-level registrar permissions |
| EntryPermission | Entry point permissions |
HR & fees
| Controller | Primary responsibility |
|---|---|
| HrManagementReg | Registration HR management |
| RecruitmentFeeReg | Recruitment fee (registration context) |
Reports
| Controller | Primary responsibility |
|---|---|
| InductionReports | Induction approval / rejection reporting |
| EmployeeIDCardReg | Employee ID card generation |
| SiteWiseSalaryReg | Site-wise salary preview (registration) |
| DesignationWiseList | Designation-wise listings |
| PFSettlementDetailReg / PFSettlementListMonthWise | PF settlement lists |
| Reports | General registration reports |
Views / Layout
| Asset | Role |
|---|---|
_RegistrationLayout.cshtml | Primary module shell |
_RegDashHero.cshtml | Dashboard hero section |
_RegPageHeader.cshtml | Page header partial |
_UnitPermissionS.cshtml | Unit permission sidebar |
Document uploads map to ~/Images/Payroll/ subfolders (Aadhaar, PAN, bank proof, etc.) — shared storage path with Payroll image handlers.
DAL
| DAL class | Role |
|---|---|
| Reg_Dashboard_DAL | Dashboard counts and lists |
| Enrollment_DAL | Enrollment insert/update |
| DesignationMaster_DAL (Registration/Master) | Designation reference |
| Employee_DAL | Shared employee persistence when promoted from candidate |
Registration reuses employee domain DAL for records that graduate to active employee status.
Business Objects
| Namespace / type | Role |
|---|---|
| BO.Registration.Enrollment_BO | Enrollment payload |
| BO.Registration.EntryPermission_BO | Entry permission rows |
| BO.Employee.Employee_BO | Full employee when linked |
| BO.Master.DesignationMaster_BO | Designation reference |
Typical Workflow
Candidate from enrollment to payroll-ready employee:
Data Flow
- Registrar opens Enrollment →
Enrollment_DALwrites candidate SPs withCompID. - Documents saved to mapped image folders; filenames stored in database via SP.
- InductionReports reads pending/approved sets for supervisors.
- Approved candidates open root
EmployeeMwithSession["Module"] = Registrationand queryMID=Registration. - Payroll module consumes the same employee row once status transitions.
Reports
| Output | Controller / viewer |
|---|---|
| Induction status | InductionReports |
| ID cards | EmployeeIDCardReg (Crystal) |
| Designation lists | DesignationWiseList |
| Site-wise salary preview | SiteWiseSalaryReg |
| PF settlement lists | PFSettlementDetailReg, PFSettlementListMonthWise |
Permissions
| Gate | Requirement |
|---|---|
| Module flag | dtVerifyUser.Webenroll == true |
| Session | Valid CompID |
| UnitPermission | Restricts visible units for registrars |
| Menu permissions | Database-driven page access |
The dashboard tile uses PageID Registration, not Webenroll. User accounts store the Webenroll boolean from GetLoginUser.
Common Issues
| Symptom | Likely cause |
|---|---|
| Document upload fails | Missing folder under Images/Payroll/ on server |
| EmployeeM opens wrong menu | Session["Module"] or MID query not set |
| Empty induction queue | No pending rows for selected unit |
| Partial view error after publish | Partial not listed in .csproj Content |
Related Pages
Important Notes
The root EmployeeMController is intentionally shared. Always set module context when linking from Registration menus.
Configure UnitPermission before deploying registrars to field sites — otherwise users see empty unit dropdowns.
Common Mistakes
| Mistake | Consequence |
|---|---|
Using PageID Webenroll on dashboard link | Redirect to home — use Registration |
| Completing enrollment without document uploads | Compliance gaps in induction audit |
| Duplicating employee in Payroll manually | Two records for one person |
Next Steps
- Seed unit permissions for registrar accounts.
- Walk one test candidate through enrollment → induction approval.
- Open EmployeeM from Registration and confirm Payroll visibility.