// // Created by DH10MBO on 21.11.2024. // #include "ProductSale.h" #include #include #include #include #include "../Aufg4/CrimeStats.h" ProductSale::ProductSale(std::string line) { std::vector result; split(line, ',', result); for (int i = 0; i < result.size(); i++) { switch (i) { case 0: region = result[0]; break; case 1: country = result[1]; break; case 2: itemType = result[2]; break; case 3: salesChannel = result[3]; break; case 4: orderPriority = result[4]; break; case 5: orderDate = result[5]; break; case 6: orderId = result[6]; break; case 7: shipDate = result[7]; break; case 8: unitsSold = round(std::stoi(result[8])*100)/100; break; case 9: unitPrice = round(std::stod(result[9])*100)/100; break; case 10:unitCost = round(std::stod(result[10])*100)/100; break; case 11:totalRevenue = round(std::stod(result[11])*100)/100; break; case 12:totalCost = round(std::stod(result[12])*100)/100; break; case 13:totalProfit = round(std::stod(result[13])*100)/100; break; default: std::cout << "I should not be able to reach, the line probably contains to many items" << std::endl; std::cout << line << std::endl; std::cout << "=========================" << std::endl << result[i] << std::endl; } } } std::string ProductSale::toString() { std::ostringstream content; content << "region : " << region << std::endl << "country : " << country << std::endl << "itemType : " << itemType << std::endl << "salesChannel : " << salesChannel << std::endl << "orderPriority : " << orderPriority << std::endl << "orderDate : " << orderDate << std::endl << "orderId : " << orderId << std::endl << "shipDate : " << shipDate << std::endl << "unitsSold : " << unitsSold << std::endl << "unitPrice : " << unitPrice << std::endl << "unitCost : " << unitCost << std::endl << "totalRevenue : " << totalRevenue << std::endl << "totalCost : " << totalCost << std::endl << "totalProfit : " << totalProfit; return content.str(); }