using System; 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; using BS.Shared.DataContracts.Reports; namespace BeWo.Service.ServiceContracts { [ServiceContract] public interface IAccountingService { [FaultContract(typeof(BeWoFault))] [OperationContract] void DeactivateInvoiceBases(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeactivateServiceInvoices(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeactivateSettlementInvoice(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] List GenerateInitialServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan invoicePeriod); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveInvoiceBases(); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetInvoiceBases(DateTime? startDate, DateTime? endDate); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetInvoiceBases2(DateTime? startDate, DateTime? endDate, bool filterByInvoiceDate); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetInvoiceBasesForCostBearerAndId(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetInvoiceBasesForCostBearerAndIdAndIsUsed(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetGeneralInvoiceBasesForCustomer(long customerOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetGeneralInvoiceBasesForOrganisation(long organisationOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetGeneralInvoiceBasesForPerson(long personOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetInvoiceBasesForSupportConcept(InvoiceType type, long supportConceptOid); [FaultContract(typeof(BeWoFault))] [OperationContract] ServiceInvoiceDC GetServiceInvoiceByInvoiceBaseOid(long invoiceBaseOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan period); [FaultContract(typeof(BeWoFault))] [OperationContract] Settlement2DC GetSettlementByInvoiceBaseOid(long invoiceBaseOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetSettlementInvoicesForCostBearerAndPeriod(long costBearerOid, DateTime periodStart, DateTime periodEnd); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetSettlementInvoicesForSupportConcept(long supportConceptOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewInvoiceBases(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewServiceInvoices(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewSettlementInvoice(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] InvoiceBaseDC LoadInvoiceBaseByOid(long invoiceBaseOid); [FaultContract(typeof(BeWoFault))] [OperationContract] InvoiceNumberDC LoadInvoiceNumber(); [FaultContract(typeof(BeWoFault))] [OperationContract] ServiceInvoiceDC LoadServiceInvoiceByOid(long serviceInvoiceOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateInvoiceBases(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] List SetInvoicePaid(List invoices, bool isPaid); [FaultContract(typeof(BeWoFault))] [OperationContract] InvoiceNumberDC UpdateInvoiceNumber(InvoiceNumberDC dc); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateServiceInvoices(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] void UpdateSettlementInvoice(List invoices); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadInvoiceNumberList(); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateInvoiceNumberList(List dclist); [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] GkvAbrechnungGetIKResponseDC SendGetIKRequest(GkvAbrechnungGetIKRequestDC req); } }