Skip to content

Blazor Warranty Service

Blazor Warranty is a .NET 9 Blazor Server app (BlazorWarranty/) that replaced the legacy WinForms CSR screens for warranty work. It’s the day-to-day workspace for Customer Service Reps.

RouteComponentPurpose
/Index.razorServiceRequestListDefault triage queue after sign-in
/srlServiceRequestList.razorAlternate list URL
/sr, /sr/{id}ServiceRequestMain.razorRequest detail — lines, notes, log, embedded service orders and communications
/agingitemsAgingItemPage.razorSLA / aging summary
/agingitemlist/{projectid}AgingItemList.razorAging items for a project
/agingitemlistfordivision/{divisionid}/days/{id}AgingItemListByDivisionAndDays.razorDivision aging drill-down
/limitedservicerequestline/{encryptedSession}LimitedServiceRequestLine.razorLimited-access line view
/loginLogin.razorSign-in

Navigation (NavMenu.razor): only Home (/) and Aging Items (/agingitems). Service orders, lines, and communication tools are nested under /sr/{id}, not separate top-level menu pages.

ServiceRequestLineList, ServiceRequestLine, ServiceRequestTransLog, ServiceOrderMain, ServiceOrderForm, ServiceOrderLineList, and CommunicationMain (communication log on a line).

  • ASP.NET Core 9 + Blazor Server (Program.cs registers Razor Pages, Blazor hub, and controllers).
  • Cookie authentication after Active Directory validation (TheSmartBuilder domain via LoginController).
  • Memory cache for hot lookups.
  • Azure.Storage.Blobs (CSR communication attachments), ClosedXML, FluentValidation (see BlazorWarranty.csproj).
  • Homeowner warranty photos load from AWS S3 via WarrantyImagesBaseUrl in appsettings.json (not local disk).
  • DataAccessLibrary project (sibling under BLAZOR-SERVICE/DataAccessLibrary/) provides ISqlDataAccess, IAgingItemData, IServiceRequestData, IServiceOrderData, ICommonData, ICommunicationData.
KeyRole
WarrantyImagesBaseUrlS3 base URL for homeowner-uploaded warranty images
AzureConnectionString, AzureContainerNameBlob storage for CSR communication attachments
ServerPath, TradePortalPathLinks back to SMART / Trade Portal
BLAZOR-SERVICE/
├── BlazorWarranty/ ← the web app (net9.0)
│ ├── Controllers/LoginController.cs
│ ├── Pages/ServiceRequests|AgingItems|Limited/
│ ├── Shared/ ← NavMenu, layouts, nested components
│ ├── wwwroot/
│ ├── Program.cs
│ └── appsettings.json
├── DataAccessLibrary/ ← Dapper-style SQL access
└── Crypt_CoreLib/ ← shared crypto helpers

Reads / writes the same ServiceRequest, ServiceRequestLine, ServiceOrder, ServiceRequestFile, and related tables. Common views: vwServiceRequest, vwServiceOrderManagement, vwServiceOrdersNotCompleted, vwLotServiceRequests.

ServiceRequestFile stores image metadata; file bytes for homeowner uploads are in S3 (thumbnails use a _thumb suffix). CSR comm attachments use Azure Blob.

Sign-in validates domain credentials (AD / LDAP); authorization then uses the signed-in user’s SMART identity from the database, not homeowner Contact records.