I have a view which has different sections displaying different type of orders from DB (SQL Server). Now I need to refresh view with updated information each time a new order is submitted through Android Application. Below are code snippets:
ViewModel:
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; } } Controller:
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); } As of now I am auto refreshing view after every 15 seconds which is working perfectly. But I need to refresh view only when a new order is submitted through Android application and order is inserted in DB. Once a new order is submitted the values for PreparedOrders, Progressitems, DisplayOrders gets changed and need to be fetched again. I have read many posts/tutorials relating to Observer pattern and publisher/subscriber method but unable to get crisp solution which would fit best. Could someone please provide relevant pointer/tutorial to use in such a scenario that could help. Being this my very first project and a total beginner, I m quite confused as in how to proceed.