test run works
This commit is contained in:
@@ -33,6 +33,13 @@ public class KitchenReceiptConverter
|
||||
string tableLine = $"Tisch: {kitchenReceipt.TableNumber}";
|
||||
commands.Add(new PrintCommand(Center(tableLine, true), true, true));
|
||||
|
||||
if (!string.IsNullOrEmpty(kitchenReceipt.SpecialInstruction))
|
||||
{
|
||||
commands.Add(new PrintCommand(""));
|
||||
commands.Add(new PrintCommand(Center(kitchenReceipt.SpecialInstruction, true), true,true));
|
||||
commands.Add(new PrintCommand(""));
|
||||
}
|
||||
|
||||
commands.Add(new PrintCommand(CreateDashedLine()));
|
||||
|
||||
|
||||
@@ -46,8 +53,7 @@ public class KitchenReceiptConverter
|
||||
commands.Add(new PrintCommand(Center($"{gang.Id}. {gang.Name}", false)) { IsRed = true });
|
||||
foreach (var dish in gang.Dishes)
|
||||
{
|
||||
string dishLine = $"{dish.Number}x {dish.Name}";
|
||||
commands.Add(new PrintCommand(dishLine));
|
||||
PrintDish(dish, commands);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,15 +64,17 @@ public class KitchenReceiptConverter
|
||||
|
||||
foreach (var dish in kitchenReceipt.Dishes)
|
||||
{
|
||||
string dishLine = $"{dish.Number}x {dish.Name}";
|
||||
commands.Add(new PrintCommand(dishLine));
|
||||
PrintDish(dish, commands);
|
||||
}
|
||||
|
||||
if (kitchenReceipt.Dishes != null && kitchenReceipt.Dishes.Any())
|
||||
{
|
||||
commands.Add(new PrintCommand(""));
|
||||
commands.Add(new PrintCommand(CreateDashedLine()));
|
||||
commands.Add(new PrintCommand(""));
|
||||
}
|
||||
|
||||
|
||||
commands.Add(new PrintCommand(""));
|
||||
commands.Add(new PrintCommand(CreateDashedLine()));
|
||||
commands.Add(new PrintCommand(""));
|
||||
|
||||
//// Additional info section
|
||||
//if (kitchenReceipt.AdditionalInfo != null && kitchenReceipt.AdditionalInfo.Count > 0)
|
||||
//{
|
||||
@@ -85,6 +93,33 @@ public class KitchenReceiptConverter
|
||||
return commands;
|
||||
}
|
||||
|
||||
private static void PrintDish(Dish dish, List<PrintCommand> commands)
|
||||
{
|
||||
string dishLine = $"{dish.Number}x {dish.Name}";
|
||||
commands.Add(new PrintCommand(dishLine));
|
||||
// Modifications
|
||||
if (dish.Modifications != null && (dish.Modifications.Removed.Any() || dish.Modifications.Added.Any()))
|
||||
{
|
||||
foreach (var removed in dish.Modifications.Removed)
|
||||
{
|
||||
commands.Add(new PrintCommand($" - {removed}", isBold:true));
|
||||
}
|
||||
|
||||
foreach (var added in dish.Modifications.Added)
|
||||
{
|
||||
commands.Add(new PrintCommand($" + {added}", isBold: true));
|
||||
}
|
||||
}
|
||||
|
||||
// SpecialInstruction
|
||||
if (!string.IsNullOrEmpty(dish.Comment))
|
||||
{
|
||||
commands.Add(new PrintCommand($" Comment: {dish.Comment}", isBold: true));
|
||||
}
|
||||
|
||||
//commands.Add(new PrintCommand($""));
|
||||
}
|
||||
|
||||
private string Center(string text, bool isBigFont)
|
||||
{
|
||||
var actualLineWidth = isBigFont ? _BigLineWidth : _lineWidth;
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Inspectron.Epson.PrintServer.Printers.Utils.KitchenReceipt;
|
||||
|
||||
public class KitchenReceiptConverterAdapter : IReceiptConverter
|
||||
{
|
||||
private readonly int _lineWidth;
|
||||
private readonly int _bigFontLineWidth;
|
||||
|
||||
public KitchenReceiptConverterAdapter(int lineWidth, int bigFontLineWidth)
|
||||
{
|
||||
_lineWidth = lineWidth;
|
||||
_bigFontLineWidth = bigFontLineWidth;
|
||||
}
|
||||
|
||||
public List<PrintCommand> Convert(string jsonContent)
|
||||
{
|
||||
var receipt = JsonSerializer.Deserialize<KitchenReceipt>(jsonContent);
|
||||
var converter = new KitchenReceiptConverter(_lineWidth, _bigFontLineWidth);
|
||||
return converter.ConvertToPrintCommands(receipt);
|
||||
}
|
||||
}
|
||||
@@ -33,8 +33,9 @@
|
||||
/// <summary>
|
||||
/// Table number
|
||||
/// </summary>
|
||||
public int TableNumber { get; set; }
|
||||
public string TableNumber { get; set; }
|
||||
|
||||
public string SpecialInstruction { get; set; }
|
||||
|
||||
public List<Gang> Gangs { get; set; } = new List<Gang>();
|
||||
|
||||
@@ -77,12 +78,22 @@
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
public Dish(){}
|
||||
|
||||
public Dish(int number, string name)
|
||||
{
|
||||
Number = number;
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public DishModifications Modifications { get; set; } = new DishModifications();
|
||||
public string? Comment { get; set; }
|
||||
}
|
||||
|
||||
public class DishModifications
|
||||
{
|
||||
public List<string> Removed { get; set; } = new List<string>();
|
||||
public List<string> Added { get; set; } = new List<string>();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user