using BeWo.Data; using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Data.Models.XRechnung; using BeWo.Data.Security; using BeWo.Service.DCEntityMapper; using BeWo.Service.ServiceContracts.Enhanced; using BeWo.Service.ServiceProxy; using BeWo.Service.ServiceUtils; using BeWo.Service.ServiceUtils.XRechnung; using BS.Shared; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Feature.AI; using BS.Shared.DataContracts.Invoicing.XRechnung; using BS.Shared.DataContracts.MikePHPContracts; using DevExpress.Entity.Model.Metadata; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.ServiceModel; using System.Text; using System.Threading; using System.Threading.Tasks; namespace BeWo.Service.ServiceImplementations.Enhanced { [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)] public class AccountingEnhancedServiceImp : IAccountingEnhancedService { public byte[] CreateXRechnung(long invoice_base_oid, int report_type, string report_url) { if (string.IsNullOrWhiteSpace(report_url)) throw new ArgumentNullException(nameof(report_url)); // Berechne XRechnung var str = ServiceConfigReader.GetInvoiceTestJsonString(); // Erstelle Url ohne weitere Authentifizierung var download_url = report_url + "&mode=pdf"; var token_url = (new DownloadServiceImp()).CreateTemporaryUrl(download_url, false); var response = ServiceFacade.XRechnung.Create(str, token_url); return response; } } }