public ApproveOrderViewModel Find(Guid orderId) { var order = _orderMainRepository.GetById(orderId); var vm = new ApproveOrderViewModel { DocumentId = order.Id.ToString(), DocumentReference = order.DocumentReference, DocumentIssuerCostCentre = order.DocumentIssuerCostCentre.Name, DocumentRecipientCostCentre = order.DocumentRecipientCostCentre.Name, DocumentIssuerUser = order.DocumentIssuerUser.Username, DocumentStatus = order.Status.ToString(), DocumentDateIssued = order.DocumentDateIssued.ToString("dd-MMM-yyyy"), DateRequired = order.DateRequired.ToString("dd-MMM-yyyy"), TotalNet = order.TotalNet, TotalVat = order.TotalVat, OrderTotal = order.TotalGross, }; foreach (var item in order.ItemSummary) { var lineItem = new ApproveOrderViewModel.ApproveOrderLineItemViewModel() { Qty = item.Qty, VatValue = 0, ProductId = item.Product.Id, ProductDesc = item.Product.Description, ProductType = item.Product.GetType().ToString(), LineTotal = item.TotalNet, Value = item.Product.ExFactoryPrice, TotalNet = item.Product.ExFactoryPrice * item.Qty, }; vm.LineItems.Add(lineItem); } return vm; }
private void UpdateOrAddLineItem(List<ApproveOrderViewModel.ApproveOrderLineItemViewModel> LineItems, Product product, decimal quantity, bool isEditable, Guid parentProductId, bool isEdit) { decimal UnitPrice = PriceCalc(product); decimal UnitVat = 0;// VatCalc(product); decimal net = UnitPrice * quantity; //decimal vat = quantity * UnitVat;//cn decimal VatAmount = quantity * UnitVat; decimal TotalPrice = net + VatAmount; ApproveOrderViewModel.ApproveOrderLineItemViewModel li; if (LineItems.Any(p => p.ProductId == product.Id) && isEdit == false) { li = LineItems.First(p => p.ProductId == product.Id); li.Qty = li.Qty + quantity; li.VatValue = UnitVat; li.LineTotal = li.TotalNet + TotalPrice; } else if (LineItems.Any(p => p.ProductId == product.Id) && isEdit == true) { li = LineItems.First(p => p.ProductId == product.Id); li.Qty = quantity; li.LineTotal = TotalPrice; } else { li = new ApproveOrderViewModel.ApproveOrderLineItemViewModel(); LineItems.Add(li); li.Qty = quantity; li.LineTotal = TotalPrice; li.ProductType = product.GetType().ToString().Split('.').Last(); } li.ProductId = product.Id; li.ProductDesc = product.Description; li.Value = UnitPrice; li.TotalNet = net; li.VatValue = UnitVat; }