temp 2
This commit is contained in:
@@ -2104,14 +2104,14 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungViewFilterDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungSendRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungSendResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKRequest))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8Request))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKResponse))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8Response))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.MemoryStream))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.Stream))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.DateTime>))]
|
||||
@@ -6342,14 +6342,14 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvTransferProtokollDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungDC>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungViewFilterDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungSendRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungSendResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKRequest))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8Request))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKResponse))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8Response))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvRequestDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnung.GkvResponseDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.MemoryStream))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.Stream))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.DateTime>))]
|
||||
@@ -9720,7 +9720,7 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/CreateNewGkvAbrechnung", ReplyAction="http://tempuri.org/IAccountingService/CreateNewGkvAbrechnungResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/CreateNewGkvAbrechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungResponseDC CreateNewGkvAbrechnung(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungRequestDC request);
|
||||
BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateRequestDC request);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/UpdateGkvAbrechnung", ReplyAction="http://tempuri.org/IAccountingService/UpdateGkvAbrechnungResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/UpdateGkvAbrechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
@@ -9736,7 +9736,7 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/SendApp8GetIKRequest", ReplyAction="http://tempuri.org/IAccountingService/SendApp8GetIKRequestResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/SendApp8GetIKRequestBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKResponse SendApp8GetIKRequest(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKRequest req);
|
||||
BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKResponseDC SendApp8GetIKRequest(BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKRequestDC req);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -9948,7 +9948,7 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.GetFilteredGkvAbrechnungen(gkvAbrechnungViewFilter);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungResponseDC CreateNewGkvAbrechnung(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungRequestDC request)
|
||||
public BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(BS.Shared.DataContracts.GkvAbrechnung.GkvAbrechnungCreateRequestDC request)
|
||||
{
|
||||
return base.Channel.CreateNewGkvAbrechnung(request);
|
||||
}
|
||||
@@ -9968,7 +9968,7 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.SendNewGkvAbrechnung(req);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKResponse SendApp8GetIKRequest(BS.Shared.DataContracts.GkvAbrechnung.GkvApp8GetIKRequest req)
|
||||
public BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKResponseDC SendApp8GetIKRequest(BS.Shared.DataContracts.GkvAbrechnung.GkvServerGetIKRequestDC req)
|
||||
{
|
||||
return base.Channel.SendApp8GetIKRequest(req);
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ namespace BeWo.View.Detail.Accounting
|
||||
MainControl.CloseCurrentPopUp();
|
||||
|
||||
var gkv_abrechnung = e.Data;
|
||||
var gkv_filter = new GkvAbrechnungRequestDC(gkv_abrechnung);
|
||||
var gkv_filter = new GkvAbrechnungCreateRequestDC(gkv_abrechnung);
|
||||
|
||||
gkv_filter.SelectedInvoiceBases = checked_invoice_bases.Select(x => x.DataContract.InvoiceBaseOid.Value).ToList();
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@ namespace BeWo.View.Detail
|
||||
|
||||
private void IKNumber_Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var req = new GkvApp8GetIKRequest();
|
||||
var req = new GkvServerGetIKRequestDC();
|
||||
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
@@ -322,7 +322,7 @@ namespace BeWo.View.Detail
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendApp8GetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
}
|
||||
|
||||
private void IKRequestCallback(GkvApp8GetIKRequest req, GkvApp8GetIKResponse response)
|
||||
private void IKRequestCallback(GkvServerGetIKRequestDC req, GkvServerGetIKResponseDC response)
|
||||
{
|
||||
if(response is null || !response.Success)
|
||||
{
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<Compile Include="Models\Auftragsdatei\AuftragssatzPart4.cs" />
|
||||
<Compile Include="Models\DakotaEnums.cs" />
|
||||
<Compile Include="DakotaExtensions.cs" />
|
||||
<Compile Include="Models\DakotaException.cs" />
|
||||
<Compile Include="Models\DakotaFile.cs" />
|
||||
<Compile Include="Models\Auftragsdatei\AuftragssatzPart1.cs" />
|
||||
<Compile Include="Models\Blocke\Block.cs" />
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace DakotaUnitTest
|
||||
[TestMethod]
|
||||
public void ValidateXmlParse()
|
||||
{
|
||||
var convert = GkvApp8ResultXml.GetResultXml("fehler_example.xml");
|
||||
var convert = GkvServerResultXml.GetResultXml("fehler_example.xml");
|
||||
|
||||
Assert.IsNotNull(convert);
|
||||
}
|
||||
|
||||
1
Host/GkvAbrechnungClient.aspx
Normal file
1
Host/GkvAbrechnungClient.aspx
Normal file
@@ -0,0 +1 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GkvAbrechnungClient.aspx.cs" Inherits="Host.GkvAbrechnungClient" %>
|
||||
100
Host/GkvAbrechnungClient.aspx.cs
Normal file
100
Host/GkvAbrechnungClient.aspx.cs
Normal file
@@ -0,0 +1,100 @@
|
||||
using BS.Shared;
|
||||
using BS.Shared.AppSender;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Exceptions;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace Host
|
||||
{
|
||||
public partial class GkvAbrechnungClient : Page
|
||||
{
|
||||
private readonly string INVALID_INPUT = "Ungültige Eingabe";
|
||||
|
||||
public GkvRequestDC GkvRequest { get; set; }
|
||||
|
||||
public void Sleep() => Thread.Sleep(5000);
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
//https://app8.bewoplaner.de/Host/GkvAbrechungServer?tenant=12345
|
||||
|
||||
var str = new StreamReader(Request.InputStream).ReadToEnd();
|
||||
|
||||
GkvRequest = GkvSender.DeserializeRequest<GkvRequestDC>(str, SendInvalidInputResponse);
|
||||
|
||||
switch (GkvRequest.Type)
|
||||
{
|
||||
case RequestType.GkvClientResult:
|
||||
ClientResult(GkvSender.DeserializeRequest<GkvClientResultRequestDC>(str, SendInvalidInputResponse));
|
||||
return;
|
||||
default:
|
||||
SendErrorResponse("RequestType unbekannt.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException eee)
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var ex_text = ex.Message + "\n" + ex.StackTrace;
|
||||
SendErrorResponse(ex_text);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void ClientResult(GkvClientResultRequestDC req)
|
||||
{
|
||||
// Response
|
||||
var response = new GkvResponseDC(false, "default");
|
||||
|
||||
try
|
||||
{
|
||||
response.Success = true;
|
||||
}
|
||||
catch (GkvException e)
|
||||
{
|
||||
response.Message = e.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
response.Message = e.Message;
|
||||
}
|
||||
|
||||
SendResponse(response);
|
||||
}
|
||||
|
||||
#region Senden
|
||||
|
||||
private void SendInvalidInputResponse() => SendErrorResponse(INVALID_INPUT);
|
||||
private void SendErrorResponse(string message)
|
||||
{
|
||||
var response = new GkvResponseDC(false, message);
|
||||
|
||||
Sleep();
|
||||
|
||||
SendResponse(GkvSender.SerializeResponse(response));
|
||||
}
|
||||
private void SendResponse(GkvResponseDC res) => SendResponse(GkvSender.SerializeResponse(res));
|
||||
private void SendResponse(string str)
|
||||
{
|
||||
Response.Write(str);
|
||||
|
||||
Response.End();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Host
|
||||
{
|
||||
|
||||
|
||||
public partial class GkvAbrechnungView
|
||||
{
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Host
|
||||
{
|
||||
|
||||
|
||||
public partial class GkvAbrechnungClient
|
||||
{
|
||||
}
|
||||
}
|
||||
1
Host/GkvAbrechnungServer.aspx
Normal file
1
Host/GkvAbrechnungServer.aspx
Normal file
@@ -0,0 +1 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GkvAbrechnungServer.aspx.cs" Inherits="Host.GkvAbrechnungServer"%>
|
||||
@@ -1,391 +1,369 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
using BeWo.Data;
|
||||
using BeWo.Report;
|
||||
using BeWo.Service.Security;
|
||||
|
||||
using DevExpress.XtraPrinting;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
using Page = System.Web.UI.Page;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using System.Net;
|
||||
using System.Collections.Specialized;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Data.Entities;
|
||||
using BS.Shared.Extensions;
|
||||
using System.Threading;
|
||||
using System.Configuration;
|
||||
using Dakota.Models;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using System.Diagnostics;
|
||||
using System.Xml.Serialization;
|
||||
using Dakota.Logic;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Host
|
||||
{
|
||||
public partial class GkvAbrechnungView : Page
|
||||
{
|
||||
public const int PROCESS_WAITFOREXIT_MS = 10 * 1000;
|
||||
|
||||
private string GETSERVER_URL = "https://support.bewoplaner.de/api/getserver.php?k={0}&t=0";
|
||||
private string LOGINSERVER_URL = "{0}/Login.aspx";
|
||||
|
||||
private string ResultFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath");
|
||||
private string QueueFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungQueueFolderPath");
|
||||
private string KostentragerdateiFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvKostentragerdateiFolderPath");
|
||||
|
||||
public GkvApp8Request GkvRequest { get; set; }
|
||||
|
||||
public void Sleep() => Thread.Sleep(5000);
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
//https://app8.bewoplaner.de/Host/GkvAbrechungview?tenant=12345
|
||||
|
||||
var str = new StreamReader(Request.InputStream).ReadToEnd();
|
||||
|
||||
if (string.IsNullOrEmpty(str))
|
||||
SendErrorResponse("Ungültige Eingabe");
|
||||
|
||||
GkvRequest = JsonConvert.DeserializeObject<GkvApp8Request>(str);
|
||||
|
||||
if (!CheckValues())
|
||||
SendErrorResponse("Check Fehlgeschlagen");
|
||||
|
||||
if (!TryLogin())
|
||||
SendErrorResponse("Login Fehlgeschlagen");
|
||||
|
||||
switch (GkvRequest.Type)
|
||||
{
|
||||
case GkvAbrechnungApp8RequestTypeDC.SendNew:
|
||||
SendNew(JsonConvert.DeserializeObject<GkvApp8SendNewRequest>(str));
|
||||
return;
|
||||
case GkvAbrechnungApp8RequestTypeDC.GetStatus:
|
||||
GetStatus(JsonConvert.DeserializeObject<GkvApp8GetStatusRequest>(str));
|
||||
return;
|
||||
case GkvAbrechnungApp8RequestTypeDC.GetIKNumber:
|
||||
GetIK(JsonConvert.DeserializeObject<GkvApp8GetIKRequest>(str));
|
||||
return;
|
||||
default:
|
||||
SendErrorResponse("GkvAbrechnungType unbekannt.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException eee)
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var ex_text = ex.Message + "\n" + ex.StackTrace;
|
||||
SendErrorResponse(ex_text);
|
||||
}
|
||||
}
|
||||
|
||||
private void SendErrorResponse(string message)
|
||||
{
|
||||
var response = new GkvApp8Response();
|
||||
|
||||
response.Success = false;
|
||||
response.Message = message;
|
||||
|
||||
Sleep();
|
||||
|
||||
SendResponse(JsonConvert.SerializeObject(response));
|
||||
}
|
||||
private void SendResponse(object res) => SendResponse(JsonConvert.SerializeObject(res));
|
||||
private void SendResponse(string str)
|
||||
{
|
||||
Response.Write(str);
|
||||
|
||||
Response.End();
|
||||
//Context.ApplicationInstance.CompleteRequest();
|
||||
}
|
||||
|
||||
private bool CheckValues() => CheckValues(GkvRequest);
|
||||
private bool CheckValues(GkvApp8Request request)
|
||||
{
|
||||
if (request == null)
|
||||
return false;
|
||||
if (request.Type == GkvAbrechnungApp8RequestTypeDC.Default)
|
||||
return false;
|
||||
if (string.IsNullOrWhiteSpace(request.Username))
|
||||
return false;
|
||||
if (string.IsNullOrWhiteSpace(request.Tenant))
|
||||
return false;
|
||||
|
||||
#if !DEBUG
|
||||
if (string.IsNullOrWhiteSpace(request.Password))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool TryLogin() => TryLogin(GkvRequest);
|
||||
private bool TryLogin(GkvApp8Request gkv_request)
|
||||
{
|
||||
var server = GetServerFromTenant(gkv_request.Tenant);
|
||||
|
||||
if (string.IsNullOrEmpty(server))
|
||||
return false;
|
||||
|
||||
var loginurl = string.Format(LOGINSERVER_URL, $"https://{server}/service");
|
||||
|
||||
#if DEBUG
|
||||
if(server.IndexOf("localhost") > 0)
|
||||
loginurl = string.Format(LOGINSERVER_URL, $"http://{server}/Host");
|
||||
#endif
|
||||
|
||||
bool successful;
|
||||
byte[] result;
|
||||
string result_str;
|
||||
|
||||
try
|
||||
{
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
var nvc = new NameValueCollection();
|
||||
nvc.Add("password", gkv_request.Password);
|
||||
nvc.Add("username", gkv_request.Username);
|
||||
nvc.Add("tenant", gkv_request.Tenant);
|
||||
|
||||
result = client.UploadValues(loginurl, "POST", nvc);
|
||||
result_str = Encoding.Default.GetString(result);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new DakotaException($"loginurl: {loginurl} | " + e.ToString());
|
||||
}
|
||||
|
||||
successful = Convert.ToBoolean(result_str);
|
||||
|
||||
return successful;
|
||||
}
|
||||
|
||||
private void SendNew(GkvApp8SendNewRequest req)
|
||||
{
|
||||
// Response
|
||||
var response = new GkvApp8SendNewResponse(false);
|
||||
|
||||
var protokoll = req.GkvTransferProtokoll;
|
||||
|
||||
try
|
||||
{
|
||||
var finalpath = SaveFileInFileSystem(req);
|
||||
|
||||
req.GkvTransferProtokoll.SentApp8Success = true;
|
||||
|
||||
response.Success = true;
|
||||
}
|
||||
catch (DakotaException e)
|
||||
{
|
||||
protokoll.ResultType = GkvTransferResultType.Soft;
|
||||
protokoll.Fehlerdatum = DateTime.Now;
|
||||
protokoll.Fehlertitel = "App8";
|
||||
protokoll.Fehlernachricht = e.Message;
|
||||
|
||||
response.Message = e.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
protokoll.ResultType = GkvTransferResultType.Soft;
|
||||
protokoll.Fehlerdatum = DateTime.Now;
|
||||
protokoll.Fehlertitel = "App8";
|
||||
protokoll.Fehlernachricht = e.Message;
|
||||
|
||||
response.Message = e.Message;
|
||||
}
|
||||
|
||||
response.GkvTransferProtokollDC = protokoll;
|
||||
|
||||
SendResponse(response);
|
||||
}
|
||||
private void GetStatus(GkvApp8GetStatusRequest req)
|
||||
{
|
||||
var response = new GkvApp8GetStatusResponse(false);
|
||||
|
||||
var tuple_count = req.Oids.Length;
|
||||
|
||||
response.Result = new GkvApp8ResultDC[tuple_count];
|
||||
|
||||
try
|
||||
{
|
||||
// Load XML Info
|
||||
var results = GetResultFile(GkvRequest.Tenant);
|
||||
|
||||
if (results is object)
|
||||
for (int i = 0; i < tuple_count; i++)
|
||||
{
|
||||
var gkv_transfer_oid = req.Oids[i];
|
||||
|
||||
if (results.TryGetValue(gkv_transfer_oid, out var fehlerDC))
|
||||
{
|
||||
response.Result[i] = fehlerDC;
|
||||
}
|
||||
}
|
||||
|
||||
ClearResultFolder(GkvRequest.Tenant, req.Oids);
|
||||
|
||||
response.Success = true;
|
||||
}
|
||||
catch (DakotaException e)
|
||||
{
|
||||
response.Message = e.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
response.Message = e.ToString();
|
||||
}
|
||||
|
||||
SendResponse(response);
|
||||
|
||||
return;
|
||||
}
|
||||
private void GetIK(GkvApp8GetIKRequest req)
|
||||
{
|
||||
var ktd_reader = new DakotaKTDReader(KostentragerdateiFolderPath);
|
||||
|
||||
var resolved = ktd_reader.Resolve(req.IKKrankenkasse, req.Abrechnungscode, req.Tarifkennzeichen);
|
||||
|
||||
var response = new GkvApp8GetIKResponse();
|
||||
|
||||
response.Success = true;
|
||||
response.Gefunden = resolved is object;
|
||||
|
||||
if (response.Gefunden)
|
||||
{
|
||||
response.IKDatenannahmestelle = resolved.Item1;
|
||||
response.IKKostentrager = resolved.Item2;
|
||||
response.IKKrankenkasse = resolved.Item3;
|
||||
response.BezDatenannahmestelle = resolved.Item4;
|
||||
}
|
||||
|
||||
SendResponse(response);
|
||||
}
|
||||
|
||||
private string SaveFileInFileSystem(GkvApp8SendNewRequest req)
|
||||
=> SaveFileInFileSystem(req.GkvTransferProtokoll.GkvTransferProtokollOid.Value, GkvRequest.Tenant, req.GkvTransferProtokoll.IKDatenannahmestelle, req.GkvTransferProtokoll.Transfername,
|
||||
req.GkvTransferProtokoll.Nutzdatendatei, req.GkvTransferProtokoll.Auftragsdatei);
|
||||
private string SaveFileInFileSystem(long protokoll_oid, string tenant, string datenannahmestelle, string transfername, string nutzdaten, string auftragsdatei)
|
||||
{
|
||||
string root_path = QueueFolderPath;
|
||||
string file_path = $@"{tenant}_{protokoll_oid}_{datenannahmestelle}_{transfername}";
|
||||
|
||||
Directory.CreateDirectory(root_path);
|
||||
|
||||
var finalpath = root_path + file_path;
|
||||
|
||||
return SaveFileInFileSystem(finalpath, nutzdaten, auftragsdatei);
|
||||
}
|
||||
private string SaveFileInFileSystem(string finalpath, string nutzdaten, string auftragsdatei)
|
||||
{
|
||||
File.WriteAllText(finalpath, nutzdaten);
|
||||
|
||||
var auftragsdatei2 = Encoding.GetEncoding("ISO-8859-1").GetBytes(auftragsdatei);
|
||||
|
||||
File.WriteAllBytes(finalpath + ".auf", auftragsdatei2);
|
||||
|
||||
return finalpath;
|
||||
}
|
||||
|
||||
private string GetServerFromTenant(string tenant)
|
||||
{
|
||||
#if DEBUG
|
||||
// return "localhost:3777";
|
||||
#endif
|
||||
try
|
||||
{
|
||||
String url = String.Format(GETSERVER_URL, tenant);
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
//MessageBox.Show(hostAddress);
|
||||
byte[] response = client.UploadValues(url, "POST", new NameValueCollection());
|
||||
|
||||
String server = System.Text.Encoding.ASCII.GetString(response);
|
||||
|
||||
return server;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void ClearResultFolder(string tenant, long[] oids)
|
||||
{
|
||||
var folder = new DirectoryInfo(Path.Combine(ResultFolderPath, tenant));
|
||||
|
||||
if (!folder.Exists)
|
||||
return;
|
||||
|
||||
foreach (var file in folder.GetFiles())
|
||||
{
|
||||
var xml_obj = GkvApp8ResultXml.GetResultXml(file.FullName);
|
||||
|
||||
if (xml_obj is GkvApp8ResultXml xml && oids.Contains(xml.Oid))
|
||||
continue;
|
||||
|
||||
file.Delete();
|
||||
}
|
||||
}
|
||||
private Dictionary<long, GkvApp8ResultDC> GetResultFile(string tenant)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = ResultFolderPath;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(path))
|
||||
throw new DakotaException("Config GkvAbrechnungResultFolderPath is empty or whitespace");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(tenant))
|
||||
throw new DakotaException("Tenant is empty or whitespace");
|
||||
|
||||
var folder = new DirectoryInfo(Path.Combine(path, tenant));
|
||||
|
||||
if (!folder.Exists)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var dict = new Dictionary<long, GkvApp8ResultDC>();
|
||||
foreach (var file in folder.GetFiles("*.xml"))
|
||||
{
|
||||
var xml = GkvApp8ResultXml.GetResultXml(file.FullName);
|
||||
|
||||
if (xml is null)
|
||||
continue;
|
||||
|
||||
dict.Add(xml.Oid, GkvApp8ResultXml.ToDC(xml));
|
||||
}
|
||||
return dict;
|
||||
}
|
||||
catch (DakotaException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new DakotaException("App8 Server Error: " + e.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
using BS.Shared;
|
||||
using BS.Shared.AppSender;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Exceptions;
|
||||
using Dakota.Logic;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Page = System.Web.UI.Page;
|
||||
|
||||
namespace Host
|
||||
{
|
||||
public partial class GkvAbrechnungServer : Page
|
||||
{
|
||||
public const int PROCESS_WAITFOREXIT_MS = 10 * 1000;
|
||||
|
||||
private readonly string GETSERVER_URL = "https://support.bewoplaner.de/api/getserver.php?k={0}&t=0";
|
||||
private readonly string LOGINSERVER_URL = "{0}/Login.aspx";
|
||||
private readonly string INVALID_INPUT = "Ungültige Eingabe";
|
||||
|
||||
|
||||
private string ResultFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath");
|
||||
private string QueueFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungQueueFolderPath");
|
||||
private string KostentragerdateiFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvKostentragerdateiFolderPath");
|
||||
|
||||
public GkvRequestDC GkvRequest { get; set; }
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
//https://app8.bewoplaner.de/Host/GkvAbrechungServer?tenant=12345
|
||||
|
||||
var str = new StreamReader(Request.InputStream).ReadToEnd();
|
||||
|
||||
GkvRequest = GkvSender.DeserializeRequest<GkvRequestDC>(str, SendInvalidInputResponse);
|
||||
|
||||
if (!CheckValues(GkvRequest))
|
||||
SendErrorResponse("Check Fehlgeschlagen");
|
||||
|
||||
if (!TryLogin(GkvRequest))
|
||||
SendErrorResponse("Login Fehlgeschlagen");
|
||||
|
||||
switch (GkvRequest.Type)
|
||||
{
|
||||
case RequestType.GkvServerSendNew:
|
||||
SendNew(GkvSender.DeserializeRequest<GkvServerSendNewRequestDC>(str, SendInvalidInputResponse));
|
||||
return;
|
||||
|
||||
case RequestType.GkvServerGetIKNumber:
|
||||
GetIK(GkvSender.DeserializeRequest<GkvServerGetIKRequestDC>(str, SendInvalidInputResponse));
|
||||
return;
|
||||
|
||||
case RequestType.GkvServerGetStatus:
|
||||
GetStatus(JsonConvert.DeserializeObject<GkvServerGetStatusRequestDC>(str));
|
||||
return;
|
||||
|
||||
default:
|
||||
SendErrorResponse("RequestType unbekannt.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException eee)
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var ex_text = ex.Message + "\n" + ex.StackTrace;
|
||||
SendErrorResponse(ex_text);
|
||||
}
|
||||
}
|
||||
|
||||
private bool CheckValues(GkvRequestDC req)
|
||||
{
|
||||
if (req == null)
|
||||
return false;
|
||||
if (req.Type == RequestType.Default)
|
||||
return false;
|
||||
if (string.IsNullOrWhiteSpace(req.Username))
|
||||
return false;
|
||||
if (string.IsNullOrWhiteSpace(req.Tenant))
|
||||
return false;
|
||||
|
||||
#if !DEBUG
|
||||
if (string.IsNullOrWhiteSpace(request.Password))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
private bool TryLogin(GkvRequestDC req)
|
||||
{
|
||||
var server = GetServerFromTenant(req.Tenant);
|
||||
|
||||
if (string.IsNullOrEmpty(server))
|
||||
return false;
|
||||
|
||||
var loginurl = string.Format(LOGINSERVER_URL, $"https://{server}/service");
|
||||
|
||||
#if DEBUG
|
||||
if (server.IndexOf("localhost") > 0)
|
||||
loginurl = string.Format(LOGINSERVER_URL, $"http://{server}/Host");
|
||||
#endif
|
||||
|
||||
bool successful;
|
||||
byte[] result;
|
||||
string result_str;
|
||||
|
||||
try
|
||||
{
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
var nvc = new NameValueCollection();
|
||||
nvc.Add("password", req.Password);
|
||||
nvc.Add("username", req.Username);
|
||||
nvc.Add("tenant", req.Tenant);
|
||||
|
||||
result = client.UploadValues(loginurl, "POST", nvc);
|
||||
result_str = Encoding.Default.GetString(result);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GkvException($"loginurl: {loginurl} | " + e.ToString());
|
||||
}
|
||||
|
||||
successful = Convert.ToBoolean(result_str);
|
||||
|
||||
return successful;
|
||||
}
|
||||
|
||||
private void SendNew(GkvServerSendNewRequestDC req)
|
||||
{
|
||||
// Response
|
||||
var response = new GkvServerSendNewResponseDC(false);
|
||||
|
||||
var protokoll = req.GkvTransferProtokoll;
|
||||
|
||||
try
|
||||
{
|
||||
var finalpath = SaveFileInFileSystem(req);
|
||||
|
||||
req.GkvTransferProtokoll.SentApp8Success = true;
|
||||
|
||||
response.Success = true;
|
||||
}
|
||||
catch (GkvException e)
|
||||
{
|
||||
protokoll.ResultType = GkvTransferResultType.Soft;
|
||||
protokoll.Fehlerdatum = DateTime.Now;
|
||||
protokoll.Fehlertitel = "App8";
|
||||
protokoll.Fehlernachricht = e.Message;
|
||||
|
||||
response.Message = e.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
protokoll.ResultType = GkvTransferResultType.Soft;
|
||||
protokoll.Fehlerdatum = DateTime.Now;
|
||||
protokoll.Fehlertitel = "App8";
|
||||
protokoll.Fehlernachricht = e.Message;
|
||||
|
||||
response.Message = e.Message;
|
||||
}
|
||||
|
||||
response.GkvTransferProtokollDC = protokoll;
|
||||
|
||||
SendResponse(response);
|
||||
}
|
||||
private void GetIK(GkvServerGetIKRequestDC req)
|
||||
{
|
||||
var ktd_reader = new DakotaKTDReader(KostentragerdateiFolderPath);
|
||||
|
||||
var resolved = ktd_reader.Resolve(req.IKKrankenkasse, req.Abrechnungscode, req.Tarifkennzeichen);
|
||||
|
||||
var response = new GkvServerGetIKResponseDC();
|
||||
|
||||
response.Success = true;
|
||||
response.Gefunden = resolved is object;
|
||||
|
||||
if (response.Gefunden)
|
||||
{
|
||||
response.IKDatenannahmestelle = resolved.Item1;
|
||||
response.IKKostentrager = resolved.Item2;
|
||||
response.IKKrankenkasse = resolved.Item3;
|
||||
response.BezDatenannahmestelle = resolved.Item4;
|
||||
}
|
||||
|
||||
SendResponse(response);
|
||||
}
|
||||
private void GetStatus(GkvServerGetStatusRequestDC req)
|
||||
{
|
||||
var response = new GkvServerGetStatusResponseDC(false);
|
||||
|
||||
var tuple_count = req.Oids.Length;
|
||||
|
||||
response.Result = new GkvApp8ResultDC[tuple_count];
|
||||
|
||||
try
|
||||
{
|
||||
// Load XML Info
|
||||
var results = GetResultFile(GkvRequest.Tenant);
|
||||
|
||||
if (results is object)
|
||||
for (int i = 0; i < tuple_count; i++)
|
||||
{
|
||||
var gkv_transfer_oid = req.Oids[i];
|
||||
|
||||
if (results.TryGetValue(gkv_transfer_oid, out var fehlerDC))
|
||||
{
|
||||
response.Result[i] = fehlerDC;
|
||||
}
|
||||
}
|
||||
|
||||
ClearResultFolder(GkvRequest.Tenant, req.Oids);
|
||||
|
||||
response.Success = true;
|
||||
}
|
||||
catch (DakotaException e)
|
||||
{
|
||||
response.Message = e.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
response.Message = e.ToString();
|
||||
}
|
||||
|
||||
SendResponse(response);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
private string SaveFileInFileSystem(GkvServerSendNewRequestDC req)
|
||||
=> SaveFileInFileSystem(req.GkvTransferProtokoll.GkvTransferProtokollOid.Value, GkvRequest.Tenant, req.GkvTransferProtokoll.IKDatenannahmestelle, req.GkvTransferProtokoll.Transfername,
|
||||
req.GkvTransferProtokoll.Nutzdatendatei, req.GkvTransferProtokoll.Auftragsdatei);
|
||||
private string SaveFileInFileSystem(long protokoll_oid, string tenant, string datenannahmestelle, string transfername, string nutzdaten, string auftragsdatei)
|
||||
{
|
||||
string root_path = QueueFolderPath;
|
||||
string file_path = $@"{tenant}_{protokoll_oid}_{datenannahmestelle}_{transfername}";
|
||||
|
||||
Directory.CreateDirectory(root_path);
|
||||
|
||||
var finalpath = root_path + file_path;
|
||||
|
||||
return SaveFileInFileSystem(finalpath, nutzdaten, auftragsdatei);
|
||||
}
|
||||
private string SaveFileInFileSystem(string finalpath, string nutzdaten, string auftragsdatei)
|
||||
{
|
||||
File.WriteAllText(finalpath, nutzdaten);
|
||||
|
||||
var auftragsdatei2 = Encoding.GetEncoding("ISO-8859-1").GetBytes(auftragsdatei);
|
||||
|
||||
File.WriteAllBytes(finalpath + ".auf", auftragsdatei2);
|
||||
|
||||
return finalpath;
|
||||
}
|
||||
|
||||
private string GetServerFromTenant(string tenant)
|
||||
{
|
||||
#if DEBUG
|
||||
// return "localhost:3777";
|
||||
#endif
|
||||
try
|
||||
{
|
||||
String url = String.Format(GETSERVER_URL, tenant);
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
//MessageBox.Show(hostAddress);
|
||||
byte[] response = client.UploadValues(url, "POST", new NameValueCollection());
|
||||
|
||||
String server = System.Text.Encoding.ASCII.GetString(response);
|
||||
|
||||
return server;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void ClearResultFolder(string tenant, long[] oids)
|
||||
{
|
||||
var folder = new DirectoryInfo(Path.Combine(ResultFolderPath, tenant));
|
||||
|
||||
if (!folder.Exists)
|
||||
return;
|
||||
|
||||
foreach (var file in folder.GetFiles())
|
||||
{
|
||||
var xml_obj = GkvServerResultXml.GetResultXml(file.FullName);
|
||||
|
||||
if (xml_obj is GkvServerResultXml xml && oids.Contains(xml.Oid))
|
||||
continue;
|
||||
|
||||
file.Delete();
|
||||
}
|
||||
}
|
||||
private Dictionary<long, GkvServerResultDC> GetResultFile(string tenant)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = ResultFolderPath;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(path))
|
||||
throw new GkvException("Config GkvAbrechnungResultFolderPath is empty or whitespace");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(tenant))
|
||||
throw new GkvException("Tenant is empty or whitespace");
|
||||
|
||||
var folder = new DirectoryInfo(Path.Combine(path, tenant));
|
||||
|
||||
if (!folder.Exists)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var dict = new Dictionary<long, GkvServerResultDC>();
|
||||
foreach (var file in folder.GetFiles("*.xml"))
|
||||
{
|
||||
var xml = GkvServerResultXml.GetResultXml(file.FullName);
|
||||
|
||||
if (xml is null)
|
||||
continue;
|
||||
|
||||
dict.Add(xml.Oid, GkvServerResultXml.ToDC(xml));
|
||||
}
|
||||
return dict;
|
||||
}
|
||||
catch (GkvException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GkvException("App8 Server Error: " + e.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void Sleep() => Thread.Sleep(5000);
|
||||
|
||||
private void SendInvalidInputResponse() => SendErrorResponse(INVALID_INPUT);
|
||||
private void SendErrorResponse(string message)
|
||||
{
|
||||
var response = new GkvResponseDC(false, message);
|
||||
|
||||
Sleep();
|
||||
|
||||
SendResponse(GkvSender.SerializeResponse(response));
|
||||
}
|
||||
private void SendResponse(GkvResponseDC res) => SendResponse(GkvSender.SerializeResponse(res));
|
||||
private void SendResponse(string str)
|
||||
{
|
||||
Response.Write(str);
|
||||
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
Host/GkvAbrechnungServer.aspx.designer.cs
generated
Normal file
17
Host/GkvAbrechnungServer.aspx.designer.cs
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Host
|
||||
{
|
||||
|
||||
|
||||
public partial class GkvAbrechnungServer
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GkvAbrechnungView.aspx.cs" Inherits="Host.GkvAbrechnungView"%>
|
||||
|
||||
<%@ Register assembly="DevExpress.XtraReports.v23.2.Web.WebForms, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.XtraReports.Web" tagprefix="dxxr" %>
|
||||
@@ -200,7 +200,8 @@
|
||||
<Content Include="DocumentDownload.aspx" />
|
||||
<Content Include="Download.aspx" />
|
||||
<Content Include="DownloadService.svc" />
|
||||
<Content Include="GkvAbrechnungView.aspx" />
|
||||
<Content Include="GkvAbrechnungClient.aspx" />
|
||||
<Content Include="GkvAbrechnungServer.aspx" />
|
||||
<Content Include="ReportService.svc" />
|
||||
<Content Include="EmployeeService.svc" />
|
||||
<Content Include="Multitenancy\Symbol Edit.png" />
|
||||
@@ -263,12 +264,19 @@
|
||||
<Compile Include="DX.aspx.designer.cs">
|
||||
<DependentUpon>DX.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GkvAbrechnungView.aspx.cs">
|
||||
<DependentUpon>GkvAbrechnungView.aspx</DependentUpon>
|
||||
<Compile Include="GkvAbrechnungClient.aspx.cs">
|
||||
<DependentUpon>GkvAbrechnungClient.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="GkvAbrechnungView.aspx.designer.cs">
|
||||
<DependentUpon>GkvAbrechnungView.aspx</DependentUpon>
|
||||
<Compile Include="GkvAbrechnungClient.aspx.designer.cs">
|
||||
<DependentUpon>GkvAbrechnungClient.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GkvAbrechnungServer.aspx.cs">
|
||||
<DependentUpon>GkvAbrechnungServer.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="GkvAbrechnungServer.aspx.designer.cs">
|
||||
<DependentUpon>GkvAbrechnungServer.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Login.aspx.cs">
|
||||
<DependentUpon>Login.aspx</DependentUpon>
|
||||
|
||||
@@ -155,7 +155,7 @@ namespace BeWo.Service.ServiceContracts
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
GkvAbrechnungResponseDC CreateNewGkvAbrechnung(GkvAbrechnungRequestDC request);
|
||||
GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
@@ -171,6 +171,6 @@ namespace BeWo.Service.ServiceContracts
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
GkvApp8GetIKResponse SendApp8GetIKRequest(GkvApp8GetIKRequest req);
|
||||
GkvServerGetIKResponseDC SendApp8GetIKRequest(GkvServerGetIKRequestDC req);
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ using System.Collections.Specialized;
|
||||
using Newtonsoft.Json;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Exceptions;
|
||||
|
||||
namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
@@ -802,9 +803,9 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
public GkvAbrechnungResponseDC CreateNewGkvAbrechnung(GkvAbrechnungRequestDC request)
|
||||
public GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request)
|
||||
{
|
||||
var response = new GkvAbrechnungResponseDC();
|
||||
var response = new GkvAbrechnungCreateResponseDC();
|
||||
|
||||
try
|
||||
{
|
||||
@@ -850,7 +851,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
return response;
|
||||
}
|
||||
catch (DakotaException exc)
|
||||
catch (GkvException exc)
|
||||
{
|
||||
response.Error = exc.Message;
|
||||
}
|
||||
@@ -938,7 +939,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
response.Successful = app8_response.Success;
|
||||
}
|
||||
catch (DakotaException de)
|
||||
catch (GkvException de)
|
||||
{
|
||||
protokoll.ResultType = GkvTransferResultType.Soft;
|
||||
protokoll.Fehlerdatum = DateTime.Now;
|
||||
@@ -978,10 +979,10 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var res = SendApp8GetIKRequest(orga);
|
||||
|
||||
if (!res.Success)
|
||||
throw new DakotaException(res.Message, "Interner Fehler");
|
||||
throw new GkvException(res.Message, "Interner Fehler");
|
||||
|
||||
if (!res.Gefunden)
|
||||
throw new DakotaException($"Für die Organisation \"{orga.Name}\" mit dem IK \"{orga.IKKrankenkasse}\" konnte keine Datenannahmestelle gefunden werden. " +
|
||||
throw new GkvException($"Für die Organisation \"{orga.Name}\" mit dem IK \"{orga.IKKrankenkasse}\" konnte keine Datenannahmestelle gefunden werden. " +
|
||||
$"Bitte informieren Sie sich bei der Krankenkasse, ob zum elektronischen Datenaustausch " +
|
||||
$"eine seperate Anmeldung benötigt wird.");
|
||||
|
||||
@@ -990,7 +991,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
orga.BezDatenannahmestelle = res.BezDatenannahmestelle;
|
||||
|
||||
if (!DakotaValidator.IsOrganisationInformationValid(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse, orga.BezDatenannahmestelle))
|
||||
throw new DakotaException($"Für die Organisation \"{orga.Name}\" konnten die hinterlegten IKs nicht verifiziert werden: \"{orga.BezDatenannahmestelle}\", \"{orga.IKDatenannahmestelle}\", \"{orga.IKKostentrager}\", \"{orga.IKKrankenkasse}\"", "Interner Fehler");
|
||||
throw new GkvException($"Für die Organisation \"{orga.Name}\" konnten die hinterlegten IKs nicht verifiziert werden: \"{orga.BezDatenannahmestelle}\", \"{orga.IKDatenannahmestelle}\", \"{orga.IKKostentrager}\", \"{orga.IKKrankenkasse}\"", "Interner Fehler");
|
||||
|
||||
DAOFactory.GenericDAO.Update(orga);
|
||||
|
||||
@@ -1027,7 +1028,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
if (manager.DakotaFileDict.Count != 1 || manager.DakotaFileDict.First().Value.GetKostenträgerCount() != 1)
|
||||
{
|
||||
throw new DakotaException("Unerwartete Anzahl an Dakota Files berechnet.");
|
||||
throw new GkvException("Unerwartete Anzahl an Dakota Files berechnet.");
|
||||
}
|
||||
|
||||
var file_from_manager = manager.DakotaFileDict.First().Value;
|
||||
@@ -1041,7 +1042,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
// that indicates the number of bytes in the value.
|
||||
if (nutzdatendatei.Length > 65535)
|
||||
{
|
||||
throw new DakotaException($"nutzdatendatei - Länger als 65535: {nutzdatendatei.Length}");
|
||||
throw new GkvException($"nutzdatendatei - Länger als 65535: {nutzdatendatei.Length}");
|
||||
}
|
||||
|
||||
protokoll.IKDatenannahmestelle = file_from_manager.GetIKDatenannahmestelle();
|
||||
@@ -1061,7 +1062,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
protokoll.AbsenderBezeichnung = "ownSoft GmbH";
|
||||
protokoll.EmpfangerBezeichnung = orga.BezDatenannahmestelle;
|
||||
}
|
||||
catch (DakotaException de)
|
||||
catch (GkvException de)
|
||||
{
|
||||
if (string.IsNullOrEmpty(de.Title))
|
||||
de.Title = "Protokoll Erstellung";
|
||||
@@ -1070,7 +1071,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new DakotaException(e.Message, "Erstellung");
|
||||
throw new GkvException(e.Message, "Erstellung");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1085,7 +1086,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
transfernummer = DAOFactory.SearchDAO.GetNextTransfernummer(datenannahmestelle);
|
||||
}
|
||||
else if (state == GkvState.Error || state == GkvState.ErrorFatal)
|
||||
else if (state == GkvState.Error || state == GkvState.ErrorFatal || state == GkvState.ErrorFolgefehler)
|
||||
{
|
||||
transfernummer = gkvAbrechnung.GkvTransferProtokolle.Last().Transfernummer;
|
||||
}
|
||||
@@ -1109,19 +1110,19 @@ namespace BeWo.Service.ServiceImplementations
|
||||
return new Tuple<int, int>(d, t);
|
||||
}
|
||||
|
||||
private GkvApp8SendNewResponse SendApp8SendNewRequest(GkvTransferProtokoll protokoll)
|
||||
private GkvServerSendNewResponseDC SendApp8SendNewRequest(GkvTransferProtokoll protokoll)
|
||||
{
|
||||
var gkv_transfer_dc = MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MapToNewDC(protokoll);
|
||||
|
||||
var request_app8 = new GkvApp8SendNewRequest
|
||||
var request_app8 = new GkvServerSendNewRequestDC
|
||||
{
|
||||
GkvTransferProtokoll = gkv_transfer_dc
|
||||
};
|
||||
|
||||
var response_app8 = SendApp8Request<GkvApp8SendNewRequest, GkvApp8SendNewResponse>(request_app8);
|
||||
var response_app8 = SendApp8Request<GkvServerSendNewRequestDC, GkvServerSendNewResponseDC>(request_app8);
|
||||
|
||||
if (!response_app8.Success)
|
||||
throw new DakotaException(response_app8.Message);
|
||||
throw new GkvException(response_app8.Message);
|
||||
|
||||
return response_app8;
|
||||
}
|
||||
@@ -1136,11 +1137,10 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
var updateables_len = updateables.Count();
|
||||
|
||||
var request = new GkvApp8GetStatusRequest
|
||||
var request = new GkvServerGetStatusRequestDC
|
||||
{
|
||||
Tenant = MultitenancyOperationContextExt.Current.Tenant,
|
||||
Oids = new long[updateables_len],
|
||||
DebugMode = "fozc4897b6ztvf978AFCRRG244fvFV2532fvf324AF",
|
||||
Oids = new long[updateables_len]
|
||||
};
|
||||
|
||||
for (int id = 0; id < updateables_len; id++)
|
||||
@@ -1151,10 +1151,10 @@ namespace BeWo.Service.ServiceImplementations
|
||||
request.Oids[id] = gkv_transfer.GkvTransferProtokollOid.Value;
|
||||
}
|
||||
|
||||
GkvApp8GetStatusResponse response_app8;
|
||||
GkvServerGetStatusResponseDC response_app8;
|
||||
try
|
||||
{
|
||||
response_app8 = SendApp8Request<GkvApp8GetStatusRequest, GkvApp8GetStatusResponse>(request);
|
||||
response_app8 = SendApp8Request<GkvServerGetStatusRequestDC, GkvServerGetStatusResponseDC>(request);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -1190,14 +1190,14 @@ namespace BeWo.Service.ServiceImplementations
|
||||
return allAreUpToDate;
|
||||
}
|
||||
|
||||
public GkvApp8GetIKResponse SendApp8GetIKRequest(GkvApp8GetIKRequest req)
|
||||
public GkvServerGetIKResponseDC SendApp8GetIKRequest(GkvServerGetIKRequestDC req)
|
||||
{
|
||||
try
|
||||
{
|
||||
req.Abrechnungscode = DakotaUtils.GetAbrechnungscode(req.Leistungserbringergruppe);
|
||||
req.Tarifkennzeichen = DakotaUtils.GetTarifkennzeichen(req.Leistungserbringergruppe);
|
||||
|
||||
return SendApp8Request<GkvApp8GetIKRequest, GkvApp8GetIKResponse>(req);
|
||||
return SendApp8Request<GkvServerGetIKRequestDC, GkvServerGetIKResponseDC>(req);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -1205,23 +1205,23 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
private GkvApp8GetIKResponse SendApp8GetIKRequest(Organisation orga)
|
||||
private GkvServerGetIKResponseDC SendApp8GetIKRequest(Organisation orga)
|
||||
{
|
||||
var gruppe = orga.Leistungserbringergruppe;
|
||||
var abr = DakotaUtils.GetAbrechnungscode(gruppe);
|
||||
var tarif = DakotaUtils.GetTarifkennzeichen(gruppe);
|
||||
|
||||
var request = new GkvApp8GetIKRequest
|
||||
var request = new GkvServerGetIKRequestDC
|
||||
{
|
||||
Abrechnungscode = abr,
|
||||
IKKrankenkasse = orga.IKKrankenkasse,
|
||||
Tarifkennzeichen = tarif
|
||||
};
|
||||
|
||||
return SendApp8Request<GkvApp8GetIKRequest, GkvApp8GetIKResponse>(request);
|
||||
return SendApp8Request<GkvServerGetIKRequestDC, GkvServerGetIKResponseDC>(request);
|
||||
}
|
||||
|
||||
private T2 SendApp8Request<T, T2>(T request) where T : GkvApp8Request where T2 : GkvApp8Response
|
||||
private T2 SendApp8Request<T, T2>(T request) where T : GkvRequestDC where T2 : GkvResponseDC
|
||||
{
|
||||
string url = "https://app8.bewoplaner.de/service/GkvAbrechnungView.aspx";
|
||||
|
||||
@@ -1232,17 +1232,13 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var user = LoggedInUserOperationContextExt.Current?.User ?? SessionFacade.LoggedInUser;
|
||||
if (user == null)
|
||||
{
|
||||
throw new DakotaException("User unbekannt", "KApp");
|
||||
throw new GkvException("User unbekannt", "KApp");
|
||||
}
|
||||
|
||||
request.Username = user.LoginName;
|
||||
request.Password = user.BCryptPassword;
|
||||
request.Tenant = MultitenancyOperationContextExt.Current.Tenant;
|
||||
|
||||
#if DEBUG
|
||||
request.DebugMode = "fozc4897b6ztvf978AFCRRG244fvFV2532fvf324AF";
|
||||
#endif
|
||||
|
||||
return JsonConvert.DeserializeObject<T2>(SendApp8Request(url, JsonConvert.SerializeObject(request)));
|
||||
}
|
||||
private string SendApp8Request(string url, string dataString)
|
||||
@@ -1262,11 +1258,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new DakotaException(e.Message, "App8");
|
||||
throw new GkvException(e.Message, "App8");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(response_app8_str))
|
||||
throw new DakotaException("Leere Antwort", "App8");
|
||||
throw new GkvException("Leere Antwort", "App8");
|
||||
|
||||
return response_app8_str;
|
||||
}
|
||||
|
||||
44
Shared/AppSender/AppRequestSender.cs
Normal file
44
Shared/AppSender/AppRequestSender.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using Newtonsoft.Json;
|
||||
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 AppRequestSender
|
||||
{
|
||||
public static T2 Send<T, T2>(T request, string url, string tenant) where T : AppRequestDC where T2 : AppResponseDC
|
||||
{
|
||||
request.Tenant = tenant;
|
||||
|
||||
var data = JsonConvert.SerializeObject(request);
|
||||
|
||||
var response_app8_str = Send(url, data, tenant);
|
||||
|
||||
if (string.IsNullOrEmpty(response_app8_str))
|
||||
return null;
|
||||
|
||||
return JsonConvert.DeserializeObject<T2>(response_app8_str);
|
||||
}
|
||||
|
||||
private static string Send(string url, string dataString, string tenant)
|
||||
{
|
||||
string response_app8_str;
|
||||
|
||||
url += "?tenant=" + tenant;
|
||||
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
|
||||
|
||||
response_app8_str = client.UploadString(url, "POST", dataString);
|
||||
}
|
||||
|
||||
return response_app8_str;
|
||||
}
|
||||
}
|
||||
}
|
||||
62
Shared/AppSender/GkvSender.cs
Normal file
62
Shared/AppSender/GkvSender.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Exceptions;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace BS.Shared.AppSender
|
||||
{
|
||||
public static class GkvSender
|
||||
{
|
||||
public static string SerializeResponse<Res>(Res response) where Res : AppResponseDC
|
||||
=> JsonConvert.SerializeObject(response);
|
||||
public static Req DeserializeRequest<Req>(string str, Action sendInvalidInputResponse) where Req : AppRequestDC
|
||||
{
|
||||
if (str is null)
|
||||
sendInvalidInputResponse();
|
||||
|
||||
var deserialize = JsonConvert.DeserializeObject<Req>(str);
|
||||
|
||||
if (deserialize is null)
|
||||
sendInvalidInputResponse();
|
||||
|
||||
return JsonConvert.DeserializeObject<Req>(str);
|
||||
}
|
||||
|
||||
public static Res SendApp8Request<Req, Res>(Req request, string username, string password, string tenant) where Req : GkvRequestDC where Res : GkvResponseDC
|
||||
{
|
||||
request.Username = username;
|
||||
request.Password = password;
|
||||
|
||||
return SendApp8Request<Req, Res>(request, tenant);
|
||||
}
|
||||
|
||||
public static Res SendApp8Request<Req, Res>(Req request, string tenant) where Req : GkvRequestDC where Res : GkvResponseDC
|
||||
{
|
||||
string url = "https://app8.bewoplaner.de/service/GkvAbrechnungServer.aspx";
|
||||
|
||||
#if DEBUG
|
||||
url = "http://localhost:3777/Host/GkvAbrechnungServer.aspx";
|
||||
#endif
|
||||
|
||||
Res app8_response;
|
||||
|
||||
try
|
||||
{
|
||||
var data = JsonConvert.SerializeObject(request);
|
||||
|
||||
app8_response = AppRequestSender.Send<Req, Res>(request, url, tenant);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GkvException(e.Message, "App8");
|
||||
}
|
||||
|
||||
if (app8_response is null)
|
||||
throw new GkvException("Leere Antwort", "App8");
|
||||
|
||||
return app8_response;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1260,19 +1260,21 @@ namespace BS.Shared
|
||||
AutomaticallyDeleted = 4
|
||||
}
|
||||
|
||||
public enum GkvAbrechnungApp8RequestTypeDC
|
||||
public enum RequestType
|
||||
{
|
||||
Default,
|
||||
SendNew,
|
||||
GetStatus,
|
||||
GetIKNumber
|
||||
GkvServerSendNew,
|
||||
GkvServerGetIKNumber,
|
||||
GkvServerGetStatus,
|
||||
GkvClientResult
|
||||
}
|
||||
|
||||
public enum GkvTransferResultType
|
||||
{
|
||||
None = 0, // Kein Fehler
|
||||
Success = 0, // Kein Fehler
|
||||
Soft = 1, // Kann erneut senden
|
||||
Fatal = 2 // Kann nicht erneut senden
|
||||
Fatal = 2, // Kann nicht erneut senden
|
||||
Folgefehler = 3, // Muss neu berechnet werden
|
||||
}
|
||||
|
||||
public enum GkvState
|
||||
@@ -1280,6 +1282,7 @@ namespace BS.Shared
|
||||
NoSend,
|
||||
Error,
|
||||
ErrorFatal,
|
||||
ErrorFolgefehler,
|
||||
Paid,
|
||||
WaitingForDakota,
|
||||
WaitingForKrankenkasse,
|
||||
|
||||
25
Shared/DataContracts/AppRequestDC.cs
Normal file
25
Shared/DataContracts/AppRequestDC.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts
|
||||
{
|
||||
/// <summary>
|
||||
/// Kann per RequestSender gesendet werden und als ResponseDC empfangen wird.
|
||||
/// </summary>
|
||||
[DataContract]
|
||||
public abstract class AppRequestDC : IDataContract
|
||||
{
|
||||
[DataMember] public string Tenant { get; set; }
|
||||
[DataMember] public RequestType Type { get; set; }
|
||||
|
||||
public AppRequestDC(RequestType type, string tenant)
|
||||
{
|
||||
Type = type;
|
||||
Tenant = tenant;
|
||||
}
|
||||
}
|
||||
}
|
||||
26
Shared/DataContracts/AppResponseDC.cs
Normal file
26
Shared/DataContracts/AppResponseDC.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts
|
||||
{
|
||||
[DataContract]
|
||||
public abstract class AppResponseDC : IDataContract
|
||||
{
|
||||
[DataMember] public bool Success { get; set; }
|
||||
[DataMember] public string Message { get; set; }
|
||||
|
||||
public AppResponseDC(bool success)
|
||||
{
|
||||
Success = success;
|
||||
}
|
||||
|
||||
public AppResponseDC(bool success, string message) : this(success)
|
||||
{
|
||||
Message = message;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungCreateRequestDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungCreateRequestDC() { }
|
||||
|
||||
[DataMember] public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
[DataMember] public List<long> SelectedInvoiceBases { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungCreateResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvAbrechnungCreateResponseDC(bool success)
|
||||
: base(success) { }
|
||||
|
||||
public GkvAbrechnungCreateResponseDC(bool success, string message)
|
||||
: base(success, message) { }
|
||||
|
||||
[DataMember] public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,8 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[DataContract]
|
||||
public class GkvAbrechnungDC : IDataContract, IGkvAbrechnung
|
||||
{
|
||||
public GkvAbrechnungDC() { }
|
||||
|
||||
[DataMember] public long? GkvAbrechnungOid { get; set; }
|
||||
[DataMember] public long? GkvAbrechnungVersion { get; set; }
|
||||
[DataMember] public string Notice { get; set; }
|
||||
@@ -26,6 +28,6 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[DataMember] public bool IsReady2Send { get; set; }
|
||||
[DataMember] public string SendTooltip { get; set; }
|
||||
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => TransferProtokolle?.Last();
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => TransferProtokolle?.LastOrDefault();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungGetIKRequestDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungGetIKRequestDC() { }
|
||||
|
||||
[DataMember] public string IKKrankenkasse { get; set; }
|
||||
[DataMember] public string Leistungserbringergruppe { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungGetIKResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvAbrechnungGetIKResponseDC(bool success) : base(success) { }
|
||||
public GkvAbrechnungGetIKResponseDC(bool success, string message) : base(success, message) { }
|
||||
|
||||
[DataMember] public bool Gefunden { get; set; }
|
||||
[DataMember] public string IKKrankenkasse { get; set; }
|
||||
[DataMember] public string IKKostentrager { get; set; }
|
||||
[DataMember] public string IKDatenannahmestelle { get; set; }
|
||||
[DataMember] public string BezDatenannahmestelle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungRequestDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungRequestDC(GkvAbrechnungDC gkvAbrechnungDC) : base()
|
||||
{
|
||||
GkvAbrechnungDC = gkvAbrechnungDC;
|
||||
}
|
||||
public GkvAbrechnungRequestDC()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[DataMember]
|
||||
public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<long> SelectedInvoiceBases { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungResponseDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public bool Success { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Error { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -7,10 +7,11 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungSendRequestDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public long GkvAbrechnungOid { get; set; }
|
||||
}
|
||||
[DataContract]
|
||||
public class GkvAbrechnungSendRequestDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungSendRequestDC() { }
|
||||
|
||||
[DataMember] public long GkvAbrechnungOid { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,19 +7,16 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungSendResponseDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public bool Successful { get; set; }
|
||||
[DataContract]
|
||||
public class GkvAbrechnungSendResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvAbrechnungSendResponseDC(bool success)
|
||||
: base(success) { }
|
||||
|
||||
public GkvAbrechnungSendResponseDC(bool success, string message)
|
||||
: base(success, message) { }
|
||||
|
||||
[DataMember]
|
||||
public string Message { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public GkvTransferProtokollDC TransferProtokoll { get; set; }
|
||||
}
|
||||
[DataMember] public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
|
||||
[DataMember] public GkvTransferProtokollDC TransferProtokoll { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,24 +7,14 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvAbrechnungViewFilterDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungViewFilterDC()
|
||||
{
|
||||
|
||||
}
|
||||
[DataContract]
|
||||
public class GkvAbrechnungViewFilterDC : IDataContract
|
||||
{
|
||||
public GkvAbrechnungViewFilterDC() { }
|
||||
|
||||
[DataMember]
|
||||
public bool FilterTime { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public DateTime? Start { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public DateTime? End { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public bool FilterForInvoiceDate { get; set; }
|
||||
}
|
||||
[DataMember] public bool FilterTime { get; set; }
|
||||
[DataMember] public DateTime? Start { get; set; }
|
||||
[DataMember] public DateTime? End { get; set; }
|
||||
[DataMember] public bool FilterForInvoiceDate { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvApp8GetIKRequest : GkvApp8Request
|
||||
{
|
||||
[DataMember]
|
||||
public string IKKrankenkasse { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Abrechnungscode { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Tarifkennzeichen { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Leistungserbringergruppe { get; set; }
|
||||
|
||||
public GkvApp8GetIKRequest()
|
||||
{
|
||||
Type = GkvAbrechnungApp8RequestTypeDC.GetIKNumber;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvApp8GetIKResponse : GkvApp8Response
|
||||
{
|
||||
[DataMember]
|
||||
public bool Gefunden { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string IKKrankenkasse { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string IKKostentrager { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string IKDatenannahmestelle { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string BezDatenannahmestelle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvApp8GetStatusRequest : GkvApp8Request
|
||||
{
|
||||
[DataMember]
|
||||
public long[] Oids { get; set; }
|
||||
|
||||
public GkvApp8GetStatusRequest()
|
||||
{
|
||||
Type = GkvAbrechnungApp8RequestTypeDC.GetStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvApp8GetStatusResponse : GkvApp8Response
|
||||
{
|
||||
[DataMember]
|
||||
public GkvApp8ResultDC[] Result { get; set; }
|
||||
|
||||
public GkvApp8GetStatusResponse()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public GkvApp8GetStatusResponse(bool success) : base(success)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvApp8Request : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public string Username { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Password { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Tenant { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string DebugMode { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public GkvAbrechnungApp8RequestTypeDC Type { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvApp8Response : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public bool Success { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Message { get; set; }
|
||||
|
||||
public GkvApp8Response()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public GkvApp8Response(bool success) : this()
|
||||
{
|
||||
Success = success;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvApp8SendNewRequest : GkvApp8Request
|
||||
{
|
||||
[DataMember]
|
||||
public GkvTransferProtokollDC GkvTransferProtokoll { get; set; }
|
||||
|
||||
public GkvApp8SendNewRequest()
|
||||
{
|
||||
Type = GkvAbrechnungApp8RequestTypeDC.SendNew;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvApp8SendNewResponse : GkvApp8Response
|
||||
{
|
||||
[DataMember]
|
||||
public GkvTransferProtokollDC GkvTransferProtokollDC { get; set; }
|
||||
|
||||
public GkvApp8SendNewResponse()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public GkvApp8SendNewResponse(bool success) : this()
|
||||
{
|
||||
Success = success;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvClientResultRequestDC : GkvRequestDC
|
||||
{
|
||||
public GkvClientResultRequestDC(string tenant, string username, string password)
|
||||
: base(RequestType.GkvClientResult, tenant, username, password) { }
|
||||
|
||||
[DataMember] public long Protokoll_Fehler_Oid;
|
||||
[DataMember] public IList<long> Protokoll_Folgefehler_Oid;
|
||||
}
|
||||
}
|
||||
22
Shared/DataContracts/GkvAbrechnung/GkvRequestDC.cs
Normal file
22
Shared/DataContracts/GkvAbrechnung/GkvRequestDC.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvRequestDC : AppRequestDC
|
||||
{
|
||||
public GkvRequestDC(RequestType type, string tenant, string username, string password) : base(type, tenant)
|
||||
{
|
||||
Username = username;
|
||||
Password = password;
|
||||
}
|
||||
|
||||
[DataMember] public string Username { get; set; }
|
||||
[DataMember] public string Password { get; set; }
|
||||
}
|
||||
}
|
||||
16
Shared/DataContracts/GkvAbrechnung/GkvResponseDC.cs
Normal file
16
Shared/DataContracts/GkvAbrechnung/GkvResponseDC.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvResponseDC : AppResponseDC
|
||||
{
|
||||
public GkvResponseDC(bool success) : base(success) { }
|
||||
public GkvResponseDC(bool success, string message) : base(success, message) { }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerGetIKRequestDC : GkvRequestDC
|
||||
{
|
||||
public GkvServerGetIKRequestDC(string tenant, string username, string password)
|
||||
: base(RequestType.GkvServerGetIKNumber, tenant, username, password) { }
|
||||
|
||||
[DataMember] public string IKKrankenkasse { get; set; }
|
||||
[DataMember] public string Abrechnungscode { get; set; }
|
||||
[DataMember] public string Tarifkennzeichen { get; set; }
|
||||
[DataMember] public string Leistungserbringergruppe { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerGetIKResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvServerGetIKResponseDC(bool success) : base(success) { }
|
||||
public GkvServerGetIKResponseDC(bool success, string message) : base(success, message) { }
|
||||
|
||||
[DataMember] public bool Gefunden { get; set; }
|
||||
[DataMember] public string IKKrankenkasse { get; set; }
|
||||
[DataMember] public string IKKostentrager { get; set; }
|
||||
[DataMember] public string IKDatenannahmestelle { get; set; }
|
||||
[DataMember] public string BezDatenannahmestelle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerGetStatusRequestDC : GkvRequestDC
|
||||
{
|
||||
public GkvServerGetStatusRequestDC(string tenant, string username, string password)
|
||||
: base(RequestType.GkvServerGetStatus, tenant, username, password) { }
|
||||
|
||||
[DataMember] public long[] Oids { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerGetStatusResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvServerGetStatusResponseDC(bool success) : base(success) { }
|
||||
public GkvServerGetStatusResponseDC(bool success, string message) : base(success, message) { }
|
||||
|
||||
[DataMember] public GkvServerResultDC[] ResultDC { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ using System.Xml.Linq;
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[DataContract]
|
||||
public class GkvApp8ResultDC
|
||||
public class GkvServerResultDC
|
||||
{
|
||||
[DataMember] public long Oid { get; set; }
|
||||
[DataMember] public string Titel { get; set; }
|
||||
@@ -11,7 +11,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
[Serializable()]
|
||||
[XmlRoot("Result")]
|
||||
public class GkvApp8ResultXml
|
||||
public class GkvServerResultXml
|
||||
{
|
||||
[XmlAttribute("Oid")]
|
||||
public long Oid { get; set; }
|
||||
@@ -28,15 +28,31 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[XmlElement("Level")]
|
||||
public int Level { get; set; }
|
||||
|
||||
public static GkvApp8ResultXml Parse(XElement element)
|
||||
public static GkvServerResultXml Parse(XElement element)
|
||||
{
|
||||
var serializer = new XmlSerializer(typeof(GkvApp8ResultXml));
|
||||
return (GkvApp8ResultXml)serializer.Deserialize(element.CreateReader());
|
||||
var serializer = new XmlSerializer(typeof(GkvServerResultXml));
|
||||
return (GkvServerResultXml)serializer.Deserialize(element.CreateReader());
|
||||
}
|
||||
|
||||
public static GkvApp8ResultDC ToDC(GkvApp8ResultXml fehler)
|
||||
public static GkvServerResultXml GetResultXml(string file_path)
|
||||
{
|
||||
var dc = new GkvApp8ResultDC();
|
||||
try
|
||||
{
|
||||
using (var stream = File.OpenRead(file_path))
|
||||
{
|
||||
var serializer = new XmlSerializer(typeof(GkvServerResultXml));
|
||||
return serializer.Deserialize(stream) as GkvServerResultXml;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static GkvServerResultDC ToDC(GkvServerResultXml fehler)
|
||||
{
|
||||
var dc = new GkvServerResultDC();
|
||||
|
||||
dc.Oid = fehler.Oid;
|
||||
dc.Titel = fehler.Titel;
|
||||
@@ -46,21 +62,5 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
|
||||
return dc;
|
||||
}
|
||||
|
||||
public static GkvApp8ResultXml GetResultXml(string file_path)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var stream = File.OpenRead(file_path))
|
||||
{
|
||||
var serializer = new XmlSerializer(typeof(GkvApp8ResultXml));
|
||||
return serializer.Deserialize(stream) as GkvApp8ResultXml;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerSendNewRequestDC : GkvRequestDC
|
||||
{
|
||||
public GkvServerSendNewRequestDC(string tenant, string username, string password)
|
||||
: base(RequestType.GkvServerSendNew, tenant, username, password) { }
|
||||
|
||||
[DataMember] public GkvTransferProtokollDC GkvTransferProtokoll { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerSendNewResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvServerSendNewResponseDC(bool success)
|
||||
: base(success) { }
|
||||
|
||||
public GkvServerSendNewResponseDC(bool success, string message)
|
||||
: base(success, message) { }
|
||||
|
||||
[DataMember] public GkvTransferProtokollDC GkvTransferProtokollDC { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,28 +1,27 @@
|
||||
using Dakota.Models.Daten;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Dakota.Models
|
||||
namespace BS.Shared.Exceptions
|
||||
{
|
||||
public class DakotaException : ArgumentException
|
||||
public class GkvException : ArgumentException
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public override string Message { get; }
|
||||
|
||||
public DakotaException(string message, string title) : this(message)
|
||||
public GkvException(string message, string title) : this(message)
|
||||
{
|
||||
Title = title;
|
||||
}
|
||||
|
||||
public DakotaException(string message) : this()
|
||||
public GkvException(string message) : this()
|
||||
{
|
||||
Message = message;
|
||||
}
|
||||
|
||||
public DakotaException()
|
||||
public GkvException()
|
||||
{
|
||||
|
||||
}
|
||||
@@ -131,6 +131,7 @@
|
||||
<Reference Include="System.Xaml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AppSender\GkvSender.cs" />
|
||||
<Compile Include="BeWoEntityEnums.cs" />
|
||||
<Compile Include="Core\ComplexWohnheimbuchungsRelationHelper.cs" />
|
||||
<Compile Include="Core\AbstractIDSpecificDefaultClass.cs" />
|
||||
@@ -150,6 +151,7 @@
|
||||
<Compile Include="Core\QbFilterItem.cs" />
|
||||
<Compile Include="Core\RecurrenceInformation.cs" />
|
||||
<Compile Include="Core\ReportUtils.cs" />
|
||||
<Compile Include="AppSender\AppRequestSender.cs" />
|
||||
<Compile Include="Core\SchedulerAppointmentRecurrenceInfoObject.cs" />
|
||||
<Compile Include="Core\SchedulerUtils.cs" />
|
||||
<Compile Include="Core\SettingsKeys.cs" />
|
||||
@@ -173,6 +175,13 @@
|
||||
<Compile Include="DataContracts\AdditionalServiceRegionDC.cs" />
|
||||
<Compile Include="DataContracts\AddressRouteDC.cs" />
|
||||
<Compile Include="DataContracts\CustomerVermittlungArbeitDC.cs" />
|
||||
<Compile Include="DataContracts\AppRequestDC.cs" />
|
||||
<Compile Include="DataContracts\AppResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungGetIKRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungGetIKResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerGetStatusRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerGetStatusResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvClientResultRequestDC.cs" />
|
||||
<Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeDC.cs" />
|
||||
<Compile Include="DataContracts\ImageDC.cs" />
|
||||
<Compile Include="DataContracts\Wohnhilfe\CustomerWohnhilfeBereichBundDC.cs" />
|
||||
@@ -200,22 +209,20 @@
|
||||
<Compile Include="DataContracts\DokumentvorlageDC.cs" />
|
||||
<Compile Include="DataContracts\AdditionalServiceNoticeDC.cs" />
|
||||
<Compile Include="DataContracts\GeschenkterUrlaubstagDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8ResultDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8ResultXml.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8SendNewResponse.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerResultDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerResultXml.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerSendNewResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvTransferProtokollDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8GetIKRequest.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8GetIKResponse.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8Request.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8GetStatusResponse.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8Response.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8GetStatusRequest.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvApp8SendNewRequest.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerGetIKRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerGetIKResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvServerSendNewRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungSendResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungSendRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungCreateResponseDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungViewFilterDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungCreateRequestDC.cs" />
|
||||
<Compile Include="DataContracts\GoalRatingDC.cs" />
|
||||
<Compile Include="DataContracts\GkvAbrechnung\GkvAbrechnungDC.cs" />
|
||||
<Compile Include="DataContracts\PlatzhalterDC.cs" />
|
||||
@@ -340,6 +347,7 @@
|
||||
<Compile Include="DataContracts\Reports\AuslastungAnalysisSupportConceptDC.cs" />
|
||||
<Compile Include="DataContracts\ServiceRecordHistoryDC.cs" />
|
||||
<Compile Include="DataContracts\SupportPinDC.cs" />
|
||||
<Compile Include="Exceptions\GkvException.cs" />
|
||||
<Compile Include="Extensions\BoolExtensions.cs" />
|
||||
<Compile Include="Extensions\EnumExtensions.cs" />
|
||||
<Compile Include="Extensions\GkvAbrechnungExtensions.cs" />
|
||||
|
||||
Reference in New Issue
Block a user