private void TriggerBuying(Item item) { AudioManager.Instance.PlayItemBuy(); BuyingItem?.Invoke(item); }
private double calculateValue(int theItemId, double theStockQuantity) { double returnValue = 0; try { Item item = itemManagerImpl.getItemById(theItemId); BuyingItem buyingItem_request = new BuyingItem(); buyingItem_request.ItemId = theItemId; buyingItem_request.OrderBy = "modified_date DESC"; buyingItem_request.LimitStart = 0; buyingItem_request.LimitEnd = 10; List <BuyingItem> list_buyingItem = buyingInvoiceManagerImpl.getItem(buyingItem_request); double itemsLeftForCalculating = theStockQuantity; double lastBuyingPrice = 0; String m = item.DefaultBuyingMode; double lastBPrice = 1; double quantity = 0; foreach (BuyingItem buyingItem_a in list_buyingItem) { lastBuyingPrice = buyingItem_a.BuyingPriceActual; m = buyingItem_a.BuyingMode; lastBPrice = buyingItem_a.BuyingPriceActual; quantity = buyingItem_a.BuyingMode == "p" ? (buyingItem_a.Quantity + buyingItem_a.FreeQuantity) * item.QuantityPerPack : (buyingItem_a.Quantity + buyingItem_a.FreeQuantity); if (itemsLeftForCalculating > 0) { if (itemsLeftForCalculating < (quantity)) { if (buyingItem_a.BuyingMode == "u") { returnValue += itemsLeftForCalculating * buyingItem_a.BuyingPriceActual; } else { returnValue += itemsLeftForCalculating * (buyingItem_a.BuyingPriceActual / item.QuantityPerPack); } itemsLeftForCalculating = 0; } else { returnValue += (buyingItem_a.Quantity + buyingItem_a.FreeQuantity) * buyingItem_a.BuyingPriceActual; itemsLeftForCalculating -= (quantity); } } } if (itemsLeftForCalculating > 0) { if (m == "u") { returnValue += lastBuyingPrice * itemsLeftForCalculating; } else { returnValue += itemsLeftForCalculating * (lastBuyingPrice / item.QuantityPerPack); //returnValue += lastBuyingPrice * itemsLeftForCalculating; //returnValue += (lastBuyingPrice * lastBPrice) * itemsLeftForCalculating; } } } catch (Exception) { } return(returnValue); }