Skip to content

Implement Azure Board Sync#98

Merged
afshinalizadeh merged 105 commits intomainfrom
develop
Dec 9, 2025
Merged

Implement Azure Board Sync#98
afshinalizadeh merged 105 commits intomainfrom
develop

Conversation

@afshinalizadeh
Copy link
Collaborator

No description provided.

afshinalizadeh and others added 30 commits September 30, 2025 19:26
Correct Scope

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…r.cs


Remove unused Using

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…dal.razor.cs


Remove unsed using

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ignIn/SignInPanel.razor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ignIn/SignInPanel.razor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ystaHeader.razor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pgradeToHttpsIfNotLocalhost

Co-authored-by: afshinalizadeh <4254006+afshinalizadeh@users.noreply.github.com>
…ystaHeader.razor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Use nullable annotations and null-conditional operator in UriExtensions
…ystaHeader.razor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
[WIP] WIP address feedback on Microsoft login feature implementation
afshinalizadeh and others added 24 commits November 27, 2025 14:30
- Fill ParentId in `CrystaTask`
- Added `Parent` property to `CrystaTask` to support parent-child relationships.
- Marked `ProviderParentId` as `[NotMapped]` to exclude it from DB schema.
….Id` mappings for updates, comments, and revisions, ensuring proper task association. Updated `ToCrystaTaskRevision` to include `SyncInfo` metadata.
Updated `IAzureBoardSyncService` to support optional `workItemIds`
parameter in `SyncAsync`.
Refactored `CrystaTaskRevision` to inherit from `Entity` and added support for capturing snapshots of all task fields at the time of revision. Updated database schema to remove the old `CrystaTaskRevisions` table and introduce a new, comprehensive version with owned types for sync information.
…h updated

columns or structure. These changes reflect a redesign of the
`CrystaTaskRevisions` table to improve its structure and
relationships with other entities.
instead of `Id` for more accurate processing.
Added `ProviderStatus` and `ProviderParentId` columns to the `CrystaTasks` table via a new migration. Updated the `CrystaTask` entity to persist these fields. Enhanced `AzureBoardSyncService` to handle `ProviderStatus`, `ChangedBy`, `BoardColumn`, and `BoardColumnDone`. Refactored `ProviderParentId` logic for cleaner code.

Updated Hangfire configuration to enable legacy timestamp behavior and improved PostgreSQL storage setup. Modified `appsettings.json` to disable isolated storage for Hangfire. Added seed data for roles and a test user. Defined relationships and owned types for `CrystaTask` and related entities.
Replaced the update of `LastSyncDateTime` with setting the
`SyncStatus` to `SyncStatus.Success` in `module.SyncInfo`.
This change shifts the focus from tracking the last sync
time to explicitly marking the sync status as successful.
Updated `CrystaProgramSyncJobRunner` to ensure `isRunning` is set to `false` before re-throwing exceptions, improving state consistency during error handling.

Enhanced `AzureBoardSyncService` to support additional task states:
- Added `"Design"` to map to `CrystaTaskStatus.New`.
- Added `"Ready"` to map to `CrystaTaskStatus.InProgress`.

These changes improve error handling and expand task status coverage.
Centralized status mapping logic by introducing a `GetStatus`
helper method, reducing code duplication and improving
readability. Added additional status mappings and enhanced
error handling with more context in exception messages.

Updated `module.SyncInfo` to track `SyncStartDateTime` and
set `SyncStatus` to `Success` after processing. Commented
out unused code related to `System.FinishedDate` parsing
as part of cleanup efforts.

These changes improve maintainability, readability, and
ensure proper tracking of sync metadata.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…kRevisionConfiguration.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ard-sync

Feature/afshin/add azure board sync
@afshinalizadeh afshinalizadeh changed the title Implement Sync Azure Sync Implement Azure Board Sync Dec 5, 2025
Removed drop of CrystaTaskRevisions table and now ensure its creation after dropping the RevisionCode column from CrystaTasks. This change updates the migration logic to preserve or update the CrystaTaskRevisions table structure instead of removing it.
…ard-sync

Feature/afshin/add azure board sync
@afshinalizadeh afshinalizadeh merged commit f5591fa into main Dec 9, 2025
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants