Skip to main content

FAQ

Answers to common questions from developers joining the project or returning after time away. For symptom-based fixes, see Troubleshooting.

Introduction

Damsy ERP is a mature ASP.NET MVC + SQL Server system with conventions that differ from modern SPA or EF Core stacks. These Q&A pairs address the gaps teams hit most often in the first few days and after deployment.

Purpose

Short, actionable answers with links to detailed guides — reducing repeated onboarding explanations.

When to use

  • First-day setup questions
  • "Why does it work locally but not on VPS?"
  • Quick reminders on schema, session keys, and publish

Getting started

What do I open first?

Open DamsyERP.sln in Visual Studio, set DamsyERP.UI as the startup project, and confirm MyConnectionString in Web.config points to a database with full schema. See Installation and Running locally.

Why won't the solution run with only Git clone?

The SQL schema is not fully in Git (~185 tables, ~887 stored procedures). You need either a restored backup, a shared dev database, or Blank database setup with schema export from a working DB.

What are the default login credentials on a seeded blank DB?

FieldValue
CompanyDamsy Technologies
Login IDadmin
PasswordAdmin@123

See Seed scripts. Change the password after first login.


Architecture

Does the app use Entity Framework?

No. Data access is ADO.NET through BaseHelper, calling stored procedures. See Data access layer.

Where is business logic?

Primarily in SQL Server stored procedures. Controllers and DAL orchestrate parameters, session gates, and view models; complex rules live in dbo.* procedures.

Why is the Administration area spelled "Adminisration"?

Historical route name — intentional in code. URLs and Area registration use Adminisration. Do not rename without a full migration. See Naming conventions.

How does module access work?

There is no single permission string in session. After login, dtVerifyUser (BO.User) holds boolean module flags (Payroll, Billing, ZStock, …). The dashboard shows tiles for enabled modules. Menu-level permissions use MenuMaster / UserPermissions when populated.

What connection string does the app use?

MyConnectionString — resolved in BaseHelper. Other names in Web.config exist for legacy/Crystal scenarios. See Connection strings.


Session and authentication

Why does my code not find RoleID in session?

The session key is RoleId, not RoleID. See Glossary — RoleId.

What is dtVerifyUser?

The full authenticated BO.User object in session, including module flags and company context. Controllers read it for authorization and dashboard behavior.

Login works but menus are empty or pages error?

Minimal seed does not fill MenuMaster / UserPermissions. Copy those tables from a dev database or run your full migration scripts.


Database

How many tables and procedures should DB_DAMSYERP have?

After schema apply, 02-verify-blank-database.sql should show non-zero counts — on the order of ~185+ tables and ~887 procedures depending on export source. Zero counts mean schema was not applied.

Can I run only 04-seed-minimal.sql on an empty database?

No. Seed inserts rows into existing tables. Apply schema firstBlank database setup.

What is 04b-fix-admin-login.sql for?

Diagnostics and repair when admin / Admin@123 fails despite schema being present — resets encrypted password, branch, company link, and module flags.


Publish and deployment

Which publish profile should I use?

MVC_PUBLISH — Release, file system, PrecompileBeforePublish=False, DeleteExistingFiles=True. See Publish the application.

Why PrecompileBeforePublish=False?

Precompiled publish has caused missing views and broken IIS deployments for this solution. Views publish as source .cshtml files.

I added a CSS file but IIS doesn't serve it?

Include the file as <Content Include="..."> in DamsyERP.UI.csproj, republish, verify the publish folder, copy to inetpub. See Publish gotcha.

Where does the site live on IIS?

Typical path: C:\inetpub\wwwroot\damsy_erp. Recycle the app pool after deploy. See Deploy to IIS.

What SQL login does IIS use?

IIS APPPOOL\<ApplicationPoolName> when using Integrated Security — not your personal Windows account.


Configuration

Why redirect loop on VPS after deploy?

Usually ForceHttps=true or requireSSL=true without HTTPS. For HTTP sites, both must be false. See Release configuration.

Should I commit production connection strings?

No. Maintain production strings in the server's deployed Web.config. Do not commit secrets or machine-specific VPS credentials to Git.

When can I enable ForceHttps?

After an SSL certificate is bound in IIS and https:// works end-to-end. Then set ForceHttps=true and requireSSL=true together.


Reports

Crystal Reports fail on server but work locally?

Install Crystal Reports runtime on the server (version compatible with project references, typically 13.x). Ensure .rpt files and crystalreportviewers13/ published. See Crystal Reports and Common issues.


Debugging

Users see "Something went wrong" — how do I find the real error?

Release uses customErrors mode="RemoteOnly" — browse from the server console or check IIS failed request tracing / Event Viewer. The friendly page is ManageError/Index.

Works on my laptop, fails on VPS — first three checks?

  1. MyConnectionString on VPS Web.config
  2. IIS APPPOOL\... SQL permissions
  3. Complete publish folder copied (especially app-assets, Areas, views)

See Works locally, fails on VPS.

Where is the in-repo knowledge guide?

docs/DAMSY-ERP-KNOWLEDGE-GUIDE.md in the application repository — complementary to this Docusaurus site.


Examples

Example — Quick local smoke test

  1. F5 → Login page loads with companies
  2. Login admin / Admin@123 / Damsy Technologies
  3. Dashboard shows module tiles
  4. Open Payroll → dashboard loads without 404 CSS

Example — Quick VPS smoke test

  1. Hit http://server/app-assets/css/shell-modern.css → 200
  2. Login → Dashboard
  3. Open one report and one grid page per critical module

Important notes

  • FAQ answers reflect current deployment practices in this codebase — verify against your org's security policy before production.
  • When FAQ and older wiki text conflict, prefer published Docusaurus and DAMSY-ERP-KNOWLEDGE-GUIDE.md in repo.

Common mistakes

Question phrasingUnderlying issue
"EF migration failed"Project doesn't use EF
"Fix Administration spelling"Breaks routes
"Seed didn't create tables"Schema step skipped
"Published but old UI"Browser cache or incomplete copy

Next steps

New developers:

  1. RequirementsInstallationRunning locally
  2. System overviewLogin flow
  3. Deployment when preparing VPS

Returning developers:

  1. Knowledge refresh — module flags
  2. In-repo docs/DAMSY-ERP-KNOWLEDGE-GUIDE.md §10 (URL map and symptom cheatsheet)