public IEnumerable <PartnerInvoiceDTO> SelectByPartner(Guid partnerId) { CurrencyRepository currencyRepository = new CurrencyRepository(Connector); PartnerInvoiceDetailRepository invoiceDetailRepository = new PartnerInvoiceDetailRepository(Connector); return(Connector.ExecuteReader(selectByPartnerQuery, new Dictionary <string, object>() { { "Partner", partnerId } }, reader => ReadFromDataReader(reader, currencyRepository, invoiceDetailRepository)));; }
private PartnerInvoiceDTO ReadFromDataReader(IDataReader reader, CurrencyRepository currencyRepository, PartnerInvoiceDetailRepository invoiceDetailRepository) { string currencyId = reader["CurrencyId"] as string; Guid invoiceId = (Guid)reader["Id"]; return(new PartnerInvoiceDTO() { Id = invoiceId, Partner = new PartnerDTO() { Id = (Guid)reader["Partner"] }, TimeStamp = (DateTime)reader["TimeStamp"], Currency = new CurrencyDTO() { Id = currencyId, DisplayName = new LocalizationDictionary(currencyRepository.GetDisplayName(currencyId)), Symbol = reader["CurrencySymbol"] as string }, StripeId = reader["StripeId"] as string, Details = invoiceDetailRepository.SelectByInvoice(invoiceId) }); }