Skip to content

Conversation

@xnodeoncode
Copy link
Owner

Phase 2.6 In-App Notifications UI complete and added professional project.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements Phase 2.6 of the In-App Notifications UI and adds the Professional project infrastructure. The changes introduce comprehensive database management capabilities, workflow state machines for application and lease lifecycles, validation attributes, and notification/communication services.

  • Database backup, restore, and health check functionality with schema version management
  • Application and lease workflow services with state machine validation and audit logging
  • Custom validation attributes for Guid fields and notification/communication service interfaces
  • Entity models for security deposits, notifications, calendar events, and organization settings

Reviewed changes

Copilot reviewed 101 out of 517 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
ManageDatabase.razor Admin UI for database backup, restore, health checks, and schema initialization
InitializeSchemaVersion.razor Dedicated page for manual schema version initialization
DailyReport.razor Dashboard for daily payment reports and statistics
ApplicationUser.cs Identity user class extension
ApplicationDbContext.cs Entity Framework DbContext for Identity
RequiredGuidAttribute.cs Validation attribute for non-empty Guid values
OptionalGuidAttribute.cs Validation attribute for optional Guid fields
BaseService.cs Abstract service with CRUD operations and multi-tenancy support
ISMSService.cs, IEmailService.cs Service interfaces for SMS and email functionality
ICalendarEventService.cs Service interface for calendar event management
IAuditable.cs Interface for audit field tracking
UserOrganization.cs, Organization.cs Multi-organization user assignment entities
Tour.cs, Tenant.cs, Property.cs, Payment.cs Core property management entities
SecurityDeposit*.cs Security deposit investment pool entities
Lease.cs, Invoice.cs, MaintenanceRequest.cs Lease and maintenance entities
RentalApplication.cs, ProspectiveTenant.cs Application workflow entities
Checklist*.cs, Inspection.cs Checklist and inspection entities
CalendarEvent*.cs Calendar event entities and configuration
Document.cs, Note.cs, Notification*.cs Document and notification entities
ApplicationSettings.cs, ApplicationConstants.cs Configuration and constant definitions
NotificationConstants.cs, EntityTypeNames.cs Notification and entity type constants
App.razor, MainLayout.razor, NavMenu.razor UI layout components
Aquiis.Professional.csproj Project configuration with package references
WorkflowResult.cs, WorkflowAuditLog.cs Workflow result and audit entities
LeaseWorkflowService.cs Lease lifecycle state machine implementation
IWorkflowState.cs, BaseWorkflowService.cs Workflow infrastructure
ApplicationWorkflowService.cs Application lifecycle state machine implementation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

/// ID of the entity that transitioned
/// </summary>
public required Guid EntityId { get; set; }
/// </summary>
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 20 contains a closing documentation comment without a matching opening comment. The XML documentation comment on line 18-19 appears to be incomplete, and line 20's closing tag should either be removed or the documentation for EntityId should be completed.

Suggested change
/// </summary>

Copilot uses AI. Check for mistakes.
/// Well-known GUID for system service account.
/// Used by background jobs, scheduled tasks, and automated processes.
/// </summary>
public static readonly string Id = "00000000-0000-0000-0000-000000000001";
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SystemUser.Id is declared as a string but represents a GUID. Consider changing this to Guid type for type safety and consistency with the rest of the codebase that uses Guid for IDs.

Copilot uses AI. Check for mistakes.
@xnodeoncode xnodeoncode merged commit 62ff96e into main Jan 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants