diff --git a/FKGees/DocsDefinitions/Decrets/ObrotOpakowaniami.cs b/FKGees/DocsDefinitions/Decrets/ObrotOpakowaniami.cs new file mode 100644 index 0000000..1a79305 --- /dev/null +++ b/FKGees/DocsDefinitions/Decrets/ObrotOpakowaniami.cs @@ -0,0 +1,49 @@ +namespace FKGees.DocsDefinitions.Decrets; + +public class ObrotOpakowaniami : IDecretsDefinition +{ + public int DocType => 1; + public string Type => "Opak"; + public List Definitions { get; } = + [ + new Definition("307-0-24", "MA", "[sbr]"), + new Definition("332-0-24", "WN", "[sbr]") + ]; + + public Task> Process(IReadOnlyList documents) + { + var result = new List(); + + var toProcess = documents + .Where(x => x.TypDok == DocType); + + foreach (var dok in toProcess) + { + Definitions.ForEach(d => + { + var item = dok.DecretKontr(); + item.Data = dok.DataPom; + item.DataWplywu = dok.Data; + item.Nr = dok.NrDok; + item.StronaKonta = d.AccountSide; + item.KontoFk = d.Account; + item.Kwota = dok.NettoDet.AsString(); + + result.Add(item); + }); + } + + return Task.FromResult(result); + } + + private decimal Processvalue(Dok doc, string expression) + { + return expression switch + { + "[snr]-[znr]" => doc.Netto - doc.NettoDet, + "[sbr]-[snr]" => doc.Podatek - doc.PodatekDet, + "[sbr]" => doc.Razem, + _ => 0 + }; + } +} \ No newline at end of file diff --git a/FKGees/Extensions/ServiceCollectionExtensions.cs b/FKGees/Extensions/ServiceCollectionExtensions.cs index 73497f0..6e55809 100644 --- a/FKGees/Extensions/ServiceCollectionExtensions.cs +++ b/FKGees/Extensions/ServiceCollectionExtensions.cs @@ -6,14 +6,15 @@ namespace FKGees.Extensions; internal static class ServiceCollectionExtensions { internal static IServiceCollection AddDecretsDefinitions(this IServiceCollection services) - { + { + services.AddSingleton(); + services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); - services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton();