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.md
source 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

  1. 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.
  2. Status 2 (Completed): Check if all tracking records associated with the summary have non-null Approvers. If true, update the summary status to 2.
  3. Null Checks: Use
    !string.IsNullOrEmpty(ts.Approver)
    to check for non-null approvers.
  4. Querying: Use
    AllAsync
    to verify all records meet the condition. Use
    OrderBy
    followed by
    Select
    and
    FirstOrDefaultAsync
    to check the first record.
  5. Persistence: Ensure
    SaveChangesAsync
    is 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