Merged
Conversation
This commit establishes a comprehensive code quality foundation for the solution: - .editorconfig: Standardizes formatting rules (indentation, charset, naming conventions, code style preferences) across all editors - Directory.Build.props: Centralizes common build properties (TargetFramework, Nullable, ImplicitUsings) and adds Microsoft.CodeAnalysis.NetAnalyzers for static analysis - Updated all .csproj files: Removed properties now inherited from Directory.Build.props (TargetFramework, Nullable, ImplicitUsings), reducing duplication across 11 project files Key settings: - EnforceCodeStyleInBuild enabled for all configurations - TreatWarningsAsErrors enabled in Release mode - AnalysisLevel set to latest-recommended - File-scoped namespaces encouraged - Modern C# patterns (null-coalescing, pattern matching) suggested
The repository uses master as the default branch, but the CI workflow was configured to monitor main and develop. This fixes the branch trigger to match the actual default branch name.
The Worker project has been removed from ClientManager.sln but the source files still existed in src/ClientManager.Worker/. This commit removes the orphaned directory entirely. No functional impact as the project was already excluded from the solution.
- Exclude test projects from TreatWarningsAsErrors (CA1707 underscores) - Add NoWarn for CA1848/CA1816/CA1000 (performance/style rules) - Fix CA1822: make CleanDocument static in Customer.cs - Fix CA1860: use Count == 0 instead of !Any() in Customer.cs - Fix CA1305/CA1310: add CultureInfo.InvariantCulture and StringComparison.Ordinal - Remove duplicate using directive in ServicesCollectionExtensions.cs
The Worker project was removed in a previous commit but the solution still referenced it, causing MSB3202 build error in CI. This fix removes the stale project reference so dotnet build succeeds.
- Add SendWelcomeEmailToUserAsync method to IEmailService interface - Implement method in SmtpEmailService and SendGridEmailService with branded HTML template - Inject IEmailService into AuthApplication and call it fire-and-forget after successful registration - Email includes: congratulations message, next steps, ClientManager branding - No PDF attachment (unlike customer welcome email) - Update AuthApplicationTests to include IEmailService mock
…lService CA1305 error in Release mode because int.Parse without IFormatProvider varies by locale. This caused Docker build to fail on Render since Directory.Build.props sets TreatWarningsAsErrors=true for Release.
Inject IEmailService into AuthApplication and call SendWelcomeEmailAsync after successful user registration using fire-and-forget pattern. Email failures are silently caught so they do not block the registration flow. Update AuthApplicationTests to mock IEmailService in the test constructor.
feat: send welcome email after user registration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merging latest changes from develop to master including user welcome email feature.