AutoSkill 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.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/update-approval-summary-status-based-on-tracking-progress" ~/.claude/skills/ecnu-icalk-autoskill-update-approval-summary-status-based-on-tracking-progress && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/update-approval-summary-status-based-on-tracking-progress/SKILL.mdsource content
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
to check for non-null approvers.!string.IsNullOrEmpty(ts.Approver) - Querying: Use
to verify all records meet the condition. UseAllAsync
followed byOrderBy
andSelect
to check the first record.FirstOrDefaultAsync - Persistence: Ensure
is called after modifying the summary entity.SaveChangesAsync
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