public void Should_Success_Instanciate_NewShipmentDocumentPackingReceiptItemProduct_ViewModel() { var viewModel = new NewShipmentDocumentPackingReceiptItemProductViewModel() { ProductName = "ProductName", Quantity = 1, QuantityUOM = "QuantityUOM", Total = 100, UOMId = 1, UOMUnit = "UOMUnit", }; Assert.NotNull(viewModel.ProductName); Assert.NotNull(viewModel.Quantity); Assert.NotNull(viewModel.QuantityUOM); Assert.NotNull(viewModel.Total); Assert.NotNull(viewModel.UOMId); Assert.NotNull(viewModel.UOMUnit); }
public async Task <List <NewShipmentDocumentPackingReceiptItemProductViewModel> > GetProductNames(int shipmentDocumentId) { var shipmentDetails = _DetailDbSet.Where(s => s.ShipmentDocumentId == shipmentDocumentId).Select(d => d.Id); var shipmentItem = _ItemDbSet.Include(d => d.PackingReceiptItems).Where(s => shipmentDetails.Contains(s.ShipmentDocumentDetailId)); //var query = (from shipment in shipmentItem // join shipmentPacking in _PackingReceiptItemDbSet // on shipment.Id equals shipmentPacking.ShipmentDocumentItemId // into shipmentData // from shipmentPacking in shipmentData.DefaultIfEmpty() // join packingReceipt in _PackingReceiptDbSet // on shipment.PackingReceiptId equals packingReceipt.Id // into result // from packingReceipt in result.DefaultIfEmpty() // select new NewShipmentDocumentPackingReceiptItemProductViewModel() // { // Length = shipmentPacking.Length // }); List <NewShipmentDocumentPackingReceiptItemProductViewModel> result = new List <NewShipmentDocumentPackingReceiptItemProductViewModel>(); foreach (var item in shipmentItem) { var packingReceiptData = await _PackingReceiptDbSet.FirstOrDefaultAsync(s => s.Id == item.PackingReceiptId); var data = new NewShipmentDocumentPackingReceiptItemProductViewModel { Quantity = item.PackingReceiptItems.Sum(s => s.Quantity), Total = item.PackingReceiptItems.Sum(s => s.Quantity) * item.PackingReceiptItems.Sum(s => s.Length), QuantityUOM = packingReceiptData.PackingUom, ProductName = string.Format("{0} / {1}", packingReceiptData.Construction, packingReceiptData.ColorName), }; result.Add(data); } return(result); }