/// <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; }