From eb450ea5bbd42445f0ccd7e9ed7c500c894ae99e Mon Sep 17 00:00:00 2001 From: James Kolpack Date: Fri, 23 May 2014 09:49:28 -0400 Subject: [PATCH] Small fixes. --- Web.Tests/DAL/CityNameCleaner.cs | 46 +++++++++++++++++++++ Web.Tests/DAL/LogDocs/Logs_BadCityName.xls | Bin 0 -> 38912 bytes Web.Tests/Web.Tests.csproj | 1 + Web/Models/City.cs | 1 + Web/Views/City/Create.cshtml | 9 ---- 5 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 Web.Tests/DAL/CityNameCleaner.cs create mode 100644 Web.Tests/DAL/LogDocs/Logs_BadCityName.xls diff --git a/Web.Tests/DAL/CityNameCleaner.cs b/Web.Tests/DAL/CityNameCleaner.cs new file mode 100644 index 0000000..fca6772 --- /dev/null +++ b/Web.Tests/DAL/CityNameCleaner.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using MileageTraker.Web.Utility; +using NUnit.Framework; + +namespace Web.Tests.DAL +{ + [TestFixture] + public class CityNameCleaner + { + [Test] + [Ignore] + public void Clean() + { + const string cityFilename = @"C:\Temp\cities.csv"; + const string unknownCityFilename = @"C:\Temp\cities_unknown.csv"; + var unknownCities = + from line in File.ReadAllLines(unknownCityFilename) + select new {CityName = line, First = (line.Split(',')).FirstOrDefault()}; + var cities = + File.ReadAllLines(cityFilename); + + var b = + from uc in unknownCities + let topMatch = ( + from c in cities + let s = Algorithms.Similarity(uc.First, c) + orderby s descending + select new { c, s }).First() + select new + { + uc.CityName, topMatch.c, topMatch.s + }; + foreach (var l in b) + { + Console.WriteLine( + "UPDATE Log SET Notes=LEFT(CASE WHEN Notes IS NULL THEN CityName ELSE Notes + ', ' + CityName END, 64)" + + ", CityName='{1}' " + + "WHERE CityName='{0}'", + l.CityName.Replace("'", "''"), l.c); + } + } + } +} diff --git a/Web.Tests/DAL/LogDocs/Logs_BadCityName.xls b/Web.Tests/DAL/LogDocs/Logs_BadCityName.xls new file mode 100644 index 0000000000000000000000000000000000000000..ce7fcdf45bb38d1acac76c7e8a41093f90c3f6ad GIT binary patch literal 38912 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 literal 0 HcmV?d00001 diff --git a/Web.Tests/Web.Tests.csproj b/Web.Tests/Web.Tests.csproj index 56614f6..f8b17b8 100644 --- a/Web.Tests/Web.Tests.csproj +++ b/Web.Tests/Web.Tests.csproj @@ -92,6 +92,7 @@ + diff --git a/Web/Models/City.cs b/Web/Models/City.cs index 5f4a0da..0d35c2c 100644 --- a/Web/Models/City.cs +++ b/Web/Models/City.cs @@ -13,6 +13,7 @@ namespace MileageTraker.Web.Models [InputSize("medium")] [Required] [Remote("CityNameAvailable", "City", ErrorMessage = "City name already in use")] + [FormatHint("Use correct capitalization")] public string Name { get; set; } [Required] public string County { get; set; } diff --git a/Web/Views/City/Create.cshtml b/Web/Views/City/Create.cshtml index a0883a8..9bc771a 100644 --- a/Web/Views/City/Create.cshtml +++ b/Web/Views/City/Create.cshtml @@ -12,16 +12,7 @@
@Html.DisplayFor(m => m.County) -@*
-
- @Html.DisplayNameFor(m => m.County) -
-
- @Html.DisplayTextFor(m => m.County) -
-
*@ @Html.HiddenFor(m => m.County) - @Html.EditorFor(m => m.Name)