Я использую FileHelpers для загрузки в класс из csv, но по какой-то причине он возвращает только одну запись.
public void LoadPumpData(string Filename)
{
var engine = new FileHelperEngine(typeof(FuelPumpData));
//read the CSV file into your object Arrary
var productSales = (FuelPumpData[])engine.ReadFile(Filename);
if (productSales.Any())
{
//process your records as per your requirements
foreach (var sales in productSales)
{
string carCodeNumber = GetCustomerCodeByVechicleTag(sales.VechicleTagNo);
CreateInvoice(carCodeNumber, double.Parse(sales.FuelQty), double.Parse(sales.FuelValue));
}
}
}
Это мой класс
[DelimitedRecord(",")]
[IgnoreEmptyLines()]
[IgnoreFirst()]
public class FuelPumpData
{
[FieldQuoted(QuoteMode.OptionalForRead)]
public int Date { get; set; }
[FieldQuoted(QuoteMode.OptionalForRead)]
public int Time { get; set; }
public string SystemGroup1 { get; set; }
public string SystemGroup3 { get; set; }
public string VechicleTagNo { get; set; }
public string SystemGroup2 { get; set; }
public string SystemGroup4 { get; set; }
public string FuelQty { get; set; }
public string FuelValue { get; set; }
public string FuelType { get; set; }
}
Я думалчтение поля и передача ему массива моего класса позволят прочитать все строки, но он будет возвращать только первую строку?.
Редактировать 2 Создать подпрограмму счета
public void CreateInvoice(string customerCode, double fuelQty, double price)
{
try
{
SAPbobsCOM.Documents oInvoice = company.GetBusinessObject(BoObjectTypes.oInvoices);
oInvoice.DocDate = DateTime.Now;
oInvoice.CardCode = customerCode;
oInvoice.Lines.ItemDescription="David Test";
oInvoice.Lines.ItemCode = "DSL";
oInvoice.Lines.Quantity = fuelQty;
oInvoice.Lines.LineTotal = price;
oInvoice.Lines.Add();
int addInvoice = oInvoice.Add();
if (addInvoice < 0 )
{
Console.Write("Error:" + company.GetLastErrorDescription());
}
}catch(Exception ex)
{
}
}
Процедура создания счета-фактуры создает счет-фактуру в рамках одного продукта sap business, но не перезаписывает продажи продукта.
Редактировать 3, показывая мою отладку
CSV-запись для отображения в строках данных
"011018","0020","D SAYERS","SYSTEM DEFAULT", 5680,"20101","06009",35.64 , 52.14,"DSL"
"011018","0438","SYSTEM DEFAULT","DECLAN MCDERMOTT", 5839,"SYSTEM DEFAULT","14502",36.52 , 53.43,"DSL"