void IAgencyPaymentService.SavePayments(IEnumerable <IBacsResult> payments, BacsExportType type) { var filename = string.Format(BACS_EXPORT_CSV_FORMAT, type); using var csv = new CsvWriter(new StreamWriter(new FileStream(filename, FileMode.Create))); csv.WriteRecords(payments); }
public async Task ExportZip(BacsExportType bacsExportType) { var startDate = DateTime.Now.AddMonths(-1); var endDate = DateTime.Now; try { List <IBacsResult> payments; switch (bacsExportType) { case BacsExportType.Agency: if (agencyPaymentsConfiguration.Enabled) { payments = await agencyPaymentService.GetAgencyPayments(startDate, endDate); agencyPaymentService.SavePayments(payments, bacsExportType); } break; case BacsExportType.Supplier: var supplierBacsExport = supplierPaymentService.GetSupplierPayments(startDate, endDate); supplierPaymentService.SaveSupplierBacsExport(supplierBacsExport); break; default: throw new Exception(INVALID_BACSEXPORTTYPE_ERROR); } } catch (InvalidOperationException inOpEx) { throw new Exception(inOpEx.Message); } }
public async Task ExportZip(BacsExportType bacsExportType) { ////var startDate = DateTime.Now.AddMonths(-1); ////var endDate = DateTime.Now; /// var startDate = new DateTime(2019, 04, 01); var endDate = startDate.AddMonths(1); try { if (bacsExportType == BacsExportType.Agency && !bool.Parse(Application.Settings["EnableAgencyPayments"])) { return; } var paymentService = _paymentServiceFactory.GetPaymentService(bacsExportType); var payments = await paymentService.GetPaymentAsync(startDate, endDate); _savePaymentService.Save(payments, $"{bacsExportType}_BACSExport.csv"); } catch (InvalidOperationException inOpEx) { // ILogger ////throw new Exception(inOpEx.Message); // write logs here, ///don't throw exception, calling function is not catching } }
private void SavePayments(IEnumerable <BacsResult> payments, BacsExportType type) { var filename = string.Format("{0}_BACSExport.csv", type); using (var csv = new CsvWriter(new StreamWriter(new FileStream(filename, FileMode.Create)))) { csv.WriteRecords(payments); } }
public void VerifyCsvRecords <T>(BacsExportType bacsExportType, Action <T[]> verify) { var filename = BacsExportService.GetFilename(bacsExportType); Assert.Equal(filename, _filenameResult); var records = Assert.IsAssignableFrom <IEnumerable <T> >(_recordsResult); verify(records.ToArray()); }
private void SavePayments(IEnumerable <BacsResult> payments, BacsExportType type) { var filename = string.Format("{0}_BACSExport.csv", type); using (var writer = new StreamWriter(new FileStream(filename, FileMode.Create))) { using (var csv = new CsvHelper.CsvWriter(writer, System.Globalization.CultureInfo.CurrentCulture)) { csv.WriteRecords(payments); } } }
public IPaymentService GetPaymentService(BacsExportType bacsExportType) { if (bacsExportType == BacsExportType.Agency) { return(_paymentServices[typeof(AgencyPaymentService)]); } if (bacsExportType == BacsExportType.Supplier) { return(_paymentServices[typeof(SupplierPaymentService)]); } throw new Exception("No export type provided."); }
public IPaymentService GetPaymentTypeService(BacsExportType bacsExportType) { try { switch (bacsExportType) { case BacsExportType.Agency: return(new AgencyPaymentService(_paymentsRepository, _agencyRepository, _applicationWrapper)); case BacsExportType.Supplier: return(new SupplierPaymentService(_invoiceTransactionRepository, _candidateRepository)); default: throw new Exception("Invalid BACS Export Type."); } } catch (InvalidOperationException inOpEx) { throw new Exception(inOpEx.Message); } }
public async Task ExportZip(BacsExportType bacsExportType) { if (bacsExportType == BacsExportType.None) { const string invalidExportTypeMessage = "No export type provided."; throw new Exception(invalidExportTypeMessage); } var startDate = DateTime.Now.AddMonths(-1); var endDate = DateTime.Now; try { List <BacsResult> payments; switch (bacsExportType) { case BacsExportType.Agency: if (Application.Settings["EnableAgencyPayments"] == "true") { payments = await GetAgencyPayments(startDate, endDate); SavePayments(payments, bacsExportType); } break; case BacsExportType.Supplier: var supplierBacsExport = GetSupplierPayments(startDate, endDate); SaveSupplierBacsExport(supplierBacsExport); break; default: throw new Exception("Invalid BACS Export Type."); } } catch (InvalidOperationException inOpEx) { throw new Exception(inOpEx.Message); } }
public async Task ExportZip(BacsExportType bacsExportType) { if (bacsExportType == BacsExportType.None) { const string invalidExportTypeMessage = "No export type provided."; throw new Exception(invalidExportTypeMessage); } var startDate = _dateTimeService.GetStartDateTime(); var endDate = _dateTimeService.GetCurrentDateTime(); var service = _paymentServiceFactory.GetPaymentTypeService(bacsExportType); if (!service.ArePaymentsEnabled()) { throw new Exception("Invalid BACS Export Type."); } var payments = await service.GetPayments(startDate, endDate); var filename = GetFilename(bacsExportType); _csvWriterWrapper.WriteRecords(payments, filename); }
public static string GetFilename(BacsExportType type) { return($"{type}_BACSExport.csv");; }