1. Wanting that the Create or Edit Merchants popup window to be adapted to the Elavon app settings:
Create or Edit Merchants Popup Behavior (ETS Mode)
-
Displayed Fields:
- API Key
- Master Key
- Client ID
-
Hidden Fields:
- All other fields are not shown
-
Page Section and Popup Window:
- Title: Merchants
- Subtitle: Create or Edit Merchants
-
Popup Buttons:
- Save & Close (default)
- Save
1. At the top of the screen, on the right-side panel click on the Gear Icon
2. Look for Business Units and click on it
3. Go to Create and Edit Merchants
4. Click on New Entry and fill in the required information, then click on save
2. Wanting to Preload the Departments for the TreeView Components in the Order Details Tab so that the data is fetched more efficiently and the UI remains responsive:
Code Changes Checklist Summary
-
Global List Optimization:
- The list (rarely updated) should be stored as a global object in the main layout.
- Avoid repeated backend calls when the component is reused.
-
Backend Refactor:
- Modify the endpoint to retrieve data directly from the database.
- Skip loading full setup data and iterating through static enum classes.
- Ignore inactive departments on the frontend.
-
UI Fix (Shift 25958):
- The Tree view was incorrectly sorted alphabetically.
- This needs to be corrected to reflect the intended order.
3. Wanting to create a new specific-purpose endpoint to retrieve the nodes for each department so that the frontend can load department data more efficiently and independently:
TreeView Endpoint Refactor Summary:
-
New Endpoint Creation:
- Separate the TreeView-specific call.
- New endpoint should:
- Accept only the department as a parameter.
- Always use "Group" as the key.
- Call a stored procedure that returns an
ItemStringModel
list.
-
Stored Procedures per Department:
- Create a dedicated stored procedure for each department.
- Each returns a list of
ItemStringModel
objects (Description
,Key
). - Procedure names should include the department name to match the
type
parameter. - This removes the need for a switch statement.
-
Data Handling Improvements:
- Filter for active departments only.
- Apply ordering if needed.
- Format results directly in the expected model.
-
Retry Policy Enhancement:
- Improve error handling and support for empty results.
-
Database-Level Trimming:
- Remove frontend iteration for trimming keys.
- Ensure key trimming is handled in the database.}
4. Viewing a complete master retail pricing data instantly:
Code Changes Checklist Summary
- Recipe Elements Enhancements:
- Analyze if recipe elements can return master-detail price data upon retrieval.
- Analyze if recipe elements can return Alternate Description (Alt Description) data upon retrieval.
1. On the left side panel, go to Sales & Marketing
2. Click on Event & Order Management
3. Select Event Management - All Status Types Included
4. Open an existing record and go to the Order Details tab
5. Experiencing faster order updates in the Event Rev Breakdown when modifying the order:
Code Changes Checklist Summary:
-
Performance Analysis:
- A 200-millisecond delay occurs in the
finally
clause of theFullRefreshGridOrderItemReviewAsync
method (which callsGetEventRevBreakdown
). - An additional 500-millisecond delay is present in the same process.
- These delays contribute to ~1 second of extra time every time the grid is refreshed.
- A 200-millisecond delay occurs in the
-
Action Required:
- Analyze both delays to determine if they are necessary or can be removed or optimized to improve performance.
- The value from
GetEventRevBreakdown
populates the Revenue Code Breakdown grid in the Financial tab. - To save processing time, move the
GetEventRevBreakdown
call to the Financial Tab change trigger. - This ensures the data is only retrieved when the tab is actively used, reducing unnecessary load during grid refreshes.
1. On the left side panel, go to Sales & Marketing
2. Click on Event & Order Management
3. Select Event Management - All Status Types Included
4. Open an existing event and go to the Financial Tab
6. Seeing accurate default quantities immediately so that I save time on data entry:
Code Optimization and Refactoring Summary:
-
Variable Reuse:
- Store
_currentEvent.numguests ?? 1
in a variable to avoid repeating the same evaluation 5 times.
- Store
-
AppSettings Optimization:
- Preload AppSettings used in the switch to avoid repeated API calls when adding Beverage or Equipment items.
-
Setup Property Optimization:
- Preload the
Misc_One
property from Setup instead of fetching the entire model for each Miscellaneous item addition.
- Preload the
-
Code Simplification:
- Remove redundant boolean check:
Setup.Misc_One == true
→ simplify to justSetup.Misc_One
.
- Remove redundant boolean check:
-
Parameter Passing Enhancements:
- Include the following in the
EventCrudEditor
object and pass them as parameters:BeveragePackageDefaultToGuestCount
SetBeverageQuantityDefaultToGuestCount
Functionality
- Also include
Misc_One
from Setup in the Event object and pass it as a parameter.
- Include the following in the
-
Code Quality:
- Ensure Cyclomatic and Cognitive Complexity are reduced to meet allowed thresholds.
7. Refactoring the App Settings Usage in First Subset of Components:
-
Centralized Loading:
- All required AppSettings for each component are loaded using a single centralized call.
-
Access Method:
- AppSettings values are accessed via
FusionBlazorBase
helper methods.
- AppSettings values are accessed via
-
Key Management:
- AppSettings keys are declared and grouped under appropriate constants for maintainability.
-
Code Quality Improvements:
- All direct, repeated, or unsafe access patterns have been removed.
- Implementation strictly follows the AppSettings Access Pattern and Guidelines - Overview.
-
Testing:
- Regression testing is required for all affected components.
- Each AppSetting used in those components must be individually tested.
8. Configuring the Account-Specific URL for Root and Stem in production Environment:
It was add a pre-production environment URL to point to the account Root and Stem.
Root and Stem Event URL: rootandstemdc.elecate.net
9. Migrating the Root and Stem Events Database into Prod environment into Elecate tenant:
- The Root and Stem database is created within the Cikume tenant.
- The database schema includes all required tables, columns, indexes, and relationships.
- All data imported into the database is accurate and consistent.
- Referential integrity is maintained across all tables.
- Appropriate user roles and permissions are configured.
- Access controls are set to ensure data security and compliance with organizational policies.
- Implement a POST method endpoint at:
- The endpoint must be triggered:
- When a customer is synchronized.
- When a new customer is added.