private Object getImportConfigurationItem(ImportConfiguration importconfiguration)
 {
     return(new
     {
         TableColumn = importconfiguration.TableColumn, SheetColumn = importconfiguration.SheetColumn, UniqueColumn = importconfiguration.UniqueColumn, LastUpdate = importconfiguration.LastUpdate, LastUpdateUser = importconfiguration.LastUpdateUser, Name = importconfiguration.Name, ConcurrencyKey = importconfiguration.ConcurrencyKey == null?null:System.Convert.ToBase64String(importconfiguration.ConcurrencyKey, 0, importconfiguration.ConcurrencyKey.Length), DisplayValue = importconfiguration.DisplayValue, ID = importconfiguration.Id
     });
 }
 public ActionResult DeleteConfirmed(ImportConfiguration importconfiguration, string UrlReferrer)
 {
     if (!User.CanDelete("ImportConfiguration"))
     {
         return(RedirectToAction("Index", "Error"));
     }
     //ImportConfiguration importconfiguration = db.ImportConfigurations.Find(id);
     db.Entry(importconfiguration).State = EntityState.Deleted;
     db.ImportConfigurations.Remove(importconfiguration);
     db.SaveChanges();
     if (!string.IsNullOrEmpty(UrlReferrer))
     {
         return(Redirect(UrlReferrer));
     }
     if (ViewData["ImportConfigurationParentUrl"] != null)
     {
         string parentUrl = ViewData["ImportConfigurationParentUrl"].ToString();
         ViewData["ImportConfigurationParentUrl"] = null;
         return(Redirect(parentUrl));
     }
     else
     {
         return(RedirectToAction("Index"));
     }
 }
Exemple #3
0
        public void TransactionEndPartTest()
        {
            ImportConfiguration      config = getTestImportConfig();
            StatementTransactionPart part   = new StatementTransactionPart(config);

            config.ErrorHandling.ImportAsTransaction = true;

            string[] parts = part.GetTransactionEndPart()
                             .Split(new string[] { "\n", "\t" }, StringSplitOptions.None).Where(s => s.Length > 0).ToArray();

            Assert.AreEqual(12, parts.Length);
            Assert.AreEqual("COMMIT TRANSACTION [ImportTransaction]", parts[0]);
            Assert.AreEqual("END TRY", parts[1]);
            Assert.AreEqual("BEGIN CATCH", parts[2]);
            Assert.AreEqual("ROLLBACK TRANSACTION [ImportTransaction]", parts[3]);
            Assert.AreEqual("DECLARE @ErrorMessage NVARCHAR(MAX)", parts[4]);
            Assert.AreEqual("DECLARE @ErrorSeverity INT", parts[5]);
            Assert.AreEqual("DECLARE @ErrorState INT", parts[6]);
            Assert.AreEqual("SET @ErrorMessage = ERROR_MESSAGE()", parts[7]);
            Assert.AreEqual("SET @ErrorSeverity = ERROR_SEVERITY()", parts[8]);
            Assert.AreEqual("SET @ErrorState = ERROR_STATE()", parts[9]);
            Assert.AreEqual("RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState)", parts[10]);
            Assert.AreEqual("END CATCH", parts[11]);


            config.ErrorHandling.ImportAsTransaction = false;
            Assert.AreEqual("", part.GetTransactionEndPart());
        }
 public ActionResult EditWizard([Bind(Include = "Id,ConcurrencyKey,TableColumn,SheetColumn,UniqueColumn,LastUpdate,LastUpdateUser,Name,MappingName,IsDefaultMapping")] ImportConfiguration importconfiguration, string UrlReferrer)
 {
     if (ModelState.IsValid)
     {
         db.Entry(importconfiguration).State = EntityState.Modified;
         db.SaveChanges();
         if (!string.IsNullOrEmpty(UrlReferrer))
         {
             var uri   = new Uri(UrlReferrer);
             var query = HttpUtility.ParseQueryString(uri.Query);
             if (Convert.ToBoolean(query.Get("IsFilter")) == true)
             {
                 return(RedirectToAction("Index"));
             }
             else
             {
                 return(Redirect(UrlReferrer));
             }
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     return(View(importconfiguration));
 }
Exemple #5
0
        private ImportConfiguration GetConfigurationSetting(string jsonConfigData)
        {
            var config = new ImportConfiguration();

            config = JsonConvert.DeserializeObject <ImportConfiguration>(jsonConfigData);
            return(config);
        }
 public ActionResult Edit([Bind(Include = "Id,ConcurrencyKey,TableColumn,SheetColumn,UniqueColumn,LastUpdate,LastUpdateUser,Name,MappingName,IsDefaultMapping")] ImportConfiguration importconfiguration, string UrlReferrer)
 {
     if (ModelState.IsValid)
     {
         string command = Request.Form["hdncommand"];
         importconfiguration.LastUpdate      = DateTime.UtcNow;
         importconfiguration.LastUpdateUser  = User.Name;
         db.Entry(importconfiguration).State = EntityState.Modified;
         db.SaveChanges();
         if (command == "Save & Continue")
         {
             return(RedirectToAction("Edit", new { Id = importconfiguration.Id, UrlReferrer = UrlReferrer }));
         }
         if (!string.IsNullOrEmpty(UrlReferrer))
         {
             var uri   = new Uri(UrlReferrer);
             var query = HttpUtility.ParseQueryString(uri.Query);
             if (Convert.ToBoolean(query.Get("IsFilter")) == true)
             {
                 return(RedirectToAction("Index"));
             }
             else
             {
                 return(Redirect(UrlReferrer));
             }
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     return(View(importconfiguration));
 }
        // GET: /ImportConfiguration/EditWizard/5
        public ActionResult EditWizard(int?id, string UrlReferrer)
        {
            if (!User.CanEdit("ImportConfiguration"))
            {
                return(RedirectToAction("Index", "Error"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImportConfiguration importconfiguration = db.ImportConfigurations.Find(id);

            importconfiguration.LastUpdate     = DateTime.UtcNow;
            importconfiguration.LastUpdateUser = User.Name;
            if (importconfiguration == null)
            {
                return(HttpNotFound());
            }
            if (UrlReferrer != null)
            {
                ViewData["ImportConfigurationParentUrl"] = UrlReferrer;
            }
            if (ViewData["ImportConfigurationParentUrl"] == null && Request.UrlReferrer != null && !Request.UrlReferrer.AbsolutePath.EndsWith("/ImportConfiguration"))
            {
                ViewData["ImportConfigurationParentUrl"] = Request.UrlReferrer;
            }
            return(View(importconfiguration));
        }
        // GET: /ImportConfiguration/Edit/5
        public ActionResult Edit(int?id, string UrlReferrer)
        {
            if (!User.CanEdit("ImportConfiguration"))
            {
                return(RedirectToAction("Index", "Error"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImportConfiguration importconfiguration = db.ImportConfigurations.Find(id);

            if (importconfiguration == null)
            {
                return(HttpNotFound());
            }
            if (UrlReferrer != null)
            {
                ViewData["ImportConfigurationParentUrl"] = UrlReferrer;
            }
            if (ViewData["ImportConfigurationParentUrl"] == null && Request.UrlReferrer != null && !Request.UrlReferrer.AbsolutePath.EndsWith("/ImportConfiguration") && !Request.UrlReferrer.AbsolutePath.EndsWith("/ImportConfiguration/Edit/" + importconfiguration.Id + "") && !Request.UrlReferrer.AbsolutePath.EndsWith("/ImportConfiguration/Create"))
            {
                ViewData["ImportConfigurationParentUrl"] = Request.UrlReferrer;
            }
            if (Request.AcceptTypes.Contains("text/html"))
            {
                return(View(importconfiguration));
            }
            else if (Request.AcceptTypes.Contains("application/json"))
            {
                var Result = getImportConfigurationItem(importconfiguration);
                return(Json(Result, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
            }
            return(View(importconfiguration));
        }
 public ActionResult Create([Bind(Include = "Id,ConcurrencyKey,TableColumn,SheetColumn,UniqueColumn,LastUpdate,LastUpdateUser,Name,MappingName,IsDefaultMapping")] ImportConfiguration importconfiguration, string UrlReferrer, bool?IsDDAdd)
 {
     if (ModelState.IsValid)
     {
         string command = Request.Form["hdncommand"];
         importconfiguration.LastUpdate     = DateTime.UtcNow;
         importconfiguration.LastUpdateUser = User.Name;
         db.ImportConfigurations.Add(importconfiguration);
         db.SaveChanges();
         if (command == "Create & Continue")
         {
             return(RedirectToAction("Edit", new { Id = importconfiguration.Id, UrlReferrer = UrlReferrer }));
         }
         if (!string.IsNullOrEmpty(UrlReferrer))
         {
             return(Redirect(UrlReferrer));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     if (IsDDAdd != null)
     {
         ViewBag.IsDDAdd = Convert.ToBoolean(IsDDAdd);
     }
     return(View(importconfiguration));
 }
Exemple #10
0
        public void TableBodyPartInsertTest()
        {
            DBTable  table = new DBTable("dbo", "TestTable");
            DBColumn col1  = new DBColumn(table, "TestCol1", true, DBDatatype.integer);
            DBColumn col2  = new DBColumn(table, "TestCol2", false, DBDatatype.nvarchar);

            table.Columns = new List <DBColumn>()
            {
                col1, col2
            };

            ColumnMapping colMap1 = new NullColumnMapping(col1, ColumnUse.Exclude);
            ColumnMapping colMap2 = new LiteralColumnMapping("2", LiteralType.String, col2, ColumnUse.Insert);

            TableMapping tableMapping = new TableMapping(table, TableMappingImportType.Insert, new ColumnMapping[] { colMap1, colMap2 });

            ImportConfiguration config = getTestImportConfig();

            SourceDataEntry[] entries = new SourceDataEntry[] { SourceDataEntry.CreateDataEntry("", DataType.String, "") };
            SourceDataRow[]   rows    = new SourceDataRow[] { new SourceDataRow(entries, "0") };
            SourceDataTable   dt      = new SourceDataTable(rows, new string[] { "" });

            StatementTableMappingPart part = new StatementTableMappingPart(tableMapping, dt.GetDataRow(0));

            string[] bodyParts = part.GetStatementBodyPart().Split(new string[] { "\n" }, StringSplitOptions.None).Where(s => s.Length > 0).ToArray();

            Assert.AreEqual(3, bodyParts.Length);
            Assert.AreEqual("INSERT INTO dbo.TestTable (TestCol2)", bodyParts[0]);
            Assert.AreEqual("OUTPUT inserted.TestCol1, inserted.TestCol2 INTO @sqlimport_table_" + tableMapping.TableMappingReference.Replace(".", "_") +
                            "(TestCol1, TestCol2)", bodyParts[1]);
            Assert.AreEqual("VALUES ('2')", bodyParts[2]);
        }
Exemple #11
0
        public void DBNamePartTest()
        {
            ImportConfiguration config = getTestImportConfig();
            StatementSetupPart  part   = new StatementSetupPart(config);

            Assert.AreEqual("USE " + dbName, part.GetDatabasePart());
        }
Exemple #12
0
        public void TableVariablePartTest()
        {
            DBTable  table = new DBTable("dbo", "TestTable");
            DBColumn col1  = new DBColumn(table, "TestCol1", true, DBDatatype.integer);
            DBColumn col2  = new DBColumn(table, "TestCol2", false, DBDatatype.nvarchar);

            table.Columns = new List <DBColumn>()
            {
                col1, col2
            };

            ColumnMapping colMap1 = new LiteralColumnMapping("1", LiteralType.Integer, col1, ColumnUse.Exclude);
            ColumnMapping colMap2 = new LiteralColumnMapping("2", LiteralType.String, col2, ColumnUse.Insert);

            TableMapping tableMapping = new TableMapping(table, TableMappingImportType.Insert, new ColumnMapping[] { colMap1, colMap2 });


            ImportConfiguration config = getTestImportConfig();

            StatementTableMappingPart part = new StatementTableMappingPart(tableMapping, null);
            string partStatement           = part.GetTableVariablePart().Replace("\n", "");

            Assert.AreEqual("DECLARE @sqlimport_table_" + tableMapping.TableMappingReference.Replace(".", "_") + " TABLE (TestCol1 integer, TestCol2 nvarchar(max))",
                            partStatement);
        }
Exemple #13
0
        public ImportViewModel(ImportConfiguration config, IDataReader reader, Database database)
        {
            this.config   = config;
            this.reader   = reader;
            this.database = database;

            bw.WorkerSupportsCancellation = false;
            bw.WorkerReportsProgress      = true;
            bw.DoWork             += new DoWorkEventHandler(bw_DoWork);
            bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_DoWorkCompleted);
        }
Exemple #14
0
        public JsonResult ImportFinalizeDelete(ImportConfiguration configuration)
        {
            var providerPair   = FetchProviderPair(configuration.ProviderConfigName);
            var selectedLocale = new Locale(configuration.Locale);

            foreach (var delete in configuration.Data)
            {
                providerPair.ValueManager.DeleteValue(new Qualifier.Unique(Part.Parse(delete.Part), selectedLocale, delete.Key));
            }
            return(Json(new { ok = true }));
        }
Exemple #15
0
        public void TransactionStartPartTest()
        {
            ImportConfiguration      config = getTestImportConfig();
            StatementTransactionPart part   = new StatementTransactionPart(config);

            config.ErrorHandling.ImportAsTransaction = true;

            Assert.AreEqual("BEGIN TRANSACTION [ImportTransaction]\nBEGIN TRY\n", part.GetTransactionStartPart());

            config.ErrorHandling.ImportAsTransaction = false;
            Assert.AreEqual("", part.GetTransactionStartPart());
        }
Exemple #16
0
        public void WarningsPartTest()
        {
            ImportConfiguration config = getTestImportConfig();

            config.ErrorHandling.IgnoreWarnings = false;
            StatementSetupPart part = new StatementSetupPart(config);

            Assert.AreEqual("SET ANSI_WARNINGS ON", part.GetWarningsPart());

            config.ErrorHandling.IgnoreWarnings = true;
            Assert.AreEqual("SET ANSI_WARNINGS OFF", part.GetWarningsPart());
        }
Exemple #17
0
        public JsonResult ImportFinalizeUpdate(ImportConfiguration configuration)
        {
            var providerPair   = FetchProviderPair(configuration.ProviderConfigName);
            var selectedLocale = new Locale(configuration.Locale);

            foreach (var update in configuration.Data)
            {
                providerPair.ValueManager.UpdateCreateValue(new QualifiedValue(
                                                                new Qualifier.Unique(Part.Parse(update.Part), selectedLocale, update.Key),
                                                                new Value(ContentType.Unspecified, update.Value)
                                                                ));
            }
            return(Json(new { ok = true }));
        }
        public void TimeoutTest()
        {
            string          hostNameDoesntExist = "testest";
            ConnectionSetup connectionSetup     = new ConnectionSetup(hostNameDoesntExist, "", "", true);

            connectionSetup.Timeout = 1;

            ImportConfiguration config = new ImportConfiguration(null, connectionSetup, "", null);

            ImportStatement[] statements = new ImportStatement[0];

            SQLServerDataImporter importer = new SQLServerDataImporter(config);

            importer.ImportData(statements);
        }
Exemple #19
0
        public ArgumentRouter(string[] args, ImportConfiguration config)
        {
            PrintHeader();

            this.ImportConfiguration = config;

            var commandLineParser = new Parser(x =>
            {
                x.HelpWriter             = null;
                x.IgnoreUnknownArguments = false;
            });

            commandLineParser.ParseArguments <Options>(args)
            .WithParsed <Options>(x => Execute(x))
            .WithNotParsed <Options>((errs) => PrintHelp(errs));
        }
 public ActionResult CreateQuick([Bind(Include = "Id,ConcurrencyKey,TableColumn,SheetColumn,UniqueColumn,Name,MappingName,IsDefaultMapping")] ImportConfiguration importconfiguration, string UrlReferrer, bool?IsAddPop)
 {
     if (ModelState.IsValid)
     {
         importconfiguration.LastUpdate     = DateTime.UtcNow;
         importconfiguration.LastUpdateUser = User.Name;
         db.ImportConfigurations.Add(importconfiguration);
         db.SaveChanges();
         //if (IsAddPop != null && IsAddPop == true)
         //  return Json("FROMPOPUP", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet);
         //else
         //return Redirect(Request.UrlReferrer.ToString());
         return(Json("FROMPOPUP", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
     }
     return(View(importconfiguration));
 }
Exemple #21
0
        internal void SaveConfiguration()
        {
            try
            {
                TableMapping[] tableMappings = mappingPageViewModel.TableMappingViewModels.Select(t => t.TableMapping).ToArray();

                ImportConfiguration config = new ImportConfiguration(tableMappings, connectionPageViewModel.DatabaseConnector.ConnectionSetup,
                                                                     connectionPageViewModel.SelectedDatabase.Name, importPageViewModel.ErrorHandling);

                ConfigurationSaver saver = new ConfigurationSaver(config, configurationPath);
                saver.Save();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        public JsonResult GetLockBusinessRules(ImportConfiguration OModel)
        {
            string RulesApplied = "";

            if (User.businessrules != null)
            {
                var BR = User.businessrules.Where(p => p.EntityName == "ImportConfiguration").ToList();
                if (BR != null && BR.Count > 0)
                {
                    var ResultOfBusinessRules = db.LockEntityRule(OModel, BR, "ImportConfiguration");
                    BR = BR.Where(p => ResultOfBusinessRules.Values.Select(x => x.BRID).ToList().Contains(p.Id)).ToList();
                    if (ResultOfBusinessRules.Keys.Select(p => p.TypeNo).Contains(1))
                    {
                        RulesApplied = string.Join(",", BR.Select(p => p.RuleName).ToArray());
                    }
                }
            }
            return(Json(RulesApplied, JsonRequestBehavior.AllowGet));
        }
 public ActionResult CreateWizard([Bind(Include = "Id,ConcurrencyKey,TableColumn,SheetColumn,UniqueColumn,LastUpdate,LastUpdateUser,Name,MappingName,IsDefaultMapping")] ImportConfiguration importconfiguration, string UrlReferrer)
 {
     if (ModelState.IsValid)
     {
         importconfiguration.LastUpdate     = DateTime.UtcNow;
         importconfiguration.LastUpdateUser = User.Name;
         db.ImportConfigurations.Add(importconfiguration);
         db.SaveChanges();
         if (!string.IsNullOrEmpty(UrlReferrer))
         {
             return(Redirect(UrlReferrer));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     return(View(importconfiguration));
 }
Exemple #24
0
        private ImportConfiguration createImportConfiguration()
        {
            if (wizardViewModel.ConnectionPageViewModel.DatabaseConnector == null)
            {
                throw new Exception("Not connected to any database");
            }
            else if (wizardViewModel.MappingPageViewModel.TableMappings.Count < 1)
            {
                throw new Exception("There are no table mappings");
            }
            else
            {
                TableMapping[]      tableMappings = wizardViewModel.MappingPageViewModel.TableMappingViewModels.Select(t => t.TableMapping).ToArray();
                ImportConfiguration config        = new ImportConfiguration(tableMappings, wizardViewModel.ConnectionPageViewModel.DatabaseConnector.ConnectionSetup,
                                                                            wizardViewModel.ConnectionPageViewModel.SelectedDatabase.Name, errorHandling);

                return(config);
            }
        }
Exemple #25
0
        public void TableMappingPartConstructorTest()
        {
            DBTable  table = new DBTable("dbo", "TestTable");
            DBColumn col1  = new DBColumn(table, "TestCol1", false, DBDatatype.integer);
            DBColumn col2  = new DBColumn(table, "TestCol2", false, DBDatatype.nvarchar);

            table.Columns = new List <DBColumn>()
            {
                col1, col2
            };

            ColumnMapping colMap1 = new LiteralColumnMapping("1", LiteralType.Integer, col1, ColumnUse.Exclude);
            ColumnMapping colMap2 = new LiteralColumnMapping("2", LiteralType.String, col2, ColumnUse.Insert);

            TableMapping tableMapping = new TableMapping(table, TableMappingImportType.Insert, new ColumnMapping[] { colMap1, colMap2 });

            ImportConfiguration config = getTestImportConfig();

            StatementTableMappingPart part = new StatementTableMappingPart(tableMapping, null);
        }
        public ImportConfiguration Execute(ImportType type, string path, int datasetId, Action <string> progressCallback)
        {
            this.progressCallbackAction = progressCallback;

            this.config            = new ImportConfiguration();
            this.config.ImportType = type;

            this.originalPath = path;

            progressCallback("Preparing to load data...");
            using (var sourceDataConnection = this.GetSourceConnection(path))
                using (var targetSqlConnection = this.GetTargetConnection())
                    using (var workingTable = this.GetWorkingTable(targetSqlConnection))
                        using (var session = SessionFactoryProvider.SessionFactory.OpenStatelessSession(targetSqlConnection))
                        {
                            // prepare bulk loader
                            var bulkLoader = new SqlBulkCopy(targetSqlConnection);
                            bulkLoader.DestinationTableName = TargetTableName;

                            foreach (var cmd in this.GetImportCommands(datasetId))
                            {
                                int ct;

                                if (cmd.ExecuteAgainstTarget)
                                {
                                    ct = session
                                         .CreateSQLQuery(cmd.Command)
                                         .ExecuteUpdate();
                                }
                                else
                                {
                                    ct = this.GetImportBatch(cmd, bulkLoader, workingTable, sourceDataConnection, datasetId);
                                }

                                progressCallback(string.Format("{0} ({1} rows loaded)", cmd.Description, ct));
                            }
                        }

            return(this.config);
        }
        // GET: /ImportConfiguration/Delete/5
        public ActionResult Delete(int id)
        {
            if (!User.CanDelete("ImportConfiguration"))
            {
                return(RedirectToAction("Index", "Error"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImportConfiguration importconfiguration = db.ImportConfigurations.Find(id);

            if (importconfiguration == null)
            {
                throw(new Exception("Deleted"));
            }
            if (ViewData["ImportConfigurationParentUrl"] == null && Request.UrlReferrer != null && !Request.UrlReferrer.AbsolutePath.EndsWith("/ImportConfiguration"))
            {
                ViewData["ImportConfigurationParentUrl"] = Request.UrlReferrer;
            }
            return(View(importconfiguration));
        }
Exemple #28
0
        public void TableBodyPartUpdateTest()
        {
            DBTable  table = new DBTable("dbo", "TestTable");
            DBColumn col1  = new DBColumn(table, "TestCol1", true, DBDatatype.integer);
            DBColumn col2  = new DBColumn(table, "TestCol2", false, DBDatatype.nvarchar);
            DBColumn col3  = new DBColumn(table, "TestCol3", false, DBDatatype.integer);

            table.Columns = new List <DBColumn>()
            {
                col1, col2, col3
            };

            TableMapping sourceTablemapping = new TableMapping(new DBTable("dbo", "TestTable2"), TableMappingImportType.Insert, null);

            ColumnMapping colMap1 = new TableColumnMapping(sourceTablemapping, col1, col1, ColumnUse.Where);
            ColumnMapping colMap2 = new LiteralColumnMapping("2", LiteralType.String, col2, ColumnUse.Where);
            ColumnMapping colMap3 = new LiteralColumnMapping("3", LiteralType.String, col3, ColumnUse.Set);

            TableMapping tableMapping = new TableMapping(table, TableMappingImportType.Update, new ColumnMapping[] { colMap1, colMap2, colMap3 });

            ImportConfiguration config = getTestImportConfig();

            SourceDataEntry[] entries = new SourceDataEntry[] { SourceDataEntry.CreateDataEntry("", DataType.String, "") };
            SourceDataRow[]   rows    = new SourceDataRow[] { new SourceDataRow(entries, "0") };
            SourceDataTable   dt      = new SourceDataTable(rows, new string[] { "" });

            StatementTableMappingPart part = new StatementTableMappingPart(tableMapping, dt.GetDataRow(0));

            string[] bodyParts = part.GetStatementBodyPart().Split(new string[] { "\n" }, StringSplitOptions.None).Where(s => s.Length > 0).ToArray();

            Assert.AreEqual(4, bodyParts.Length);
            Assert.AreEqual("UPDATE dbo.TestTable", bodyParts[0]);
            Assert.AreEqual("SET TestCol3='3'", bodyParts[1]);
            Assert.AreEqual("OUTPUT inserted.TestCol1, inserted.TestCol2, inserted.TestCol3 INTO @sqlimport_table_" +
                            tableMapping.TableMappingReference.Replace(".", "_") + "(TestCol1, TestCol2, TestCol3)", bodyParts[2]);
            Assert.AreEqual("WHERE TestCol1 = (SELECT TOP 1 t.TestCol1 FROM @sqlimport_table_" +
                            sourceTablemapping.TableMappingReference.Replace(".", "_") + " t) and TestCol2 = '2'", bodyParts[3]);
        }
        // GET: /ImportConfiguration/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImportConfiguration importconfiguration = db.ImportConfigurations.Find(id);

            if (importconfiguration == null)
            {
                return(HttpNotFound());
            }
            if (Request.AcceptTypes.Contains("text/html"))
            {
                return(View(importconfiguration));
            }
            else if (Request.AcceptTypes.Contains("application/json"))
            {
                var Result = getImportConfigurationItem(importconfiguration);
                return(Json(Result, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
            }
            return(View(importconfiguration));
        }
Exemple #30
0
        static int Main(string[] args)
        {
            Console.SetWindowSize(150, 25);

            using (var xml = XElement.Load(_importConfig).CreateReader())
            {
                ImportConfiguration config = null;
                try
                {
                    config = new XmlSerializer(typeof(ImportConfiguration)).Deserialize(xml) as ImportConfiguration;
                }
                catch (Exception exception)
                {
                    Logger.Log($"Error reading configuration '{_importConfig}'. Exception: {exception.Message}", LogLevel.Debug);
                    return(-1);
                }

                var cli = new ArgumentRouter(args, config);
            }

            Console.ReadKey();
            return(0);
        }
 public JsonResult ImportFinalizeInsert(ImportConfiguration configuration)
 {
     var providerPair = FetchProviderPair(configuration.ProviderConfigName);
     var selectedLocale = new Locale(configuration.Locale);
     foreach (var insert in configuration.Data) {
         providerPair.ValueManager.CreateValue(
             new Qualifier.Unique(Part.Parse(insert.Part), selectedLocale, insert.Key),
             insert.Value
         );
     }
     return Json(new { ok = true });
 }
 public JsonResult ImportFinalizeUpdate(ImportConfiguration configuration)
 {
     var providerPair = FetchProviderPair(configuration.ProviderConfigName);
     var selectedLocale = new Locale(configuration.Locale);
     foreach (var update in configuration.Data) {
         providerPair.ValueManager.UpdateCreateValue(new QualifiedValue(
             new Qualifier.Unique(Part.Parse(update.Part), selectedLocale, update.Key),
             new Value(ContentType.Unspecified, update.Value)
         ));
     }
     return Json(new { ok = true });
 }