private static string GetDependencyString(params object[] payoutParams) { // This should be moved to some sort of interface layer for localization. List <int> expenseClaimIdentities = new List <int>(); List <int> invoiceIdentities = new List <int>(); List <int> salaryNetIdentities = new List <int>(); List <int> salaryTaxIdentities = new List <int>(); Payouts allPayouts = new Payouts(); foreach (object parameter in payoutParams) { if (parameter is Payout) { allPayouts.Add((Payout)parameter); } if (parameter is Payouts) { foreach (Payout payout in (Payouts)parameter) { allPayouts.Add(payout); } } } foreach (Payout payout in allPayouts) { expenseClaimIdentities.AddRange(payout.DependentExpenseClaims.Identities); invoiceIdentities.AddRange(payout.DependentInvoices.Identities); salaryNetIdentities.AddRange(payout.DependentSalariesNet.Identities); salaryTaxIdentities.AddRange(payout.DependentSalariesTax.Identities); } List <string> parts = new List <string>(); if (expenseClaimIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Expense Claim", "Expense Claims", expenseClaimIdentities)); } if (invoiceIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Invoice", "Invoices", invoiceIdentities)); } if (salaryNetIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Salary Net", "Salaries Net", salaryNetIdentities)); } if (salaryTaxIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Salary Tax", "Salaries Tax", salaryTaxIdentities)); } if (parts.Count == 0) { return("Nothing"); } string result = string.Empty; for (int index = 0; index < parts.Count - 1; index++) { result += ", " + parts[index]; } if (parts.Count > 2) { result += ","; } if (parts.Count > 1) { result = result.Substring(2) + " and "; } result += parts[parts.Count - 1]; return(result); }
private static string GetDependencyString(params object[] payoutParams) { // This should be moved to some sort of interface layer for localization. List<int> expenseClaimIdentities = new List<int>(); List<int> invoiceIdentities = new List<int>(); List<int> salaryNetIdentities = new List<int>(); List<int> salaryTaxIdentities = new List<int>(); Payouts allPayouts = new Payouts(); foreach (object parameter in payoutParams) { if (parameter is Payout) { allPayouts.Add((Payout) parameter); } if (parameter is Payouts) { foreach (Payout payout in (Payouts)parameter) { allPayouts.Add(payout); } } } foreach (Payout payout in allPayouts) { expenseClaimIdentities.AddRange(payout.DependentExpenseClaims.Identities); invoiceIdentities.AddRange(payout.DependentInvoices.Identities); salaryNetIdentities.AddRange(payout.DependentSalariesNet.Identities); salaryTaxIdentities.AddRange(payout.DependentSalariesTax.Identities); } List<string> parts = new List<string>(); if (expenseClaimIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Expense Claim", "Expense Claims", expenseClaimIdentities)); } if (invoiceIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Invoice", "Invoices", invoiceIdentities)); } if (salaryNetIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Salary Net", "Salaries Net", salaryNetIdentities)); } if (salaryTaxIdentities.Count > 0) { parts.Add(GenerateDependencyPart("Salary Tax", "Salaries Tax", salaryTaxIdentities)); } if (parts.Count == 0) { return "Nothing"; } string result = string.Empty; for (int index = 0; index < parts.Count - 1; index++) { result += ", " + parts[index]; } if (parts.Count > 2) { result += ","; } if (parts.Count > 1) { result = result.Substring(2) + " and "; } result += parts[parts.Count - 1]; return result; }