Beispiel #1
0
 private void WriteTotalAmount(ProductSalesSummary summary)
 {
     writer.WriteLine("");
     writer.WriteLine($"総合計");
     writer.WriteLine("-----");
     writer.WriteLine("");
     writer.WriteLine($"{summary.TotalAmount:#,##0.#} 円");
 }
Beispiel #2
0
 private void WriteCategoryAmount(ProductSalesSummary summary)
 {
     writer.WriteLine("");
     writer.WriteLine("---");
     writer.WriteLine("");
     writer.WriteLine($"商品カテゴリー計: {summary.CategoryAmount:#,##0.#} 円");
     writer.WriteLine("");
     writer.WriteLine("---");
 }
Beispiel #3
0
    static XtraReport CreateProductSalesSummaryReport(long productID)
    {
        var report  = new ProductSalesSummary();
        var product = DataProvider.Products.FirstOrDefault(p => p.Id == productID);

        if (product != null)
        {
            report.DataSource = product.OrderItems;
        }
        return(report);
    }
Beispiel #4
0
        public void Run()
        {
            var orderedProductSales = SortProductSales(productSales);

            var summary = new ProductSalesSummary();

            var newProductCategory = "";
            var oldProductCategory = "";

            WriteTitle();

            foreach (var item in orderedProductSales)
            {
                newProductCategory = item.ProductCategory;

                if (newProductCategory != oldProductCategory)
                {
                    // 商品カテゴリーが変わった
                    if (!string.IsNullOrEmpty(oldProductCategory))
                    {
                        // 1件目でなければカテゴリー別金額合計を出力
                        WriteCategoryAmount(summary);
                    }

                    // 集計値を初期化
                    summary.CategoryAmount = 0;

                    // キーを更新
                    oldProductCategory = newProductCategory;

                    WriteCategoryTitle(oldProductCategory);
                }

                WriteItem(item);

                summary.CategoryAmount += item.Amount;
                summary.TotalAmount    += item.Amount;
            }

            // ループ終了後も最後の商品カテゴリーの集計値を出力
            WriteCategoryAmount(summary);

            WriteTotalAmount(summary);
        }