temp
This commit is contained in:
@@ -4,6 +4,7 @@ using BS.Shared.DataContracts.Invoicing.XRechnung;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net.Http;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
@@ -11,20 +12,49 @@ namespace BeWo.Service.ServiceUtils.XRechnung
|
|||||||
{
|
{
|
||||||
public static class XRechnungSender
|
public static class XRechnungSender
|
||||||
{
|
{
|
||||||
public static string Send(string url, XRechnungRequest req)
|
private static readonly string XRECHNUNG_SERVER_URL = "https://test2.evplaner.de/xrg/create";
|
||||||
|
|
||||||
|
public static string Send(XRechnungRequest request)
|
||||||
{
|
{
|
||||||
var data = req.ToData();
|
var dict = request.ToDict();
|
||||||
|
|
||||||
var response = Send(url, data);
|
var response = GetResponse(dict);
|
||||||
|
|
||||||
return response;
|
if (response is null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
var test_str = Encoding.UTF8.GetString(response);
|
||||||
|
|
||||||
|
return test_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Send(string url, string data)
|
private static byte[] GetResponse(IEnumerable<KeyValuePair<string, string>> kvp)
|
||||||
{
|
{
|
||||||
var response = OwnSoftSender.SendFormUrlEncoded(url, data);
|
HttpResponseMessage response;
|
||||||
|
using (var httpClient = new HttpClient())
|
||||||
|
{
|
||||||
|
using (var content = new FormUrlEncodedContent(kvp))
|
||||||
|
{
|
||||||
|
content.Headers.Clear();
|
||||||
|
content.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
|
||||||
return response;
|
var task = Task.Run(() => httpClient.PostAsync(XRECHNUNG_SERVER_URL, content));
|
||||||
|
task.Wait();
|
||||||
|
response = task.Result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response is null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
if (!response.IsSuccessStatusCode)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
var task2 = Task.Run(() => response.Content.ReadAsByteArrayAsync());
|
||||||
|
|
||||||
|
task2.Wait();
|
||||||
|
|
||||||
|
return task2.Result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,20 +10,6 @@ namespace BS.Shared.AppSender
|
|||||||
{
|
{
|
||||||
public static class OwnSoftSender
|
public static class OwnSoftSender
|
||||||
{
|
{
|
||||||
public static string SendFormUrlEncoded(string url, string dataString)
|
|
||||||
{
|
|
||||||
string response;
|
|
||||||
|
|
||||||
using (WebClient client = new WebClient())
|
|
||||||
{
|
|
||||||
client.Encoding = Encoding.UTF8;
|
|
||||||
|
|
||||||
client.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
|
|
||||||
|
|
||||||
response = client.UploadString(url, "POST", dataString);
|
|
||||||
}
|
|
||||||
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,16 @@ namespace BS.Shared.DataContracts.Invoicing.XRechnung
|
|||||||
|
|
||||||
public string Url { get; set; }
|
public string Url { get; set; }
|
||||||
|
|
||||||
public string ToData()
|
public Dictionary<string, string> ToDict()
|
||||||
{
|
{
|
||||||
var json = $"json={XRechnung}";
|
var dict = new Dictionary<string, string>();
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(Url))
|
dict.Add("json", XRechnung);
|
||||||
return json;
|
|
||||||
|
|
||||||
return json + $"&pdf={Url}";
|
if (!string.IsNullOrEmpty(Url))
|
||||||
|
dict.Add("pdf", Url);
|
||||||
|
|
||||||
|
return dict;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,37 +23,33 @@ namespace XRechnungUnitTest
|
|||||||
var txt = JsonConvert.SerializeObject(xr);
|
var txt = JsonConvert.SerializeObject(xr);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
//[TestMethod]
|
||||||
public void SendTest()
|
//public void SendTest()
|
||||||
{
|
//{
|
||||||
var url = "https://test2.evplaner.de/xrg/create";
|
// var json = File.ReadAllText("invoicetest.json", System.Text.Encoding.UTF8);
|
||||||
|
|
||||||
var json = File.ReadAllText("invoicetest.json", System.Text.Encoding.UTF8);
|
// var xr = JsonConvert.DeserializeObject<XRechnung>(json);
|
||||||
|
|
||||||
var xr = JsonConvert.DeserializeObject<XRechnung>(json);
|
// var xrr = JsonConvert.SerializeObject(xr);
|
||||||
|
|
||||||
var xrr = JsonConvert.SerializeObject(xr);
|
// //var req = new XRechnungRequest();
|
||||||
|
|
||||||
//var req = new XRechnungRequest();
|
// //req.Json = xr;
|
||||||
|
|
||||||
//req.Json = xr;
|
// //var txt = JsonConvert.SerializeObject(req);
|
||||||
|
|
||||||
//var txt = JsonConvert.SerializeObject(req);
|
// //xrr = xrr.Replace("ä", "ae").Replace("ö", "oe").Replace("ü", "ue").Replace("ß", "ss");
|
||||||
|
|
||||||
//xrr = xrr.Replace("ä", "ae").Replace("ö", "oe").Replace("ü", "ue").Replace("ß", "ss");
|
// var txt = $"json={xrr}";
|
||||||
|
|
||||||
var txt = $"json={xrr}";
|
// var response = XRechnungSender.Send();
|
||||||
|
|
||||||
var response = OwnSoftSender.SendFormUrlEncoded(url, txt);
|
// Assert.IsTrue(!string.IsNullOrWhiteSpace(response) && !response.ToLower().Contains("error"));
|
||||||
|
//}
|
||||||
Assert.IsTrue(!string.IsNullOrWhiteSpace(response) && !response.ToLower().Contains("error"));
|
|
||||||
}
|
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SendTestAsRequest()
|
public void SendTestAsRequest()
|
||||||
{
|
{
|
||||||
var url = "https://test2.evplaner.de/xrg/create";
|
|
||||||
|
|
||||||
var json = File.ReadAllText("invoicetest.json", System.Text.Encoding.UTF8);
|
var json = File.ReadAllText("invoicetest.json", System.Text.Encoding.UTF8);
|
||||||
|
|
||||||
var xr = JsonConvert.DeserializeObject<XRechnung>(json);
|
var xr = JsonConvert.DeserializeObject<XRechnung>(json);
|
||||||
@@ -63,7 +59,7 @@ namespace XRechnungUnitTest
|
|||||||
|
|
||||||
req.XRechnung = xrr;
|
req.XRechnung = xrr;
|
||||||
|
|
||||||
var response = XRechnungSender.Send(url, req);
|
var response = XRechnungSender.Send(req);
|
||||||
|
|
||||||
Assert.IsTrue(!string.IsNullOrWhiteSpace(response) && !response.ToLower().Contains("error"));
|
Assert.IsTrue(!string.IsNullOrWhiteSpace(response) && !response.ToLower().Contains("error"));
|
||||||
}
|
}
|
||||||
@@ -71,8 +67,6 @@ namespace XRechnungUnitTest
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SendTestWithUrl()
|
public void SendTestWithUrl()
|
||||||
{
|
{
|
||||||
var url = "https://test2.evplaner.de/xrg/create";
|
|
||||||
|
|
||||||
var json = File.ReadAllText("invoicetest.json", System.Text.Encoding.UTF8);
|
var json = File.ReadAllText("invoicetest.json", System.Text.Encoding.UTF8);
|
||||||
|
|
||||||
var xr = JsonConvert.DeserializeObject<XRechnung>(json);
|
var xr = JsonConvert.DeserializeObject<XRechnung>(json);
|
||||||
@@ -83,7 +77,7 @@ namespace XRechnungUnitTest
|
|||||||
req.XRechnung = xrr;
|
req.XRechnung = xrr;
|
||||||
req.Url = Uri.EscapeDataString("https://app5.bewoplaner.de/service/DownloadFile.aspx?key=jhkf4589141324h6543958");
|
req.Url = Uri.EscapeDataString("https://app5.bewoplaner.de/service/DownloadFile.aspx?key=jhkf4589141324h6543958");
|
||||||
|
|
||||||
var response = XRechnungSender.Send(url, req);
|
var response = XRechnungSender.Send(req);
|
||||||
|
|
||||||
Assert.IsTrue(!string.IsNullOrWhiteSpace(response) && !response.ToLower().Contains("error"));
|
Assert.IsTrue(!string.IsNullOrWhiteSpace(response) && !response.ToLower().Contains("error"));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user