コード例 #1
0
ファイル: DemoData.cs プロジェクト: JackkyGit/Factory
    public ProductTotal GetData_ProductTotal(int id)
    {
        ProductTotal p = new ProductTotal();

        p.SetData("Product" + id, Random.Range(10000, 100000), Random.Range(1000, 10000), Random.Range(100, 1000), Random.Range(10, 100));
        return(p);
    }
コード例 #2
0
    private void GetTotal(IDataIO dataIO)
    {
        productTotal = dataIO.GetData_ProductTotal(this.ID);

        var field = typeof(ProductTotal).GetFields();

        for (int i = 0; i < field.Length; i++)
        {
            if (field[i].Name == "productName")
            {
                string s = field[i].GetValue(productTotal).ToString();
                //textNodes[i].title.text = s + "生产统计分析";
            }
            else
            {
                int b = (int)field[i].GetValue(productTotal);
                //textNodes[i].data.DOText(b.ToString(), 0.6f, true, ScrambleMode.Numerals, "");
            }
        }
    }
コード例 #3
0
        public async Task <ActionResult <ProductPrice> > GetProductsTotal([FromBody] AddCartItem[] items)
        {
            var currency     = _workContextAccessor.WorkContext.CurrentCurrency;
            var productTotal = new ProductTotal(currency);

            // Based on https://github.com/VirtoCommerce/vc-module-cart/blob/05dac9453f375f015bbea57e3f95f4c87a62ec74/src/VirtoCommerce.CartModule.Data/Services/DefaultShoppingCartTotalsCalculator.cs#L57-L68
            if (!items.IsNullOrEmpty())
            {
                var products = await _catalogService.GetProductsAsync(items.Select(x => x.ProductId).ToArray(), ItemResponseGroup.ItemWithPrices);

                if (products != null && products.Any())
                {
                    var productsById = products.ToDictionary(x => x.Id, x => x);

                    foreach (var item in items)
                    {
                        item.Product = productsById[item.ProductId];
                    }

                    // Original price without rounding stored in InternalAmount
                    var subTotal             = items.Sum(x => x.Product.Price.ListPrice.InternalAmount * x.Quantity);
                    var subTotalWithTax      = items.Sum(x => x.Product.Price.ListPriceWithTax.InternalAmount * x.Quantity);
                    var discountTotal        = items.Sum(x => x.Product.Price.DiscountAmount.InternalAmount);
                    var discountTotalWithTax = items.Sum(x => x.Product.Price.DiscountAmountWithTax.InternalAmount);
                    var taxTotal             = items.Sum(x => x.Product.TaxTotal.InternalAmount);

                    productTotal.SubTotal             = new Money(Math.Round(subTotal, 2, MidpointRounding.AwayFromZero), currency);
                    productTotal.SubTotalWithTax      = new Money(Math.Round(subTotalWithTax, 2, MidpointRounding.AwayFromZero), currency);
                    productTotal.DiscountTotal        = new Money(Math.Round(discountTotal, 2, MidpointRounding.AwayFromZero), currency);
                    productTotal.DiscountTotalWithTax = new Money(Math.Round(discountTotalWithTax, 2, MidpointRounding.AwayFromZero), currency);
                    productTotal.TaxTotal             = new Money(Math.Round(taxTotal, 2, MidpointRounding.AwayFromZero), currency);
                    productTotal.Total        = new Money(productTotal.SubTotal.Amount - productTotal.DiscountTotal.Amount, currency);
                    productTotal.TotalWithTax = new Money(productTotal.Total.Amount + productTotal.TaxTotal.Amount, currency);
                }
            }

            return(Ok(productTotal));
        }