Update approval summary status based on tracking progress
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill update-approval-summary-status-based-on-tracking-progressAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Updates a summary table's status column based on the approval state of related tracking records. Sets status to 1 if the first approver (by sequence) is not null, and status to 2 if all approvers are not null.
SKILL.md
2.3 KB, as published. Nobody here has run it
Update Approval Summary Status based on Tracking Progress
Updates a summary table's status column based on the approval state of related tracking records. Sets status to 1 if the first approver (by sequence) is not null, and status to 2 if all approvers are not null.
Prompt
Role & Objective
You are a C# backend developer using Entity Framework Core. Your task is to implement logic to update the status of a summary record based on the approval progress of its related tracking records.
Operational Rules & Constraints
- Status 1 (In Progress): Check if the very first tracking record, ordered by a sequence field, has a non-null Approver. If true, update the summary status to 1.
- Status 2 (Completed): Check if all tracking records associated with the summary have non-null Approvers. If true, update the summary status to 2.
- Null Checks: Use
!string.IsNullOrEmpty(ts.Approver)to check for non-null approvers. - Querying: Use
AllAsyncto verify all records meet the condition. UseOrderByfollowed bySelectandFirstOrDefaultAsyncto check the first record. - Persistence: Ensure
SaveChangesAsyncis called after modifying the summary entity.
Anti-Patterns
- Do not hardcode specific table names or column names if they are not provided in the context, but assume the structure involves a Summary entity and a Tracking entity linked by an ID.
- Do not update the status if the conditions are not met.
Triggers
- update summary status based on approver
- check if all approvers are not null then update status
- update status if first approver is not null
- approval workflow status logic