private void AddPostOrders() { ListPostOrder.Clear(); foreach (var post in _handler.ListPost) { var el = ListPostOrder.FirstOrDefault(o => o.Post != null && o.Post.ID == post.ID); var added = el == null; if (added) { el = new PostOrdersViewModel(post); } foreach (var order in _handler.Orders.Where(o => o.PostID == el.Post.ID)) { el.Update(order); } if (added) { ListPostOrder.Add(el); } else { el.Update(post); } } }
public void DeleteOrder(OrderViewModel order) { var pos = ListPostOrder.FirstOrDefault(o => o.Post.ID == order.PostID); if (pos == null) { return; } var ord = pos.Orders.FirstOrDefault(o => o.Equals(order)); if (ord == null) { return; } pos.Orders.Remove(ord); _handler.DeleteOrder(order); }
public void UpdateOrders(OrderViewModel model) { var pos = ListPostOrder.FirstOrDefault(o => o.Post.ID == model.PostID); if (pos == null) { return; } var ord = pos.Orders.FirstOrDefault(o => o.Equals(model)); model.IsChanged = false; if (ord == null) { pos.Orders.Add(model); } else { ord.UpdateOrder(model); } _handler.Save(model); }