public DataMappingModel GetData(CompanyModel company, UserModel user) { DataMappingModel model = new DataMappingModel(); int lineNo = 0; foreach (var row in db.FindFileImportRows(company.Id, user.Id)) { if (lineNo == 0) { foreach (var field in row.FileImportFields) { model.Headings.Add(field.Value); } } else { var newRow = new FileImportRowModel(); foreach (var field in row.FileImportFields) { var newField = new FileImportFieldModel { Value = (string.IsNullOrEmpty(field.Value) ? "" : field.Value) }; newRow.Fields.Add(newField); } newRow.ErrorMessage = row.ErrorMessage; model.Lines.Add(newRow); } lineNo++; } return(model); }
public void InsertOrUpdateFileImportRow(FileImportRowModel row) { FileImportRow tempRow = null; if (row.Id != 0) { tempRow = db.FindFileImportRow(row.CompanyId, row.UserId, row.Id); if (tempRow == null) { row.Id = 0; } } if (row.Id == 0) { // New row tempRow = new FileImportRow { CompanyId = row.CompanyId, UserId = row.UserId, ProductId = row.ProductId, SupplierId = row.SupplierId }; db.InsertOrUpdateFileImportRow(tempRow); row.Id = tempRow.Id; foreach (var field in row.Fields) { var tempField = new FileImportField { CompanyId = row.CompanyId, FileImportRowId = tempRow.Id, Value = field.Value }; db.InsertOrUpdateFileImportField(tempField, false); } db.SaveChanges(); } else { // Update existing row tempRow.ErrorMessage = row.ErrorMessage; tempRow.ProductId = row.ProductId; tempRow.SupplierId = row.SupplierId; db.InsertOrUpdateFileImportRow(tempRow); int fldNo = 0; foreach (var field in tempRow.FileImportFields) { field.Value = row.Fields[fldNo].Value; fldNo++; } db.InsertOrUpdateFileImportRow(tempRow); } }