private List<DeliveryDetailViewModel> BindDeliveryDetailViewModel(List<DeliveryDetail> deliveryDetails) { var deliveryDetailViewModels = new List<DeliveryDetailViewModel>(); foreach (var deliveryDetail in deliveryDetails) { var deliveryDetailViewModel = new DeliveryDetailViewModel(); deliveryDetailViewModel.CommodityID = deliveryDetail.CommodityID; deliveryDetailViewModel.Commodity = deliveryDetail.Commodity.Name; deliveryDetailViewModel.DeliveryDetailID = deliveryDetail.DeliveryDetailID; deliveryDetailViewModel.DeliveryID = deliveryDetail.DeliveryID; deliveryDetailViewModel.ReceivedQuantity = deliveryDetail.ReceivedQuantity; deliveryDetailViewModel.SentQuantity = deliveryDetail.SentQuantity; deliveryDetailViewModel.UnitID = deliveryDetail.UnitID; deliveryDetailViewModel.Unit = deliveryDetail.Unit.Name; deliveryDetailViewModels.Add(deliveryDetailViewModel); } return deliveryDetailViewModels; }
public ActionResult UpdateDeliveryDetail([DataSourceRequest] DataSourceRequest request, DeliveryDetailViewModel deliveryDetail) { if (deliveryDetail != null && ModelState.IsValid) { var target = _deliveryDetailService.FindById(deliveryDetail.DeliveryDetailID); if (target != null) { target.ReceivedQuantity = deliveryDetail.ReceivedQuantity; _deliveryDetailService.EditDeliveryDetail(target); } } if (deliveryDetail.ReceivedQuantity < deliveryDetail.SentQuantity) { var delivery = _deliveryService.FindBy(t => t.DeliveryID == deliveryDetail.DeliveryID). FirstOrDefault(); var id = delivery.DispatchID; var dispatch = _dispatchService.Get(t => t.DispatchID == id, null, "DispatchAllocation,DispatchAllocation.Transporter").FirstOrDefault(); if (dispatch != null) { var transportOrderId = dispatch.DispatchAllocation.TransportOrderID.HasValue ? dispatch.DispatchAllocation.TransportOrderID.Value : 0; SendNotification(transportOrderId, dispatch.DispatchAllocation.Transporter.Name); } } return Json(new[] { deliveryDetail }.ToDataSourceResult(request, ModelState)); }