Skip to content

Inbox

The Inbox screen lists the bills assigned to a responsible party, which defaults to the signed-in user. The user can look at another mail id, sort and filter the grid, save or clear personal grid preferences, and double-click a bill to open it on the Bill entry screen. The Bill entry screen returns the user here after a bill is submitted, discarded, or sent or pended, unless its Auto feed checkbox is checked, in which case it stays on Bill entry and loads the next queued bill.

Route

Controller Action Verb URL Parameters View Layout
InboxController Index GET /ClaimBillEntry/Inbox/Index None Views/Inbox/Index.cshtml ~/Views/Shared/_Bootstrap3.cshtml

Access

Requirement Declared on Effect
[SaifAuthorize(Roles = "CBPEnterBill")] InboxController Only users in the CBPEnterBill role can open the screen or call Inbox/GetInboxBills.

Entry conditions

  • The user follows a link from the layout top menu or side menu for menu category CLBLE; the menu entries themselves are defined outside this repository.**
  • The browser navigates here from Bill entry to /ClaimBillEntry/Inbox/Index after a bill is submitted, discarded, or sent or pended while Auto feed is unchecked; with Auto feed checked the screen loads the next queue bill instead of coming here.
  • The user opens the URL directly.

The action sets ResponsiblePartyId from Session MailId, or the upper-cased current user id when no value is stored, and loads the "Inbox" grid preferences.

Fields

Field Binds to Control Purpose Validation
Assigned to InboxViewModel.ResponsiblePartyId Text box Mail id whose inbox is shown; sent as grid read data maxlength 8; client-side. InboxFilterValidator declares "Assigned to is required." but no action binds it, so it is inactive.
Inbox grid InboxBillViewModel rows Kendo Grid (client-side operations) Bills for the responsible party None
Save preferences and Clear preferences InboxViewModel.Preferences Links Save or clear the user's grid column preferences None

Operations

Operation Trigger Request Description Delegates to
Load inbox bills Grid read, with data from inbox.onInboxRetrieve GET Inbox/GetInboxBills Replaces a blank or SYSTEM mail id with the current user, stores it in Session MailId, resolves the owner name and loads the bills for that responsible party. Open a bill from the inbox
Save grid preferences Save preferences link POST Inbox/SavePreferences Stores the user's grid column layout for "InboxGrid". Open a bill from the inbox
Clear grid preferences Clear preferences link POST Inbox/ClearPreferences Removes the stored grid column layout for "InboxGrid". Open a bill from the inbox
Open bill Row double-click — Client-side only; navigates to the Bill entry screen when the bill status allows it. Open a bill from the inbox

The load operation calls GetApplicationUser on the user profile service and GetInboxBillsByResponsiblePartyId on the bill entry service; the linked workflow page documents those calls, and the internal steps of the package services were not traced. The preference operations call the user profile service through BaseController. See dependencies.

Dialogs and partials

Name Opens as Returned by Purpose
_InboxGrid Inline Html.Partial Rendered by Views/Inbox/Index.cshtml Kendo Grid InboxGrid with client-side paging, sorting and filtering; change and dataBound events wire selection and preferences.

The form on the view posts to Index on the Inbox controller, but no POST action exists, so the form is a client-side container only.*

AJAX and grid actions

Request Kind Called by Returns
GET Inbox/GetInboxBills Grid read InboxGrid transport DataSourceResult with a security-filtered flag
POST Inbox/SavePreferences AJAX call with no returned result Save preferences link, intercepted by claimbillentry.js, which posts pageName, columnSort, columnOrder and columnWidths Empty response; the action is void
POST Inbox/ClearPreferences AJAX call with no returned result Clear preferences link, intercepted by claimbillentry.js, which posts pageName and then reloads the page Empty response; the action is void

Client-side behavior

  • Script module: ClaimBillEntry/js/ClaimBillEntry.inbox.js, with the shared ClaimBillEntry/js/claimbillentry.js.
  • setupPrefs and refreshGrid in the shared script apply the saved column preferences to InboxGrid.
  • The server actions are void methods declared on BaseController without an HTTP verb restriction (documented as ANY), but the shared script always uses POST to the hard-coded URLs /ClaimBillEntry/Inbox/SavePreferences and /ClaimBillEntry/Inbox/ClearPreferences.
  • Messages use toastr through claimbillentry.message.js.
  • When grid selection changes, the shared script sets the layout web-context value to the claim number.

Business rules

Rule ID Rule Enforcement Source
BR-SCR-011 A blank or SYSTEM mail id is replaced with the current user. Action check ClaimBillEntry/Controllers/InboxController.cs:49-78
BR-SCR-012 The grid warns when confidential claims are filtered out and reports an unknown user id. Action check and client script ClaimBillEntry/Controllers/InboxController.cs:63-64, ClaimBillEntry/js/ClaimBillEntry.inbox.js:87-99
BR-SCR-001 Only Pending, Entered, Audited or Suspended bills may be opened; otherwise "Only Pending, Entered, Audited, or Suspended Bills may be opened." is shown. Client script ClaimBillEntry/js/ClaimBillEntry.inbox.js:5-6, :59-80
Target Trigger Parameters
Bill entry Row double-click on an openable bill Bill id in /ClaimBillEntry/Entry/Index/{billId}

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • ClaimBillEntry/Controllers/InboxController.cs
  • ClaimBillEntry/Controllers/BaseController.cs
  • ClaimBillEntry/Views/Inbox/Index.cshtml
  • ClaimBillEntry/Views/Inbox/_InboxGrid.cshtml
  • ClaimBillEntry/Views/Shared/_Bootstrap3.cshtml
  • ClaimBillEntry/ViewModels/Inbox/InboxViewModel.cs
  • ClaimBillEntry/ViewModels/Inbox/InboxFilterViewModel.cs
  • ClaimBillEntry/Classes/AutoMapperBootStrapper.cs
  • ClaimBillEntry/js/ClaimBillEntry.inbox.js
  • ClaimBillEntry/js/claimbillentry.js
  • ClaimBillEntry/js/claimbillentry.message.js