public DataView getOutputTable(string query, string sort) { DataTable outputDataTable = new DataView(transactionDataTable, query, sort, DataViewRowState.CurrentRows).ToTable(); outputDataTable.Columns.Add("TRANSACTION_NUM"); outputDataTable.Columns.Add("TOTAL_COST"); outputDataTable.Columns.Add("PROFIT"); outputDataTable.Columns.Add("TAX"); outputDataTable.Columns.Add("FINAL_PROFIT"); outputDataTable.Columns.Add("NOTE"); decimal outputTotalCost, outputProfit, outputTax; int rows = outputDataTable.Rows.Count; int count = 0; while (count < rows) { outputDataTable.Rows[count].BeginEdit(); // 출력 - 거래날짜 항목 string tDate = outputDataTable.Rows[count]["TRANSACTION_DATE"].ToString(); outputDataTable.Rows[count]["TRANSACTION_DATE"] = string2DateFormat(tDate); // 출력 - 수량 outputDataTable.Rows[count]["TRANSACTION_NUM"] = 1; // 출력 - 원가 int transactionIndex = Int32.Parse(outputDataTable.Rows[count]["TRANSACTION_INDEX"].ToString()); outputTotalCost = totalCostOfTransaction(transactionIndex); outputDataTable.Rows[count]["TOTAL_COST"] = outputTotalCost.ToString("N0"); // 출력 - 이익 decimal supplyPrice = (decimal)outputDataTable.Rows[count]["SUPPLY_PRICE"]; outputProfit = supplyPrice - outputTotalCost; outputDataTable.Rows[count]["PROFIT"] = outputProfit.ToString("N0"); // 출력 - 부가세 if (outputProfit < 0) { outputProfit = 0; } outputTax = (Decimal)Math.Round(Decimal.ToDouble(outputProfit) * 0.1); outputDataTable.Rows[count]["TAX"] = outputTax.ToString("N0"); // 출력 - 순이익 outputDataTable.Rows[count]["FINAL_PROFIT"] = (outputProfit - outputTax).ToString("N0"); // 출력 - 비고 outputDataTable.Rows[count]["NOTE"] = noteOfTransaction(transactionIndex); outputDataTable.Rows[count].EndEdit(); outputDataTable.AcceptChanges(); count++; } return(new DataView(outputDataTable)); }