public List <TotalSalesData> ReadInTotalSystemSalesReport() { string fullPath = Path.Combine(filePath, reportName); List <string> fileLines = new List <string>(); List <TotalSalesData> outputList = new List <TotalSalesData>(); if (File.Exists(fullPath)) { try { using (StreamReader sr = new StreamReader(fullPath)) { while (!sr.EndOfStream) { fileLines.Add(sr.ReadLine()); } for (int i = 0; i < fileLines.Count - 2; i++) { string[] data = fileLines[i].Split("|"); TotalSalesData temp = new TotalSalesData(data[0], decimal.Parse(data[2]), int.Parse(data[1])); outputList.Add(temp); } } } catch (IOException e) { } } return(outputList); }
public void UpdateTotalSalesReport(List <Purchases> purchaseList) { string fullPath = Path.Combine(filePath, reportName); decimal totalSales = 0M; List <TotalSalesData> oldDataList = ReadInTotalSystemSalesReport(); foreach (Purchases thisPurchase in purchaseList) { bool existsInOldData = false; foreach (TotalSalesData thisData in oldDataList) { if (thisPurchase.ItemName == thisData.Name) { existsInOldData = true; thisData.TotalSoldQuantity += thisPurchase.QuantityOrdered; thisData.TotalPurchasedRevenue += thisPurchase.TotalPurchaseCost; } } if (!existsInOldData) { TotalSalesData temp = new TotalSalesData(thisPurchase.ItemName, thisPurchase.TotalPurchaseCost, thisPurchase.QuantityOrdered); oldDataList.Add(temp); } } foreach (TotalSalesData data in oldDataList) { totalSales += data.TotalPurchasedRevenue; } try { using (StreamWriter sw = new StreamWriter(fullPath, false)) { foreach (TotalSalesData data in oldDataList) { sw.WriteLine(data.Name + "|" + data.TotalSoldQuantity + "|" + data.TotalPurchasedRevenue); } sw.WriteLine("\n**TOTAL SALES** $" + totalSales); } } catch (IOException e) { } }