我点击了一个API,该API提供了一张椅子及其位置的列表。我将此数据保存在本地数据库中。每当收到更新数据(例如添加新椅子,更新椅子的位置并从API中删除椅子)时,我都必须将服务器数据与本地数据库同步。我还为这些椅子分配了本地数据库中的不同部分。
主席服务器类:
本地数据库类:
我在本地数据库中有一个分区表。它具有两列,即SectionID和SectionName。
此外,在椅子和部分之间有一个关系表。它有两列。
我在数据库中有一个SectionChair Table,也有两列,即SectionID和ChairLocalDbId。
以下是不同的测试用例:
与椅子的相同位置同步=>
一个:如果多把椅子位于同一位置,则不应将其添加到 本地数据库。它应该向用户显示一条消息-显示重复的椅子 与用户的位置有关。
二:第一次,我进行了同步,并添加了带有位置的椅子(chairOne) 本地数据库中的“ locOne”。现在,我将添加一个或多个椅子(chairTwo) 使用相同的位置“ locOne”。因此,当我执行同步时,它不会在其中添加chairTwo localdatabase,也不会从本地数据库中删除chairOne。这只是 向用户显示一条消息–显示位置重复的机器 用户。
从服务器(API)中删除椅子=>
如果从服务器上删除了主席,则应将其从本地删除 数据库。验证:如果将椅子分配给任何部门,则不应 已删除。它应该有一个例外–“请先取消分配此主席 从该部分中重新同步。
从服务器(API)添加新椅子=>
如果将椅子添加到服务器中,则应将其添加到本地数据库中。
交换位置=>
一个:3.如果我们在API中交换了两个或多个椅子,则位置也应位于 交换本地数据库。示例:locOne位置上的椅子234和椅子 API和本地数据库中的locTwo位置上的345。之后,用户 交换API中的机器,例如locTwo位置的Chair 234和Chair 345 在locOne位置。当我进行同步时,应该在 本地数据库并在本地更新椅子的新位置 数据库。
二:4。主要问题:如果我们像第一个观点那样进行交换,则Section也应该是 更新到SectionChair表中。示例:椅子234位于562,并且 分配给第5部分X。它由位于223的椅子789切换 位置Y的第8节中。同步后,椅子234应更改为 第8节Y位置和椅子789应更改为第5节X位置。
请给我建议一个好方法。