Skip to content

Commit 021b972

Browse files
authored
Evgeniy d/terminal user id error (#61)
* add get terminal user id error to marketing * fix json Serializer #60
1 parent 708144b commit 021b972

File tree

4 files changed

+57
-15
lines changed

4 files changed

+57
-15
lines changed

PrinterApp/Marketing.cs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,26 @@ private static void Post(string action, string status, string pathFrom,
2828
string pathTo)
2929
{
3030
var body = new MarketingBody(action: action,
31-
additional_data:
32-
$"{{\"status\": \"{status}\",\"app_version\": \"{AssemblyVersion}\",\"terminal_user_id\": \"{TerminalUserId}\"}}",
31+
additional_data: new MarketingBody.AdditionalData(status, AssemblyVersion,
32+
TerminalUserId),
3333
path_from: pathFrom, path_to: pathTo);
3434
SharedClient.PostAsJsonAsync("action", body);
3535
}
3636

3737
private static void Post(string action, string status)
3838
{
3939
var body = new MarketingBody(action: action,
40-
additional_data:
41-
$"{{\"status\": \"{status}\",\"app_version\": \"{AssemblyVersion}\",\"terminal_user_id\": \"{TerminalUserId}\"}}");
40+
additional_data: new MarketingBody.AdditionalData(status, AssemblyVersion,
41+
TerminalUserId));
4242
SharedClient.PostAsJsonAsync("action", body);
4343
}
4444

4545
private static void Post(string action, string status, float availableMem,
4646
float currentMem)
4747
{
4848
var body = new MarketingBody(action: action,
49-
additional_data:
50-
$"{{\"status\": \"{status}\",\"available_mem\": \"{availableMem}\",\"current_mem\": \"{currentMem}\",\"app_version\": \"{AssemblyVersion}\",\"terminal_user_id\": \"{TerminalUserId}\"}}");
49+
additional_data: new MarketingBody.AdditionalData(status, availableMem, currentMem,
50+
AssemblyVersion, TerminalUserId));
5151
SharedClient.PostAsJsonAsync("action", body);
5252
}
5353

@@ -213,4 +213,11 @@ public static void HwndSourceError()
213213
action: "print terminal failed to get window HwndSource",
214214
status: "error");
215215
}
216+
217+
public static void TerminalUserIdError()
218+
{
219+
Post(
220+
action: "print terminal failed to get user id",
221+
status: "error");
222+
}
216223
}

PrinterApp/MarketingBody.cs

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,50 @@
1+
using Newtonsoft.Json;
2+
13
namespace PrinterApp;
24

35
public class MarketingBody
46
{
5-
public MarketingBody(string action, string additional_data, string path_from,
6-
string path_to)
7+
public class AdditionalData
78
{
8-
this.action = action;
9-
this.additional_data = additional_data;
10-
this.path_from = path_from;
11-
this.path_to = path_to;
9+
public AdditionalData(string status, string app_version, string terminal_user_id)
10+
{
11+
this.status = status;
12+
this.app_version = app_version;
13+
this.terminal_user_id = terminal_user_id;
14+
}
15+
16+
public AdditionalData(string status, float available_mem, float current_mem,
17+
string app_version, string terminal_user_id) : this(status, app_version,
18+
terminal_user_id)
19+
{
20+
this.available_mem = available_mem;
21+
this.current_mem = current_mem;
22+
}
23+
24+
public string? status { get; }
25+
public string? app_version { get; }
26+
public string? terminal_user_id { get; }
27+
public float? available_mem { get; }
28+
public float? current_mem { get; }
1229
}
1330

14-
public MarketingBody(string action, string additional_data)
31+
public MarketingBody(string action, AdditionalData additional_data)
1532
{
1633
this.action = action;
17-
this.additional_data = additional_data;
34+
JsonSerializerSettings jsonSerializerSettings = new()
35+
{
36+
NullValueHandling = NullValueHandling.Ignore,
37+
StringEscapeHandling = StringEscapeHandling.Default
38+
};
39+
this.additional_data =
40+
JsonConvert.SerializeObject(additional_data, jsonSerializerSettings);
41+
}
42+
43+
public MarketingBody(string action, AdditionalData additional_data, string path_from,
44+
string path_to) : this(action, additional_data)
45+
{
46+
this.path_from = path_from;
47+
this.path_to = path_to;
1848
}
1949

2050
public int user_id { get; set; } = -1;

PrinterApp/PrinterApp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<Title>PrinterApp</Title>
1212
<Description>gui for work https://app.profcomff.com/print/docs</Description>
1313
<Authors>Dyakov EI</Authors>
14-
<Version>2.1.9.0</Version>
14+
<Version>2.1.9.1</Version>
1515
<Company>dyakov.space</Company>
1616
<Copyright>dyakov.space @ 2023</Copyright>
1717
</PropertyGroup>

PrinterApp/PrinterModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
using QRCoder;
1616
using QRCoder.Xaml;
1717
using System.Collections.Generic;
18+
using System.Windows.Documents;
1819

1920
namespace PrinterApp;
2021

@@ -87,6 +88,10 @@ public PrinterModel(ConfigFile configFile, AutoUpdater autoUpdater)
8788
catch (Exception e)
8889
{
8990
Log.Error($"{GetType().Name} {MethodBase.GetCurrentMethod()?.Name}: {e}");
91+
Marketing.TerminalUserIdError();
92+
MessageBox.Show(
93+
"Терминал не смог получить id. Сообщите ответственному лицу. Перезапустите программу.",
94+
"Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
9095
throw;
9196
}
9297

0 commit comments

Comments
 (0)