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;




        }