public override void ProcessRow(IList <object> row) { bool idExists = int.TryParse((string)row[IdIndex], out int id); if (idExists == false) { id = 0; } AnalysisModel newAnalysisModel = new AnalysisModel { Id = id, ProductId = Convert.ToInt32(row[ProductIdIndex]), Nutrients = new List <AnalysisNutrientModel>() }; foreach (var key in NutrientMappings.Keys) { AnalysisNutrientModel newNutrientRecord = CreateAnalysisNutrientRecord(row, newAnalysisModel, key); newAnalysisModel.Nutrients.Add(newNutrientRecord); } GlobalConfig.Connection.CreateAnalysis(newAnalysisModel); IList <object> updateRow = new object[] { newAnalysisModel.Id, }; UpdateValues.Add(updateRow); }
private AnalysisNutrientModel CreateAnalysisNutrientRecord(IList <object> sample, AnalysisModel newSampleModel, string key) { int index = NutrientMappings[key]; AnalysisNutrientModel newNutrientRecord = new AnalysisNutrientModel(); newNutrientRecord.Amount = Convert.ToDecimal((string)sample[index]); newNutrientRecord.NutrientId = Convert.ToInt32(key); return(newNutrientRecord); }