private void CreateRevenueByCategoryPieChartData(List <Order> orders) { var purchaseByCategoryList = new List <PieChartFormat>(); foreach (var order in orders) { foreach (OrderItem orderItem in order.OrderItems) { var categoryName = orderItem.Item.Category; var itemsCost = orderItem.ItemsCount * orderItem.Item.Price; if (purchaseByCategoryList.Any(d => d.Name == categoryName)) { PieChartFormat pieChartFormat = purchaseByCategoryList.FirstOrDefault(d => d.Name == categoryName); if (pieChartFormat != null) { pieChartFormat.Value += itemsCost; } } else { purchaseByCategoryList.Add(new PieChartFormat() { Name = categoryName, Value = itemsCost }); } } } purchaseByCategoryList.Sort((a, b) => a.Value.CompareTo(b.Value)); var serializeObject = JsonConvert.SerializeObject(purchaseByCategoryList, Formatting.Indented); //write string to file string pieChartDataPath = "data\\RevenueByCategoryPieChartData.json"; var fileDir = $@"{Directory.GetCurrentDirectory()}\wwwroot\{pieChartDataPath}"; System.IO.File.WriteAllText(fileDir, serializeObject); }
private void createStoresRevenueGraphData(List <Order> orders) { var orderMonthlyList = new List <PieChartFormat>(); foreach (var order in orders) { var storeName = order.Store.Name.Replace("Store", ""); var itemsCost = order.Payment.ItemsCost; if (orderMonthlyList.Any(d => d.Name == storeName)) { PieChartFormat pieChartFormat = orderMonthlyList.FirstOrDefault(d => d.Name == storeName); if (pieChartFormat != null) { pieChartFormat.Value += itemsCost; } } else { orderMonthlyList.Add(new PieChartFormat() { Name = storeName, Value = itemsCost }); } } orderMonthlyList.Sort((a, b) => a.Value.CompareTo(b.Value)); var serializeObject = JsonConvert.SerializeObject(orderMonthlyList, Formatting.Indented); //write string to file string pieChartDataPath = "data\\StoresRevenuePieChart.json"; var fileDir = $@"{Directory.GetCurrentDirectory()}\wwwroot\{pieChartDataPath}"; System.IO.File.WriteAllText(fileDir, serializeObject); }