public override void ProcessRow(IList <object> row) { bool idExists = int.TryParse((string)row[IdIndex], out int id); if (idExists == false) { id = 0; } int unitId = Convert.ToInt32(row[UnitIdIndex]); string itemName = (string)row[ItemNameIndex]; NutrientModel model = new NutrientModel() { Id = id, UnitId = unitId, ItemName = itemName }; GlobalConfig.Connection.CreateNutrient(model); IList <object> updateRow = new object[] { model.Id, model.ItemName.ToString(), row[UnitNameIndex], model.UnitId }; UpdateValues.Add(updateRow); }
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); }
public override void ProcessRow(IList <object> row) { bool idExists = int.TryParse((string)row[IdIndex], out int id); if (idExists == false) { id = 0; } string unitName = (string)row[UnitNameIndex]; UnitModel model = new UnitModel() { Id = id, Unit = unitName }; GlobalConfig.Connection.CreateUnit(model); IList <object> updateRow = new object[] { model.Id, model.Unit.ToString() }; UpdateValues.Add(updateRow); }
public override void ProcessRows() { UpdateValues.Add(Headers); foreach (IList <object> row in Rows) { ProcessRow(row); } }
public override void ProcessRows() { ColumnProcessor.MapColumns(); NutrientMappings = ColumnProcessor.NutrientMappings; UpdateValues.Add(new object[] { Headers[0] }); foreach (var row in Rows) { ProcessRow(row); } }
public override void ProcessRow(IList <object> row) { OperationModel operation = new OperationModel(); operation.AnalysisId = Convert.ToInt32(row[AnalysisIndex]); operation.AppliedAmount = Convert.ToDecimal(row[AmountIndex]); operation.Timestamp = Convert.ToDateTime(row[TimestampIndex]); operation.FieldId = Convert.ToInt32(row[FieldIndex]); GlobalConfig.Connection.CreateOperation(operation); UpdateValues.Add(new string[] { "", "", "", "" }); }
public override void ProcessRow(IList <object> row) { FieldModel newField = new FieldModel() { Field = (string)row[FieldNameIndex], Farm = (string)row[FarmNameIndex], Id = Convert.ToInt32(row[IdIndex]), Acreage = 0.0M }; bool validDecimal = decimal.TryParse((string)row[AcreageIndex], out decimal acreage); if (validDecimal && acreage > 0) { newField.Acreage = acreage; } foreach (var rotationColumn in RotationColumns) { int columnIndex = rotationColumn.Value; RotationModel newRotation = new RotationModel() { FieldId = newField.Id, RotationYear = rotationColumn.Key }; string plannedCrop = (string)row[columnIndex]; if (plannedCrop.Length > 0) { // convert names to lowercase so just the text is being compared ProductModel matchedCrop = Crops.Where(crop => crop.ItemName.ToLower() == plannedCrop.ToLower()) .ToList().First(); if (matchedCrop == null) { throw new Exception($"Crop matching error. Current crop count is: {plannedCrop}"); } else { newRotation.ProductId = matchedCrop.Id; newField.Rotations.Add(newRotation); } } } GlobalConfig.Connection.CreateField(newField); Fields.Add(newField); IList <object> updateRow = new string[] { newField.Farm, newField.Field, newField.Id.ToString() }; UpdateValues.Add(updateRow); }
public ISqlBuilder Update(List <object> values) { Type = StatementType.Update; values.ForEach(v => UpdateValues.Add(StoreAndGetReference(v))); return(this); }
public OperationSheetProcessor(IList <IList <object> > rows) { Rows = rows; PopHeaders(); UpdateValues.Add(Headers); }