/// <summary>
/// Imports article from csv file to db. If article with same number exists, it will be replaced.
/// </summary>
/// <param name="db"></param>
/// <param name="file"></param>
/// <returns></returns>
public static bool ImportArticleFromCsv(ISposDb db, string file)
{
// read csv file
DataTable data = ParseCSV(file);
if (data == null)
{
return false;
}
// convert data
DataTableReader reader = new DataTableReader(data);
if (reader.FieldCount != 5 && !reader.HasRows)
{
return false;
}
List<SimplePOS.Article.RegularArticle> articleList = new List<SimplePOS.Article.RegularArticle>();
reader.Read(); // read the header
while (reader.Read())
{
object[] values = new object[5];
int result = reader.GetValues(values);
if (result > 0)
{
try
{
// Text may be empty wich results in a strange object
string text;
try { text = (string)values[2]; }
catch { text = ""; }
articleList.Add(new SimplePOS.Article.RegularArticle((string)values[0],
(string)values[1], text,
Double.Parse((string)values[3]),
Double.Parse((string)values[4])));
}
catch { return false; }
}
}
// import to db
db.SaveArticleList(articleList);
return true;
}