Add Helpers/Export/

This commit is contained in:
2023-08-29 15:25:09 +02:00
parent 3f09e62c74
commit a96a05d3de
5 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,4 @@
namespace Elwig.Helpers.Export {
public class Bki {
}
}

View File

@ -0,0 +1,4 @@
namespace Elwig.Helpers.Export {
public class Csv {
}
}

View File

@ -0,0 +1,15 @@
using Elwig.Models;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Elwig.Helpers.Export {
public class Ebics : IBankingProvider {
public string FileExtension => "xml";
public Task Export(string filename, int avnr, IEnumerable<Member> members) {
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,15 @@
using Elwig.Models;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Elwig.Helpers.Export {
public class Elba : IBankingProvider {
public string FileExtension => "elba";
public Task Export(string filename, int avnr, IEnumerable<Member> members) {
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,24 @@
using Elwig.Models;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Elwig.Helpers.Export {
/// <summary>
/// Interface for exporting banking data
/// </summary>
public interface IBankingProvider {
/// <summary>
/// The default file extension of the exported files to be used (whithout a preceding ".")
/// </summary>
string FileExtension { get; }
/// <summary>
/// Export the member payment data of the given payment variant to the given file.
/// (The amount of the last payed variant is deducted from the calculated amount.)
/// </summary>
/// <param name="filename">The file to export the data to</param>
/// <param name="avnr">The number of the payment variant to export</param>
/// <param name="members">The members whose data to include in the export</param>
Task Export(string filename, int avnr, IEnumerable<Member> members);
}
}