public string ConvertDeposit <T>(List <T> items) { string xml = ""; Type t = typeof(T); QuickbooksDepositAttribute qbDepositAttribute = (QuickbooksDepositAttribute)Attribute.GetCustomAttribute(t, typeof(QuickbooksDepositAttribute)); string linesXml = ""; foreach (var item in items) { linesXml += ConvertDepositLine(item); } var template = GetTemplateText(DepositTemplate); if (template != null) { xml = template .Replace("{{Date}}", DateTime.Now.ToString("yyyy-MM-dd")) .Replace("{{DepositToAccount}}", "Operating Account - 3363") .Replace("{{Memo}}", "Deposit") .Replace("{{DepositLines}}", linesXml); } return(xml); }
public string ConvertDepositLine <T>(T item) { string xml = ""; Type t = typeof(T); QuickbooksDepositAttribute qbDepositAttribute = (QuickbooksDepositAttribute)Attribute.GetCustomAttribute(t, typeof(QuickbooksDepositAttribute)); var fields = GetQuickbooksFieldValues(item, t); if (FieldsAreValidForDepositAdd(fields)) { var template = GetTemplateText(DepositLineTemplate); if (template != null) { xml = template .Replace("{{DepositLineEntityFullName}}", fields["DepositLineEntityFullName"].ToXmlString()) .Replace("{{FromAccount}}", fields["AccountRef"].ToXmlString()) .Replace("{{DepositLineMemo}}", fields["Memo"].ToXmlString()) .Replace("{{CheckNumber}}", fields["CheckNumber"].ToXmlString()) .Replace("{{Amount}}", ((decimal)fields["Amount"]).ToString("F2").ToXmlString()); } } return(xml); }