70 lines
2.0 KiB
C#
70 lines
2.0 KiB
C#
using BeWo.Data.Access;
|
|
using BeWo.Service.ServiceContracts;
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts.AdminService;
|
|
using BS.Shared.DataContracts.MikePHPContracts;
|
|
using DevExpress.Pdf.Native.BouncyCastle.Ocsp;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.ServiceModel;
|
|
using System.ServiceModel.Web;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BeWo.Service.ServiceImplementations
|
|
{
|
|
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
|
|
public class ApiServiceImp : IApiService
|
|
{
|
|
public ApiResponse<string> Test()
|
|
{
|
|
return ApiResponse<string>.SuccessResponse("Api Service Test erfolgreich!");
|
|
}
|
|
|
|
public ApiResponse<decimal> GetGkvAbrechnungSumme(AdminServiceSumReqDC request)
|
|
{
|
|
if (request == null)
|
|
{
|
|
throw new ArgumentException("request darf nicht null sein");
|
|
}
|
|
|
|
if(!Utils.TryParseISO8601(request.Start, out var start))
|
|
{
|
|
throw new ArgumentException("start entspricht nicht ISO8601 Norm.");
|
|
}
|
|
|
|
if (!Utils.TryParseISO8601(request.End, out var end))
|
|
{
|
|
throw new ArgumentException("end entspricht nicht ISO8601 Norm.");
|
|
}
|
|
|
|
var sum = DAOFactory.ScriptDAO.GetGkvSumByDateRange(start, end);
|
|
|
|
return ApiResponse<decimal>.SuccessResponse(sum ?? 0);
|
|
}
|
|
|
|
public ApiResponse<byte[]> DownloadReport()
|
|
{
|
|
string filename = "xrechnung.pdf";
|
|
|
|
string filePath = Path.Combine(@"C:\Users\ownSoft\Desktop\XRechnung\", filename);
|
|
if (!File.Exists(filePath))
|
|
throw new FileNotFoundException("Datei nicht gefunden");
|
|
|
|
// Setze die Header
|
|
WebOperationContext.Current.OutgoingResponse.ContentType = "application/pdf";
|
|
WebOperationContext.Current.OutgoingResponse.Headers.Add(
|
|
"Content-Disposition", $"attachment; filename=\"{filename}\"");
|
|
|
|
var data = File.ReadAllBytes(filePath);
|
|
|
|
return ApiResponse<byte[]>.SuccessResponse(data);
|
|
}
|
|
|
|
public ApiResponse<byte[]> DownloadReport2() => DownloadReport();
|
|
}
|
|
}
|