Erster Entwurf bzgl XRechnung: Objekte, UnitTest.

This commit is contained in:
2024-12-10 13:59:43 +01:00
parent b03437ffa6
commit d5697cfd91
34 changed files with 806 additions and 137 deletions

2
.gitignore vendored
View File

@@ -629,6 +629,8 @@ obj
/DakotaUnitTest/obj /DakotaUnitTest/obj
/WohneinheitUnitTest/bin /WohneinheitUnitTest/bin
/WohneinheitUnitTest/obj /WohneinheitUnitTest/obj
/XRechnungUnitTest/bin
/XRechnungUnitTest/obj
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug /BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Release /BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Release
/ReportImp/TestLWV /ReportImp/TestLWV

View File

@@ -2066,6 +2066,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.BankAccountDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))]
@@ -2100,9 +2101,13 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceInvoicePeriodDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceInvoicePeriodDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceNumberDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceNumberDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppRequestDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppResponseDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppResponseDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.RequestType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.GkvTransferResultType))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.GkvTransferResultType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungRequest))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungResponse))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC))]
@@ -6332,6 +6337,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.BankAccountDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))]
@@ -6366,9 +6372,13 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceInvoicePeriodDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceInvoicePeriodDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceNumberDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceNumberDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppRequestDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppResponseDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppResponseDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.RequestType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.GkvTransferResultType))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.GkvTransferResultType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungRequest))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungResponse))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC))]
@@ -9741,6 +9751,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/StorniereInvoiceBasesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/StorniereInvoiceBasesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void StorniereInvoiceBases(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceBaseDC> invoices); void StorniereInvoiceBases(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceBaseDC> invoices);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/GetXRechnung", ReplyAction="http://tempuri.org/IAccountingService/GetXRechnungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/GetXRechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungResponse GetXRechnung(BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungRequest req);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/GetGkvAbrechnung", ReplyAction="http://tempuri.org/IAccountingService/GetGkvAbrechnungResponse")] [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/GetGkvAbrechnung", ReplyAction="http://tempuri.org/IAccountingService/GetGkvAbrechnungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/GetGkvAbrechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/GetGkvAbrechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC GetGkvAbrechnung(long oid); BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC GetGkvAbrechnung(long oid);
@@ -9968,6 +9982,11 @@ namespace BeWo.ServiceProxy
base.Channel.StorniereInvoiceBases(invoices); base.Channel.StorniereInvoiceBases(invoices);
} }
public BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungResponse GetXRechnung(BS.Shared.DataContracts.Invoicing.XRechnung.XRechnungRequest req)
{
return base.Channel.GetXRechnung(req);
}
public BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC GetGkvAbrechnung(long oid) public BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC GetGkvAbrechnung(long oid)
{ {
return base.Channel.GetGkvAbrechnung(oid); return base.Channel.GetGkvAbrechnung(oid);

View File

@@ -43,6 +43,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Translation", "Translation"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TranslationUnitTest", "TranslationUnitTest\TranslationUnitTest.csproj", "{83C43FEC-233D-49EF-BD23-BF842A3EBDF5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TranslationUnitTest", "TranslationUnitTest\TranslationUnitTest.csproj", "{83C43FEC-233D-49EF-BD23-BF842A3EBDF5}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Invoicing", "Invoicing", "{67C70649-9837-49F3-982A-993DBD5A7AD3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XRechnungUnitTest", "XRechnungUnitTest\XRechnungUnitTest.csproj", "{6CED1002-FFB1-46AD-97C7-583BA11208F3}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET Debug|.NET = Debug|.NET
@@ -189,6 +193,18 @@ Global
{83C43FEC-233D-49EF-BD23-BF842A3EBDF5}.Release|Any CPU.Build.0 = Release|Any CPU {83C43FEC-233D-49EF-BD23-BF842A3EBDF5}.Release|Any CPU.Build.0 = Release|Any CPU
{83C43FEC-233D-49EF-BD23-BF842A3EBDF5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {83C43FEC-233D-49EF-BD23-BF842A3EBDF5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{83C43FEC-233D-49EF-BD23-BF842A3EBDF5}.Release|Mixed Platforms.Build.0 = Release|Any CPU {83C43FEC-233D-49EF-BD23-BF842A3EBDF5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Debug|.NET.ActiveCfg = Debug|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Debug|.NET.Build.0 = Debug|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Release|.NET.ActiveCfg = Release|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Release|.NET.Build.0 = Release|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Release|Any CPU.Build.0 = Release|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6CED1002-FFB1-46AD-97C7-583BA11208F3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -207,6 +223,8 @@ Global
{7630915F-DFE4-45A4-A7B1-B6D19B0126C1} = {2F7893AD-34FC-40A2-838A-3D2D8596E9AC} {7630915F-DFE4-45A4-A7B1-B6D19B0126C1} = {2F7893AD-34FC-40A2-838A-3D2D8596E9AC}
{B331128C-7E9F-4BDC-B509-A8DAE1B94E5C} = {CCD6B644-49E7-4A11-BD8F-607088A4AC83} {B331128C-7E9F-4BDC-B509-A8DAE1B94E5C} = {CCD6B644-49E7-4A11-BD8F-607088A4AC83}
{83C43FEC-233D-49EF-BD23-BF842A3EBDF5} = {B331128C-7E9F-4BDC-B509-A8DAE1B94E5C} {83C43FEC-233D-49EF-BD23-BF842A3EBDF5} = {B331128C-7E9F-4BDC-B509-A8DAE1B94E5C}
{67C70649-9837-49F3-982A-993DBD5A7AD3} = {CCD6B644-49E7-4A11-BD8F-607088A4AC83}
{6CED1002-FFB1-46AD-97C7-583BA11208F3} = {67C70649-9837-49F3-982A-993DBD5A7AD3}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5352BE53-F2FD-442F-85A8-4157599AA153} SolutionGuid = {5352BE53-F2FD-442F-85A8-4157599AA153}

View File

@@ -392,6 +392,16 @@
<Compile Include="LoggedInUserOperationContextExt.cs" /> <Compile Include="LoggedInUserOperationContextExt.cs" />
<EmbeddedResource Include="Mappings\Bargeldtransaktionshistory.hbm.xml" /> <EmbeddedResource Include="Mappings\Bargeldtransaktionshistory.hbm.xml" />
<Compile Include="Models\AddressInformation.cs" /> <Compile Include="Models\AddressInformation.cs" />
<Compile Include="Models\XRechnung\XRBuyerBankAccount.cs" />
<Compile Include="Models\XRechnung\XRechnung.cs" />
<Compile Include="Models\XRechnung\XRSellerBankAccount.cs" />
<Compile Include="Models\XRechnung\XRSellerContact.cs" />
<Compile Include="Models\XRechnung\XRBuyer.cs" />
<Compile Include="Models\XRechnung\XRInvoice.cs" />
<Compile Include="Models\XRechnung\XRInvoicePayment.cs" />
<Compile Include="Models\XRechnung\XRInvoicePeriod.cs" />
<Compile Include="Models\XRechnung\XRPosition.cs" />
<Compile Include="Models\XRechnung\XRSeller.cs" />
<Compile Include="MultitenancyOperationContextExt.cs" /> <Compile Include="MultitenancyOperationContextExt.cs" />
<Compile Include="Security\BCrypt.cs" /> <Compile Include="Security\BCrypt.cs" />
<Compile Include="Security\BeWoToolUserCollection.cs" /> <Compile Include="Security\BeWoToolUserCollection.cs" />

View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRBuyer
{
public string Name { get; set; }
public string ID { get; set; }
public string Street { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public string EMail { get; set; }
public string CountryCode { get; set; }
public string Reference { get; set; }
public XRBuyerBankAccount BankAccount { get; set; }
public XRBuyer()
{
BankAccount = new XRBuyerBankAccount();
}
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRBuyerBankAccount
{
public string IBAN { get; set; }
public string BIC { get; set; }
public string Owner { get; set; }
public string MandateID { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRInvoice
{
public string Type { get; set; }
public string Number { get; set; }
public string Date { get; set; }
public string Currency { get; set; }
public string Notice { get; set; }
public XRInvoicePeriod Peroid { get; set; }
public XRInvoicePayment Payment { get; set; }
public XRInvoice()
{
Peroid = new XRInvoicePeriod();
Payment = new XRInvoicePayment();
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRInvoicePayment
{
public string Type { get; set; }
public string Term { get; set; }
public string DueDate { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRInvoicePeriod
{
public string Start { get; set; }
public string End { get; set; }
public string Description { get; set; }
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRPosition
{
public string Quantity { get; set; }
public string QuantityType { get; set; }
public string Text { get; set; }
public string Net { get; set; }
public string NetTotal { get; set; }
public string Tax { get; set; }
public string TaxSum { get; set; }
public string TaxType { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRSeller
{
public string Name { get; set; }
public string ID { get; set; }
public string TaxID { get; set; }
public string VatID { get; set; }
public string Street { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public string EMail { get; set; }
public string CountryCode { get; set; }
public XRSellerContact Contact { get; set; }
public XRSellerBankAccount BankAccount { get; set; }
public XRSeller()
{
Contact = new XRSellerContact();
BankAccount = new XRSellerBankAccount();
}
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRSellerBankAccount
{
public string IBAN { get; set; }
public string BIC { get; set; }
public string Owner { get; set; }
public string Reference { get; set; }
public string ReferenceID { get; set; }
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRSellerContact
{
public string Name { get; set; }
public string Department { get; set; }
public string Phone { get; set; }
public string EMail { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Models.XRechnung
{
public class XRechnung
{
public XRInvoice Invoice { get; set; }
public XRSeller Seller { get; set; }
public XRBuyer Buyer { get; set; }
public List<XRPosition> Position { get; set; }
public XRechnung()
{
Invoice = new XRInvoice();
Seller = new XRSeller();
Buyer = new XRBuyer();
Position = new List<XRPosition>();
}
//public static XRechnung GetExample()
//{
// var xrec = new XRechnung();
// xrec.Invoice.Type = "380";
// xrec.Invoice.Number = "BWP28418";
// xrec.Invoice.Date = "20141002";
// xrec.Invoice.Currency = "EUR";
// xrec.Invoice.Notice = "Rechnung gemäß Bestellung vom 01.03.2018.";
//}
}
}

View File

@@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
<UseIISExpress>true</UseIISExpress> <UseIISExpress>true</UseIISExpress>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig> <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<Use64BitIISExpress>false</Use64BitIISExpress> <Use64BitIISExpress>false</Use64BitIISExpress>
<IISExpressSSLPort /> <IISExpressSSLPort />
<IISExpressAnonymousAuthentication /> <IISExpressAnonymousAuthentication />
@@ -12,5 +12,29 @@
<UseGlobalApplicationHostFile /> <UseGlobalApplicationHostFile />
<ProjectView>ProjectFiles</ProjectView> <ProjectView>ProjectFiles</ProjectView>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions /> <ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<StartPageUrl>
</StartPageUrl>
<StartAction>CurrentPage</StartAction>
<AspNetDebugging>True</AspNetDebugging>
<SilverlightDebugging>False</SilverlightDebugging>
<NativeDebugging>False</NativeDebugging>
<SQLDebugging>False</SQLDebugging>
<ExternalProgram>
</ExternalProgram>
<StartExternalURL>
</StartExternalURL>
<StartCmdLineArguments>
</StartCmdLineArguments>
<StartWorkingDirectory>
</StartWorkingDirectory>
<EnableENC>True</EnableENC>
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project> </Project>

View File

@@ -6,171 +6,150 @@ using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using BS.Shared.DataContracts.GkvAbrechnung; using BS.Shared.DataContracts.GkvAbrechnung;
using BS.Shared.DataContracts.Invoicing.XRechnung;
using BS.Shared.DataContracts.Reports; using BS.Shared.DataContracts.Reports;
namespace BeWo.Service.ServiceContracts namespace BeWo.Service.ServiceContracts
{ {
[ServiceContract] [ServiceContract]
public interface IAccountingService public interface IAccountingService
{ {
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
void DeactivateInvoiceBases(List<InvoiceBaseDC> invoices); void DeactivateInvoiceBases(List<InvoiceBaseDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
void DeactivateServiceInvoices(List<ServiceInvoiceDC> invoices); void DeactivateServiceInvoices(List<ServiceInvoiceDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
void DeactivateSettlementInvoice(List<Settlement2DC> invoices); void DeactivateSettlementInvoice(List<Settlement2DC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<ServiceInvoiceDC> GenerateInitialServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan invoicePeriod); List<ServiceInvoiceDC> GenerateInitialServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan invoicePeriod);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetAllActiveInvoiceBases(); List<InvoiceBaseDC> GetAllActiveInvoiceBases();
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetInvoiceBases(DateTime? startDate, DateTime? endDate); List<InvoiceBaseDC> GetInvoiceBases(DateTime? startDate, DateTime? endDate);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetInvoiceBases2(DateTime? startDate, DateTime? endDate, bool filterByInvoiceDate); List<InvoiceBaseDC> GetInvoiceBases2(DateTime? startDate, DateTime? endDate, bool filterByInvoiceDate);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetInvoiceBasesForCostBearerAndId(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId); List<InvoiceBaseDC> GetInvoiceBasesForCostBearerAndId(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<InvoiceBaseDC> GetInvoiceBasesForCostBearerAndIdAndIsUsed(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetGeneralInvoiceBasesForCustomer(long customerOid); List<InvoiceBaseDC> GetInvoiceBasesForCostBearerAndIdAndIsUsed(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetGeneralInvoiceBasesForOrganisation(long organisationOid); List<InvoiceBaseDC> GetGeneralInvoiceBasesForCustomer(long customerOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetGeneralInvoiceBasesForPerson(long personOid); List<InvoiceBaseDC> GetGeneralInvoiceBasesForOrganisation(long organisationOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceBaseDC> GetInvoiceBasesForSupportConcept(InvoiceType type, long supportConceptOid); List<InvoiceBaseDC> GetGeneralInvoiceBasesForPerson(long personOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
ServiceInvoiceDC GetServiceInvoiceByInvoiceBaseOid(long invoiceBaseOid); List<InvoiceBaseDC> GetInvoiceBasesForSupportConcept(InvoiceType type, long supportConceptOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<ServiceInvoiceDC> GetServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan period); ServiceInvoiceDC GetServiceInvoiceByInvoiceBaseOid(long invoiceBaseOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
Settlement2DC GetSettlementByInvoiceBaseOid(long invoiceBaseOid); List<ServiceInvoiceDC> GetServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan period);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<Settlement2DC> GetSettlementInvoicesForCostBearerAndPeriod(long costBearerOid, DateTime periodStart, DateTime periodEnd); Settlement2DC GetSettlementByInvoiceBaseOid(long invoiceBaseOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<Settlement2DC> GetSettlementInvoicesForSupportConcept(long supportConceptOid); List<Settlement2DC> GetSettlementInvoicesForCostBearerAndPeriod(long costBearerOid, DateTime periodStart, DateTime periodEnd);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<long> InsertNewInvoiceBases(List<InvoiceBaseDC> invoices); List<Settlement2DC> GetSettlementInvoicesForSupportConcept(long supportConceptOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<long> InsertNewServiceInvoices(List<ServiceInvoiceDC> invoices); List<long> InsertNewInvoiceBases(List<InvoiceBaseDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<long> InsertNewSettlementInvoice(List<Settlement2DC> invoices); List<long> InsertNewServiceInvoices(List<ServiceInvoiceDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
InvoiceBaseDC LoadInvoiceBaseByOid(long invoiceBaseOid); List<long> InsertNewSettlementInvoice(List<Settlement2DC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
InvoiceNumberDC LoadInvoiceNumber(); InvoiceBaseDC LoadInvoiceBaseByOid(long invoiceBaseOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
ServiceInvoiceDC LoadServiceInvoiceByOid(long serviceInvoiceOid); InvoiceNumberDC LoadInvoiceNumber();
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<long> UpdateInvoiceBases(List<InvoiceBaseDC> invoices); ServiceInvoiceDC LoadServiceInvoiceByOid(long serviceInvoiceOid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<long> SetInvoicePaid(List<InvoiceBaseDC> invoices, bool isPaid); List<long> UpdateInvoiceBases(List<InvoiceBaseDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
InvoiceNumberDC UpdateInvoiceNumber(InvoiceNumberDC dc); List<long> SetInvoicePaid(List<InvoiceBaseDC> invoices, bool isPaid);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<long> UpdateServiceInvoices(List<ServiceInvoiceDC> invoices); InvoiceNumberDC UpdateInvoiceNumber(InvoiceNumberDC dc);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
void UpdateSettlementInvoice(List<Settlement2DC> invoices); List<long> UpdateServiceInvoices(List<ServiceInvoiceDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceNumberDC> LoadInvoiceNumberList(); void UpdateSettlementInvoice(List<Settlement2DC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
List<InvoiceNumberDC> UpdateInvoiceNumberList(List<InvoiceNumberDC> dclist); List<InvoiceNumberDC> LoadInvoiceNumberList();
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
void StorniereInvoiceBases(List<InvoiceBaseDC> invoices); List<InvoiceNumberDC> UpdateInvoiceNumberList(List<InvoiceNumberDC> dclist);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))]
[OperationContract] [OperationContract]
GkvAbrechnungDC GetGkvAbrechnung(long oid); void StorniereInvoiceBases(List<InvoiceBaseDC> invoices);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))] [OperationContract] XRechnungResponse GetXRechnung(XRechnungRequest req);
[OperationContract] [FaultContract(typeof(BeWoFault))] [OperationContract] GkvAbrechnungDC GetGkvAbrechnung(long oid);
List<GkvAbrechnungDC> GetAllGkvAbrechnungen(); [FaultContract(typeof(BeWoFault))] [OperationContract] List<GkvAbrechnungDC> GetAllGkvAbrechnungen();
[FaultContract(typeof(BeWoFault))] [OperationContract] List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))] [OperationContract] GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request);
[OperationContract] [FaultContract(typeof(BeWoFault))] [OperationContract] GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung);
List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung);
[FaultContract(typeof(BeWoFault))] [OperationContract] GkvAbrechnungSendResponseDC SendNewGkvAbrechnung(GkvAbrechnungSendRequestDC req);
[FaultContract(typeof(BeWoFault))] [FaultContract(typeof(BeWoFault))] [OperationContract] GkvAbrechnungGetIKResponseDC SendGetIKRequest(GkvAbrechnungGetIKRequestDC req);
[OperationContract] }
GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
GkvAbrechnungSendResponseDC SendNewGkvAbrechnung(GkvAbrechnungSendRequestDC req);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
GkvAbrechnungGetIKResponseDC SendGetIKRequest(GkvAbrechnungGetIKRequestDC req);
}
} }

View File

@@ -28,6 +28,7 @@ using BS.Shared.Extensions;
using BS.Shared.Exceptions; using BS.Shared.Exceptions;
using BS.Shared.AppSender; using BS.Shared.AppSender;
using BeWo.Data.Security; using BeWo.Data.Security;
using BS.Shared.DataContracts.Invoicing.XRechnung;
namespace BeWo.Service.ServiceImplementations namespace BeWo.Service.ServiceImplementations
{ {
@@ -746,6 +747,11 @@ namespace BeWo.Service.ServiceImplementations
} }
} }
public XRechnungResponse GetXRechnung(XRechnungRequest req)
{
return null;
}
#region GKV #region GKV
public GkvAbrechnungDC GetGkvAbrechnung(long oid) public GkvAbrechnungDC GetGkvAbrechnung(long oid)
{ {

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.AppSender
{
public static class OwnSoftSender
{
public static string Send(string url, string dataString)
{
string response;
using (WebClient client = new WebClient())
{
client.Encoding = Encoding.UTF8;
client.Headers.Add(HttpRequestHeader.ContentType, "application/xml");
response = client.UploadString(url, "POST", dataString);
}
return response;
}
}
}

View File

@@ -11,7 +11,7 @@ namespace BS.Shared.DataContracts
/// Kann per RequestSender gesendet werden und als ResponseDC empfangen wird. /// Kann per RequestSender gesendet werden und als ResponseDC empfangen wird.
/// </summary> /// </summary>
[DataContract] [DataContract]
public abstract class AppRequestDC : IDataContract public abstract class AppRequestDC
{ {
public AppRequestDC(RequestType type) public AppRequestDC(RequestType type)
{ {

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts namespace BS.Shared.DataContracts
{ {
[DataContract] [DataContract]
public abstract class AppResponseDC : IDataContract public abstract class AppResponseDC
{ {
[DataMember] public bool Success { get; set; } [DataMember] public bool Success { get; set; }
[DataMember] public string Message { get; set; } [DataMember] public string Message { get; set; }

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.GkvAbrechnung namespace BS.Shared.DataContracts.GkvAbrechnung
{ {
[DataContract] [DataContract]
public class GkvRequestDC : AppRequestDC public class GkvRequestDC : AppRequestDC, IDataContract
{ {
public GkvRequestDC() : base(RequestType.Default) { } public GkvRequestDC() : base(RequestType.Default) { }

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.GkvAbrechnung namespace BS.Shared.DataContracts.GkvAbrechnung
{ {
[DataContract] [DataContract]
public class GkvResponseDC : AppResponseDC public class GkvResponseDC : AppResponseDC, IDataContract
{ {
public GkvResponseDC() : base(false) { } public GkvResponseDC() : base(false) { }
public GkvResponseDC(bool success) : base(success) { } public GkvResponseDC(bool success) : base(success) { }

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Invoicing.XRechnung
{
public class XRechnungRequest : OwnSoftRequest
{
public string Data { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Invoicing.XRechnung
{
public class XRechnungResponse : OwnSoftResponse
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class OwnSoftRequest
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class OwnSoftResponse
{
}
}

View File

@@ -133,6 +133,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="AppSender\GkvSender.cs" /> <Compile Include="AppSender\GkvSender.cs" />
<Compile Include="AppSender\OwnSoftSender.cs" />
<Compile Include="BeWoEntityEnums.cs" /> <Compile Include="BeWoEntityEnums.cs" />
<Compile Include="Core\AppSettingReader.cs" /> <Compile Include="Core\AppSettingReader.cs" />
<Compile Include="Core\ComplexWohnheimbuchungsRelationHelper.cs" /> <Compile Include="Core\ComplexWohnheimbuchungsRelationHelper.cs" />
@@ -190,6 +191,10 @@
<Compile Include="DataContracts\GkvAbrechnung\GkvServerGetStatusResponseDC.cs" /> <Compile Include="DataContracts\GkvAbrechnung\GkvServerGetStatusResponseDC.cs" />
<Compile Include="DataContracts\GkvAbrechnung\GkvClientResultRequestDC.cs" /> <Compile Include="DataContracts\GkvAbrechnung\GkvClientResultRequestDC.cs" />
<Compile Include="DataContracts\Invoicing\BankAccountDC.cs" /> <Compile Include="DataContracts\Invoicing\BankAccountDC.cs" />
<Compile Include="DataContracts\Invoicing\XRechnung\XRechnungRequest.cs" />
<Compile Include="DataContracts\Invoicing\XRechnung\XRechnungResponse.cs" />
<Compile Include="DataContracts\OwnSoftRequest.cs" />
<Compile Include="DataContracts\OwnSoftResponse.cs" />
<Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeDC.cs" /> <Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeDC.cs" />
<Compile Include="DataContracts\ImageDC.cs" /> <Compile Include="DataContracts\ImageDC.cs" />
<Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeBereichBundDC.cs" /> <Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeBereichBundDC.cs" />
@@ -535,6 +540,7 @@
<ItemGroup> <ItemGroup>
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("XRechnung")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("XRechnung")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("2ac73051-954e-4516-b7a9-79f5ea35d12a")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>2ac73051-954e-4516-b7a9-79f5ea35d12a</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>XRechnung</RootNamespace>
<AssemblyName>XRechnung</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System"/>
<Reference Include="System.Core"/>
<Reference Include="System.Xml.Linq"/>
<Reference Include="System.Data.DataSetExtensions"/>
<Reference Include="Microsoft.CSharp"/>
<Reference Include="System.Data"/>
<Reference Include="System.Net.Http"/>
<Reference Include="System.Xml"/>
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,20 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("XRechnungUnitTest")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("XRechnungUnitTest")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("6ced1002-ffb1-46ad-97c7-583ba11208f3")]
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,32 @@
using BeWo.Data.Models.XRechnung;
using BS.Shared.AppSender;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using System;
using System.IO;
namespace XRechnungUnitTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void JsonConvertTest()
{
var json = File.ReadAllText("invoicetest.json");
var xr = JsonConvert.DeserializeObject<XRechnung>(json);
var txt = JsonConvert.SerializeObject(xr);
}
[TestMethod]
public void SendTest()
{
var url = "https://test2.evplaner.de/xrg/create";
var json = File.ReadAllText("invoicetest.json");
var response = OwnSoftSender.Send(url, json);
}
}
}

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6CED1002-FFB1-46AD-97C7-583BA11208F3}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>XRechnungUnitTest</RootNamespace>
<AssemblyName>XRechnungUnitTest</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<Compile Include="UnitTest1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="invoicetest.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Data\Data.csproj">
<Project>{b0d73e3d-4ae7-4024-93a6-db1f46d7ccee}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\Shared\Shared.csproj">
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props'))" />
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets'))" />
</Target>
<Import Project="..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets')" />
</Project>

View File

@@ -0,0 +1,81 @@
{
"Invoice": {
"Type": "380",
"Number": "BWP28418",
"Date": "20141002",
"Currency": "EUR",
"Notice": "Rechnung gem\u00e4\u00df Bestellung vom 01.03.2018.",
"Period": {
"Start": "20140101",
"End": "20140130",
"Description": "Leistungszeitraum xx bis yy"
},
"Payment": {
"Type": 58,
"Term": "Zahlbar innerhalb 14 Tagen netto",
"DueDate": "20140101"
}
},
"Seller": {
"Name": "Muster GmbH",
"ID": null,
"TaxID": null,
"VatID": "DE123456789",
"Street": "Musterstr. 1-3",
"ZipCode": "30674",
"City": "Frankfurt",
"EMail": "rechnungen@musterfirma.de",
"CountryCode": "DE",
"Contact": {
"Name": "Peter Musterfrau",
"Department": "Buchhaltung",
"Phone": "+49211171717",
"EMail": "pm@muster.de"
},
"BankAccount": {
"IBAN": "DE38370501980147522957",
"BIC": "SSKMDEMMXXX",
"Owner": "Muster GmbH",
"Reference": "z.B. Rechnungnummer",
"ReferenceID": "Gl\u00e4ubigerID"
}
},
"Buyer": {
"Name": "Kunde GmbH",
"ID": null,
"Street": "Stra\u00dfe & Hausnummer",
"ZipCode": "Plz",
"City": "Ort",
"EMail": "rechnungen@kunde.de",
"CountryCode": "DE",
"Reference": "PO-Nummer oder andere Referenz, die Kunde haben will",
"BankAccount": {
"IBAN": "DE38370501980147522957",
"BIC": "SSKMDEMMXXX",
"Owner": "Muster GmbH",
"MandateID": "Mandatsreferenznummer"
}
},
"Position": [
{
"Quantity": 2,
"QuantityType": "H87",
"Text": "Artikel 1",
"Net": 200,
"NetTotal": 400,
"Tax": 19,
"TaxSum": 76,
"TaxType": "S"
},
{
"Quantity": 4,
"QuantityType": "H87",
"Text": "Artikel 2",
"Net": 10,
"NetTotal": 40,
"Tax": 7,
"TaxSum": 2.8,
"TaxType": "S"
}
]
}

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MSTest.TestAdapter" version="2.1.2" targetFramework="net472" />
<package id="MSTest.TestFramework" version="2.1.2" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" />
</packages>