我有一个视图,其中有不同的部分显示来自 DB(SQL Server)的不同类型的订单。现在,每次通过 Android 应用程序提交新订单时,我都需要使用更新的信息刷新视图。以下是代码片段:
视图模型:
public class KitchenViewModel
{
public List<Orders> DisplayOrders { get; set; }
public List<Orders> PreparedOrders { get; set; }
public List<OrderItem> ProgressItems { get; set; }
public List<OrderItem> QueuedItems { get; set; }
public int DisplayOrdCount { get; set; }
public int PreparedOrdCount { get; set; }
public int QueuedOrdCount { get; set; }
}
控制器:
public ActionResult KitchenOrder()
{
KitchenModel kitchenInstance = new KitchenModel();
List<Orders> orders = kitchenInstance.GetProgOrdersList();
List<OrderItem> progressItems = kitchenInstance.GetItemProgress();
List<OrderItem> queuedItems = kitchenInstance.GetItemQueued();
List<Orders> prepOrders = kitchenInstance.GetPrepOrdersList();
List<Orders> queuedOrders = kitchenInstance.GetQueuedOrdersList();
KitchenViewModel viewModel = new KitchenViewModel();
viewModel.PreparedOrders = prepOrders;
viewModel.ProgressItems = progressItems;
viewModel.DisplayOrders = orders;
viewModel.QueuedItems = queuedItems;
viewModel.DisplayOrdCount = orders.Count;
viewModel.PreparedOrdCount = prepOrders.Count;
viewModel.QueuedOrdCount = queuedOrders.Count;
return View(viewModel);
}
截至目前,我每 15 秒自动刷新一次视图,效果很好。但只有当通过 Android 应用程序提交新订单并将订单插入数据库时,我才需要刷新视图。提交新订单后,PreparedOrders、Progressitems、DisplayOrders 的值会发生变化,需要再次获取。我已经阅读了许多与观察者模式和发布者/订阅者方法相关的帖子/教程,但无法获得最适合的清晰解决方案。有人可以提供相关的指针/教程以在这种情况下使用,这可能会有所帮助。作为我的第一个项目和一个完全的初学者,我对如何进行感到很困惑。