public void DoImport() { var param = (ImportOrdinalsParam)View.CurrentObject; var csvStream = new MemoryStream(); param.File.SaveToStream(csvStream); csvStream.Position = 0; var xpoMapper = new Xafology.ExpressApp.Xpo.ValueMap.XpoFieldMapper(); ICsvToXpoLoader loader = null; if (param.ImportActionType == ImportActionType.Insert) { loader = new OrdCsvToXpoInserter(param, csvStream, xpoMapper, null); } else if (param.ImportActionType == ImportActionType.Update) { loader = new OrdCsvToXpoUpdater(param, csvStream, xpoMapper, null); } else { throw new ArgumentException("Invalid Import Action Type", "ImportActionType"); } loader.Execute(); }
public void DoImport() { var param = (ImportOrdinalsParam)View.CurrentObject; var csvStream = new MemoryStream(); param.File.SaveToStream(csvStream); csvStream.Position = 0; var xpoMapper = new Xafology.ExpressApp.Xpo.ValueMap.XpoFieldMapper(); ICsvToXpoLoader loader = null; var logger = new SimpleImportLogger(); if (param.ImportActionType == ImportActionType.Insert) { loader = new OrdCsvToXpoInserter(param, csvStream, xpoMapper, logger); } else if (param.ImportActionType == ImportActionType.Update) { loader = new OrdCsvToXpoUpdater(param, csvStream, xpoMapper, logger); } else { throw new ArgumentException("Invalid Import Action Type", "ImportActionType"); } loader.Execute(); new Xafology.ExpressApp.SystemModule.GenericMessageBox(logger.LogMessage, "Import SUCCESSFUL"); }
public void InsertSimpleOrdCsv() { // arrange parameters var map1 = ObjectSpace.CreateObject <OrdinalToFieldMap>(); map1.SourceOrdinal = 0; map1.TargetName = "Description"; var map2 = ObjectSpace.CreateObject <OrdinalToFieldMap>(); map2.SourceOrdinal = 1; map2.TargetName = "Amount"; var param = ObjectSpace.CreateObject <ImportOrdinalsParam>(); param.OrdToFieldMaps.Add(map1); param.OrdToFieldMaps.Add(map2); param.ObjectTypeName = "MockFactObject"; string csvText = @"Hello 1,10 Hello 2,20 Hello 3,30"; var csvStream = ConvertToCsvStream(csvText); var request = ObjectSpace.CreateObject <ImportRequest>(); var logger = new ImportLogger(request); var xpoMapper = new XpoFieldMapper(); ICsvToXpoLoader loader = new OrdCsvToXpoInserter(param, csvStream, xpoMapper, logger); loader.Execute(); var inserted = new XPQuery <MockFactObject>(ObjectSpace.Session); MockFactObject obj = inserted.Where(x => x.Description == "Hello 3").FirstOrDefault(); Assert.AreEqual(3, inserted.Count()); Assert.AreEqual(30, obj.Amount); Assert.AreEqual(null, obj.MockLookupObject1); }