Skip to content

Commit 0871905

Browse files
author
Mikhail Kalatchev
committed
Refunds. v0.3.0 released
1 parent fc4dfbd commit 0871905

4 files changed

Lines changed: 39 additions & 5 deletions

File tree

ErpNetClient/Client.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,23 @@ public async Task<DeviceStatusWithReceiptInfo> PrintFiscalReceiptAsync(Receipt r
4141
}
4242
}
4343

44+
/// <summary>
45+
/// Register refund
46+
/// </summary>
47+
/// <param name="receipt">Receipt</param>
48+
/// <returns>Receipt status</returns>
49+
public async Task<DeviceStatusWithReceiptInfo> PrintRefundReceiptAsync(ReversalReceipt receipt)
50+
{
51+
using (var clt = new HttpClient())
52+
{
53+
StringContent cont = new StringContent(JsonSerializer.Serialize<ReversalReceipt>(receipt, serializeOptions), Encoding.UTF8, "application/json");
54+
clt.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
55+
HttpResponseMessage res = await clt.PostAsync(new Uri($"{BaseUrl}printers/{this.DeviceId}/reversalreceipt"), cont);
56+
string resStr = await res.Content.ReadAsStringAsync();
57+
return JsonSerializer.Deserialize<DeviceStatusWithReceiptInfo>(resStr, serializeOptions);
58+
}
59+
}
60+
4461
private async Task<DeviceStatusWithDateTime> PrintReportAsync(bool closeDay)
4562
{
4663
using (var clt = new HttpClient())

ErpNetClient/ErpNetClient.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@
1212
<PackageIcon>erp-net-fs-client.png</PackageIcon>
1313
<PackageReadmeFile>erp-net-fp-client-nuget-readme.md</PackageReadmeFile>
1414
<RepositoryType>git</RepositoryType>
15-
<PackageTags>Fiscal server;Datecs;Tremol;Daisy;Eltrade;Incotex;IS;SKYWARE GroupL</PackageTags>
16-
<AssemblyVersion>0.2.0.0</AssemblyVersion>
15+
<PackageTags>Fiscal server;Datecs;Tremol;Daisy;Eltrade;Incotex;ISL;SKYWARE Group;ErpNet.FS</PackageTags>
1716
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1817
<RepositoryUrl>https://github.com/SKYWARE-Group/ErpNetClient</RepositoryUrl>
19-
<Version>0.2.0</Version>
18+
<Version>0.3.0</Version>
2019
</PropertyGroup>
2120

2221
<ItemGroup>

ErpNetClient/Model/ReversalReceipt.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public enum ReversalReason
2525
}
2626

2727
/// <summary>
28-
/// Represents one Receipt, which can be printed on a fiscal printer.
28+
/// Represents refund receipt, which can be printed on a fiscal printer.
2929
/// </summary>
3030
public class ReversalReceipt : Receipt
3131
{

TestApp/Program.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,28 @@ static async Task Main(string[] args)
3131
new Payment() { Amount = 0.01m, PaymentType = PaymentType.Cash }
3232
}
3333
};
34-
var c = new Client() { DeviceId = "dt577460" };
34+
var c = new Client() { DeviceId = "dt937256" };
3535
var x = await c.PrintFiscalReceiptAsync(r);
3636
Console.WriteLine($"OK: {x.Ok}, Receipt number: {x.ReceiptNumber}");
3737

38+
var rfnd = new ReversalReceipt()
39+
{
40+
Operator = "1",
41+
OperatorPassword = "1",
42+
FiscalMemorySerialNumber = x.FiscalMemorySerialNumber,
43+
ReceiptDateTime = x.ReceiptDateTime,
44+
Reason = ReversalReason.Refund,
45+
ReceiptNumber = x.ReceiptNumber,
46+
Items = new Item[] {
47+
new Item() { Text = "LIS iLab", Amount = 1, UnitPrice = 0.01m, Quantity = 1, TaxGroup = TaxGroup.TaxGroup1}
48+
},
49+
Payments = new Payment[] {
50+
new Payment() { Amount = 0.01m, PaymentType = PaymentType.Cash }
51+
}
52+
};
53+
var y = await c.PrintRefundReceiptAsync(rfnd);
54+
Console.WriteLine($"OK: {y.Ok}, Receipt number: {y.ReceiptNumber}");
55+
3856
//var c = new Client() { DeviceId = "abc" };
3957
//var x = await c.PrintXReport();
4058
//Console.WriteLine($"OK: {x.Ok}");

0 commit comments

Comments
 (0)