public ImportDataSetViewModel()
        {
            Parameters = new CSVFileImport.Parameters()
            {
                skipFirstRows = 13, skipLastRows = 3, columnCount = 9, dataSeperator = new byte[1] {
                    9
                }
            };

            ImportCommand   = new ImportDataSetCommand(this);
            openFileCommand = new OpenFileCommand(this);

            Title = "Import CSV dataset";

            Visuals = new ImportDataset();
        }
Exemplo n.º 2
0
        public void Execute(ImportDataSetArgs args)
        {
            args.Name = string.IsNullOrWhiteSpace(args.Name)
                ? Path.GetFileNameWithoutExtension(args.PathToShapefile)
                : args.Name;

            using (var conn = this.connectionFactory())
                using (var session = SqlSession.Open(conn))
                {
                    var repo     = new SqlRepository(session);
                    var provider = new ShapefileFeatureCollectionProvider(args.PathToShapefile);
                    var cmd      = new ImportDataSetCommand(repo, provider.Get);
                    var req      = Mapper.Map <ImportDataSetRequest>(args);
                    var res      = cmd.Execute(req);

                    res.MatchSome(x =>
                    {
                        session.Commit();
                        Log.Information(
                            "Imported {DataSetName} ({DataSetId}) for plot {PlotName} ({PlotId})",
                            x.DataSet.Name,
                            x.DataSet.Id,
                            x.Plot.Name,
                            x.Plot.Id);
                    });

                    res.MatchNone(x =>
                    {
                        session.Rollback();
                        Log.Error(
                            x,
                            "Failed to import data set from shapefile {Shapefile}",
                            args.PathToShapefile);
                    });
                }
        }