public JsonResult UpdateDone_Order_Suppliers(int id) { var Messaging = new RenderMessaging(); try { if (User == null) { Messaging.isError = true; Messaging.messaging = "Phiên đăng nhập đã hết hạn."; return(Json(Messaging, JsonRequestBehavior.AllowGet)); } var order = _context.soft_Order.Find(id); if (order == null) { Messaging.isError = true; Messaging.messaging = "Không tìm thấy đơn hàng này."; return(Json(Messaging, JsonRequestBehavior.AllowGet)); } var objOrder = new soft_Order { Id = id, Status = (int)StatusOrder_Suppliers.Done, DateUpdate = DateTime.Now, EmployeeUpdate = User.UserId }; _crud.Update <soft_Order>(objOrder, o => o.Status, o => o.EmployeeUpdate, o => o.DateUpdate); foreach (var item in order.soft_Order_Child) { var objOrderChild = new soft_Order_Child { Id = item.Id, Status = (int)StatusOrder_Suppliers.Done, OrderId = item.OrderId, Price = item.Price, ProductId = item.ProductId, Total = item.Total }; _crud.Update <soft_Order_Child>(objOrderChild, o => o.Status); } _crud.SaveChanges(); } catch { Messaging.isError = true; Messaging.messaging = "Cập nhật phiếu đặt hàng nhà phân phối không thành công!"; } return(Json(Messaging, JsonRequestBehavior.AllowGet)); }
private void UpdateOrderSuppliers(OrderModel model, int OrderSuppliersId) { var orderSuppliers = _context.soft_Order.FirstOrDefault(o => o.Id.Equals(OrderSuppliersId) && o.TypeOrder == (int)TypeOrder.OrderProduct && o.Status == (int)StatusOrder_Input.Process); if (orderSuppliers != null) { foreach (var item in orderSuppliers.soft_Order_Child) { if (item.Status == null || item.Status == (int)StatusOrder_Input.Process) { var hasProduct = model.Detail.FirstOrDefault(o => o.ProductId == item.ProductId.Value); if (hasProduct != null) { if (item.Total <= hasProduct.Total) { item.Status = (int)StatusOrder_Input.Done; var newobj = new soft_Order_Child { Id = item.Id, Status = item.Status }; _crud.Update <soft_Order_Child>(newobj, o => o.Status); } else { var newobj = new soft_Order_Child { Id = item.Id, Total = item.Total - hasProduct.Total }; _crud.Update <soft_Order_Child>(newobj, o => o.Total); } } } } var OrderChildDoneAll = orderSuppliers.soft_Order_Child.FirstOrDefault(o => o.Status == null || o.Status == (int)StatusOrder_Input.Process); if (OrderChildDoneAll == null) { var newobj = new soft_Order { Id = orderSuppliers.Id, Status = (int)StatusOrder_Input.Done }; _crud.Update <soft_Order>(newobj, o => o.Status); } } }