private String To_string(char separator, bool encase_description_in_quotes = true, bool format_currency = true)
 {
     return(Date.ToString(@"dd\/MM\/yyyy") + separator
            + (Unreconciled_amount == 0 ? "" : Unreconciled_amount.To_csv_string(format_currency)) + separator
            + (Matched ? "x" : "") + separator
            + Type + separator
            + (encase_description_in_quotes ? Description.Encase_in_escaped_quotes_if_not_already_encased() : Description) + separator
            + (Cheque_number == 0 ? "" : Cheque_number.ToString()) + separator
            + (Reconciled_amount == 0 ? "" : Reconciled_amount.To_csv_string(format_currency)) + separator + separator + separator
            + (Match != null ? separator.ToString() + separator.ToString() + Match.To_csv(format_currency) : ""));
 }
 private String To_string(char separator, bool encase_description_in_quotes = true, bool format_currency = true)
 {
     return((Date.ToOADate() == 0 ? "" : Date.ToString(@"dd\/MM\/yyyy")) + separator
            + (Unreconciled_amount == 0 ? "" : Unreconciled_amount.To_csv_string(format_currency)) + separator
            + Code + separator
            + (Reconciled_amount == 0 ? "" : Reconciled_amount.To_csv_string(format_currency)) + separator
            + (Date_paid.ToOADate() == 0 ? "" : Date_paid.ToString(@"dd\/MM\/yyyy")) + separator
            + (Total_paid == 0 ? "" : Total_paid.To_csv_string(format_currency)) + separator
            + (string.IsNullOrEmpty(Description)
                 ? ""
                 : (encase_description_in_quotes ? Description.Encase_in_escaped_quotes_if_not_already_encased() : Description)));
 }