diff --git a/Service/ServiceContracts/IAccountingService.cs b/Service/ServiceContracts/IAccountingService.cs index cfde99dbf..6643d1fd6 100644 --- a/Service/ServiceContracts/IAccountingService.cs +++ b/Service/ServiceContracts/IAccountingService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ServiceModel; using BS.Shared; +using BS.Shared.Attributes; using BS.Shared.Core; using BS.Shared.DataContracts; using BS.Shared.DataContracts.GkvAbrechnung; @@ -140,5 +141,54 @@ namespace BeWo.Service.ServiceContracts [FaultContract(typeof(BeWoFault))] [OperationContract] void StorniereInvoiceBases(List invoices); - } + + // ------------------------------------------------------------------------------------------------------------------------------------- + // ------------------------------------------------------------------------------------------------------------------------------------- + // ------------------------------------------------------------------------------------------------------------------------------------- + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_View)] + GkvAbrechnungDC GetGkvAbrechnung(long oid); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_View)] + List GetAllGkvAbrechnungen(); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_View)] + List GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_View)] + string GetProtokollRawDataString(long oid, GkvRawDataType gkvRawData); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_Create)] + GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_Create)] + GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_Delete)] + void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_Send)] + GkvAbrechnungSendResponseDC SendNewGkvAbrechnung(GkvAbrechnungSendRequestDC req); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + [RequirePermission(UserRightType.Finance_Gkv_View)] + GkvAbrechnungGetIKResponseDC SendGetIKRequest(GkvAbrechnungGetIKRequestDC req); + } } \ No newline at end of file diff --git a/Service/ServiceImplementations/AccountingServiceImp.cs b/Service/ServiceImplementations/AccountingServiceImp.cs index ebe9ce08b..059827acc 100644 --- a/Service/ServiceImplementations/AccountingServiceImp.cs +++ b/Service/ServiceImplementations/AccountingServiceImp.cs @@ -28,6 +28,7 @@ using BS.Shared.Extensions; using BS.Shared.Exceptions; using BS.Shared.AppSender; using BeWo.Data.Security; +using System.Security.Cryptography; namespace BeWo.Service.ServiceImplementations { @@ -745,5 +746,31 @@ namespace BeWo.Service.ServiceImplementations throw Utils.CreateBeWoFaultException(e); } } + + + + // ------------------------------------------------------------------------------------------------------------------------------------- + // ------------------------------------------------------------------------------------------------------------------------------------- + // ------------------------------------------------------------------------------------------------------------------------------------- + + public GkvAbrechnungDC GetGkvAbrechnung(long oid) => new GkvAccountingServiceImp().GetGkvAbrechnung(oid); + public List GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter) => new GkvAccountingServiceImp().GetFilteredGkvAbrechnungen(gkvAbrechnungViewFilter); + + public List GetAllGkvAbrechnungen() => new GkvAccountingServiceImp().GetAllGkvAbrechnungen(); + public string GetProtokollRawDataString(long oid, GkvRawDataType gkvRawData) => new GkvAccountingServiceImp().GetProtokollRawDataString(oid, gkvRawData); + + public GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request) => new GkvAccountingServiceImp().CreateNewGkvAbrechnung(request); + public GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung) => new GkvAccountingServiceImp().UpdateGkvAbrechnung(abrechnung); + public void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung) => new GkvAccountingServiceImp().DeleteGkvAbrechnung(abrechnung); + + /// + /// Erstellt GkvTransferProtokoll + /// + /// + /// + public GkvAbrechnungSendResponseDC SendNewGkvAbrechnung(GkvAbrechnungSendRequestDC req) => new GkvAccountingServiceImp().SendNewGkvAbrechnung(req); + public GkvAbrechnungGetIKResponseDC SendGetIKRequest(GkvAbrechnungGetIKRequestDC req) => new GkvAccountingServiceImp().SendGetIKRequest(req); + + public void HandleGkvServerResults(IEnumerable results) => new GkvAccountingServiceImp().HandleGkvServerResults(results); } } \ No newline at end of file