public Tuple <string, int> Update(PurchaseItem purchaseItem)
        {
            repository.Update(purchaseItem);

            return(CheckIfNeedToAddAssetOrLicense(purchaseItem.PurchaseItemID));

            //// Get back the purchaseItem with all (sub-)data
            //purchaseItem = FindById(purchaseItem.PurchaseItemID);


            //// Need to check if there are already Asset(s) / License(s) generated for this PurchaseItem

            //if (purchaseItem.Product.ProductType.ProductChild.ToString() == "Hardware")
            //{
            //    if (purchaseItem.Status.GenerateAssetOrLicense == true && purchaseItem.Status.HasAsset == true)
            //    {
            //        int assetQty = GetAssetQtyPerPurchaseItem(purchaseItem.PurchaseItemID);
            //        int difAssetQty = purchaseItem.PurchaseQty - assetQty;

            //        if (difAssetQty > 0)
            //        {
            //            return new Tuple<string, int>(purchaseItem.Product.ProductType.ProductChild.ToString(), difAssetQty);
            //        }
            //    }
            //}

            //if (purchaseItem.Product.ProductType.ProductChild.ToString() == "Software")
            //{
            //    if (purchaseItem.Status.GenerateAssetOrLicense == true && purchaseItem.Status.HasLicense == true)
            //    {
            //        int licenseQty = GetLicenseQtyPerPurchaseItem(purchaseItem.PurchaseItemID);
            //        int difLicenseQty = purchaseItem.PurchaseQty - licenseQty;

            //        if (difLicenseQty > 0)
            //        {
            //            return new Tuple<string, int>(purchaseItem.Product.ProductType.ProductChild.ToString(), difLicenseQty);
            //        }
            //    }
            //}

            //return new Tuple<string, int>("", 0);
        }