2908397b1e
- Add ISoftDeletable interface with IsDeleted/DeletedAt - Implement on Budget, Income, Outgo, BudgetShare; add RowVersion (xmin) to Budget - Configure EF global query filters and xmin concurrency token - Replace Remove() with soft delete in all delete endpoints - Wrap Budget.Update SaveChanges in DbUpdateConcurrencyException catch