예제 #1
0
        /// <summary>
        /// The default names of the columns that contain the gazetteer data to be matched.
        /// </summary>
        /// <returns>
        /// The column names
        /// </returns>
        public GazetteerColumnHeaders DefaultGazetteerColumnHeaders()
        {
            GazetteerColumnHeaders  columnHeaders  = new GazetteerColumnHeaders();
            GazetteerColumnsMapping columnsMapping =
                columnsMappingProvider.GetGazetteerColumnsMapping(gazetteerFileName);

            if (columnsMapping != null)
            {
                columnHeaders.Level1Code    = columnsMapping.Level1Code;
                columnHeaders.Level2Code    = columnsMapping.Level2Code;
                columnHeaders.Level3Code    = columnsMapping.Level3Code;
                columnHeaders.Level1Name    = columnsMapping.Level1Name;
                columnHeaders.Level2Name    = columnsMapping.Level2Name;
                columnHeaders.Level3Name    = columnsMapping.Level3Name;
                columnHeaders.Level1AltName = columnsMapping.Level1AltName;
                columnHeaders.Level2AltName = columnsMapping.Level2AltName;
                columnHeaders.Level3AltName = columnsMapping.Level3AltName;
            }

            return(columnHeaders);
        }
        public void SaveGazetteerColumnsMapping(GazetteerColumnsMapping columnMapping)
        {
            bool exists = dbConnection.Query <int>(
                @"SELECT COUNT(*) FROM GazetteerColumnsMapping
                    WHERE FileName=@FileName",
                new { columnMapping.FileName }).FirstOrDefault() > 0;

            if (!exists)
            {
                dbConnection.Execute(
                    @"INSERT INTO GazetteerColumnsMapping (
                        FileName,
                        Level1Code,
                        Level1Name,
                        Level1AltName,
                        Level2Code,
                        Level2Name,
                        Level2AltName,
                        Level3Code,
                        Level3Name,
                        Level3AltName
                    ) VALUES (
                        @FileName,
                        @Level1Code,
                        @Level1Name,
                        @Level1AltName,
                        @Level2Code,
                        @Level2Name,
                        @Level2AltName,
                        @Level3Code,
                        @Level3Name,
                        @Level3AltName
                    )",
                    new
                {
                    columnMapping.FileName,
                    columnMapping.Level1Code,
                    columnMapping.Level1Name,
                    columnMapping.Level1AltName,
                    columnMapping.Level2Code,
                    columnMapping.Level2Name,
                    columnMapping.Level2AltName,
                    columnMapping.Level3Code,
                    columnMapping.Level3Name,
                    columnMapping.Level3AltName,
                }
                    );
            }
            else
            {
                dbConnection.Execute(
                    @"UPDATE GazetteerColumnsMapping
                        SET
                            Level1Code=@Level1Code,
                            Level1Name=@Level1Name,
                            Level1AltName=@Level1AltName,
                            Level2Code=@Level2Code,
                            Level2Name=@Level2Name,
                            Level2AltName=@Level2AltName,
                            Level3Code=@Level3Code,
                            Level3Name=@Level3Name,
                            Level3AltName=@Level3AltName
                        WHERE FileName=@FileName",
                    new
                {
                    columnMapping.FileName,
                    columnMapping.Level1Code,
                    columnMapping.Level1Name,
                    columnMapping.Level1AltName,
                    columnMapping.Level2Code,
                    columnMapping.Level2Name,
                    columnMapping.Level2AltName,
                    columnMapping.Level3Code,
                    columnMapping.Level3Name,
                    columnMapping.Level3AltName,
                }
                    );
            }
        }
        public void SaveGazetteerColumnsMapping(GazetteerColumnsMapping columnMapping)
        {
            bool exists = dbConnection.Query<int>(
                @"SELECT COUNT(*) FROM GazetteerColumnsMapping
                    WHERE FileName=@FileName",
                new {columnMapping.FileName}).FirstOrDefault() > 0;

            if (!exists)
            {
                dbConnection.Execute(
                    @"INSERT INTO GazetteerColumnsMapping (
                        FileName,
                        Level1Code,
                        Level1Name,
                        Level1AltName,
                        Level2Code,
                        Level2Name,
                        Level2AltName,
                        Level3Code,
                        Level3Name,
                        Level3AltName
                    ) VALUES (
                        @FileName,
                        @Level1Code,
                        @Level1Name,
                        @Level1AltName,
                        @Level2Code,
                        @Level2Name,
                        @Level2AltName,
                        @Level3Code,
                        @Level3Name,
                        @Level3AltName
                    )",
                    new
                    {
                        columnMapping.FileName,
                        columnMapping.Level1Code,
                        columnMapping.Level1Name,
                        columnMapping.Level1AltName,
                        columnMapping.Level2Code,
                        columnMapping.Level2Name,
                        columnMapping.Level2AltName,
                        columnMapping.Level3Code,
                        columnMapping.Level3Name,
                        columnMapping.Level3AltName,
                    }
                    );
            }
            else
            {
                dbConnection.Execute(
                    @"UPDATE GazetteerColumnsMapping
                        SET
                            Level1Code=@Level1Code,
                            Level1Name=@Level1Name,
                            Level1AltName=@Level1AltName,
                            Level2Code=@Level2Code,
                            Level2Name=@Level2Name,
                            Level2AltName=@Level2AltName,
                            Level3Code=@Level3Code,
                            Level3Name=@Level3Name,
                            Level3AltName=@Level3AltName
                        WHERE FileName=@FileName",
                    new
                    {
                        columnMapping.FileName,
                        columnMapping.Level1Code,
                        columnMapping.Level1Name,
                        columnMapping.Level1AltName,
                        columnMapping.Level2Code,
                        columnMapping.Level2Name,
                        columnMapping.Level2AltName,
                        columnMapping.Level3Code,
                        columnMapping.Level3Name,
                        columnMapping.Level3AltName,
                    }
                    );
            }
        }