Code cleanup

This commit is contained in:
2023-07-12 20:57:48 +02:00
parent 632f5ab236
commit 9c6716bc9d
10 changed files with 622 additions and 470 deletions

View File

@@ -0,0 +1,106 @@
// See https://aka.ms/new-console-template for more information
using ConsoleApp3.DataContracts;
/*
*
* referalPage: /de/OnePiece
username: Skywalkerex
userPassword: Magnatpower310!!
/de/OnePiece/PostGetAction/User_Login
curbpJUJmtup1t.Tq0awbHIhIRwhzMW7vrsWxLAJu.pI9X4r
*/
namespace CardmarketBot
{
class InvoiceParser
{
Dictionary<Helper.Porto, decimal> PortoPreis = new Dictionary<Helper.Porto, decimal>()
{
{Helper.Porto.BRIEF085, 1.15m },
{Helper.Porto.BRIEF100, 1.30m },
{Helper.Porto.BRIEF160, 2.10m },
{Helper.Porto.BRIEF275, 3.25m },
{Helper.Porto.PRIO210, 2.60m },
{Helper.Porto.PRIO270, 3.20m }
};
private static string DateTimeConverter(string input)
{
//2023-06-20T11:30:00"
//2023-02-22T00:00:00.000+01:0
string datum = input.Substring(0, 10);
string uhrzeit = input.Substring(10, input.Length - 10);
input = string.Format("{0} {1}", datum, uhrzeit);
DateTime converted = Convert.ToDateTime(input);
var format = "yyyy-MM-ddTHH:mm:ssK";
string res = converted.ToString(format);
return string.Format("{0}.000+01:00", res);
}
List<Kunde> kunden;
public InvoiceParser(List<Kunde> kunden)
{
this.kunden = kunden;
}
public List<Invoice> GetInvoices()
{
List<Invoice> result = new List<Invoice>();
foreach (Kunde kunde in kunden)
{
Invoice invoice = new Invoice();
invoice.Language = "de";
invoice.VoucherDate = DateTimeConverter(kunde.Bezahldatum); // "2023-02-22T00:00:00.000+01:00"; //
invoice.Address = new InvoiceAddress()
{
Name = kunde.Name,
Street = kunde.Strasse + " " + kunde.Hausnummer,
City = kunde.Ort,
Zip = kunde.Plz,
CountryCode = "DE"
};
invoice.LineItems = new List<InvoiceLineItem>();
foreach (var artikel in kunde.Artikels)
{
invoice.LineItems.Add(new InvoiceLineItem()
{
Type = "custom",
Name = artikel.ENGName + "(" + artikel.Source + ")",
Quantity = artikel.Amount,
UnitName = "Stück",
UnitPrice = new InvoiceLineUnitPrice()
{
Currency = "EUR",
GrossAmount = Convert.ToDecimal(artikel.Preis),
TaxRatePercentage = 19
}
});
}
invoice.LineItems.Add(new InvoiceLineItem()
{
Type = "custom",
Name = "Versandkosten",
Quantity = 1,
UnitName = "Stück",
UnitPrice = new InvoiceLineUnitPrice()
{
Currency = "EUR",
GrossAmount = PortoPreis[kunde.Versandskosten],
TaxRatePercentage = 19
}
});
invoice.TotalPrice = new TotalPrice() { Currency = "EUR" };
invoice.TaxConditions = new TaxConditions() { TaxType = "gross" };
invoice.ShippingConditions = new ShippingConditions()
{
shippingDate = "2023-04-22T00:00:00.000+02:00",
shippingType = "delivery"
};
result.Add(invoice);
}
return result;
}
}
}