0

我点击了一个 API,它给出了椅子的位置列表。我将这些数据保存在我的本地数据库中。每当我收到更新的数据(例如添加新椅子、更新椅子位置和从 API 中删除椅子)时,我必须将服务器数据与本地数据库同步。我还在本地数据库中为这些椅子分配了不同的部分。

主席服务器类:

  1. 主席服务器 ID
  2. 说明(唯一键)
  3. 地点

本地数据库类:

  1. 主席LocalDBId
  2. 说明(唯一)
  3. 地点

我在本地数据库中有一个节表。它有两列,即SectionID 和SectionName。

此外,椅子和部分之间还有一个关系表。它有两列。

我在数据库中有一个SectionChair 表也有两列,即SectionID 和ChairLocalDbId。

以下是不同的测试用例:

  1. 与相同位置的椅子同步 =>

    一:如果多把椅子位于同一位置,则不应添加到本地数据库中。它应该向用户显示一条消息——向用户显示带有位置的重复椅子。

    二:第一次,我进行了同步,并在本地数据库中添加了位置为“locOne”的椅子(chairOne)。现在,我将添加一个或多个具有相同位置“locOne”的椅子(chairTwo)。因此,当我进行同步时,它不会在本地数据库中添加 chairTwo,也不会从本地数据库中删除 chairOne。它只是向用户显示一条消息——向用户显示带有位置的重复机器。

  2. 从服务器 (API) 中删除椅子 =>

    如果从服务器中删除椅子,则应将其从本地数据库中删除。验证:如果将主席分配给任何部分,则不应将其删除。它应该给出一个例外——“请先从该部分取消分配该椅子并再次同步。

  3. 从服务器 (API) 添加新椅子 =>

    如果在服务器中添加椅子,则应将其添加到本地数据库中。

  4. 交换位置 =>

    一:3. 如果我们在 API 中交换两把或更多椅子,位置也应该在本地数据库中交换。示例:API 和本地数据库中 locOne 位置上的椅子 234 和 locTwo 位置上的椅子 345。之后,用户在 API 中交换机器,例如 locTwo 位置上的椅子 234 和 locOne 位置上的椅子 345。当我进行同步时,应该在本地数据库中进行相同的交换并更新本地数据库中椅子的新位置。

    二:4。主要问题:如果我们像第一点一样进行交换,Section 也应该更新到 SectionChair 表中。示例:椅子 234 位于 562 并分配到第 5 节地点 X。它与位于第 8 节地点 Y 的 223 中的椅子 789 交换。同步时,椅子 234 应更改为第 8 节地点 Y,椅子 789 应更改为第 5 节地点 X。

请给我一个好的方法。

4

0 回答 0