diff --git a/.gitignore b/.gitignore index fe27920..7bad4ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,30 +1,43 @@ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files /.vs/ *.suo *.user +*.userosscache *.sln.docstates +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ +[Rr]eleases/ x64/ -build/ +x86/ bld/ [Bb]in/ [Oo]bj/ +[Ll]og/ -# Roslyn cache directories -*.ide/ +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* -#NUNIT +# NUNIT *.VisualState.xml TestResult.xml @@ -33,6 +46,19 @@ TestResult.xml [Rr]eleasePS/ dlldata.c +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio *_i.c *_p.c *_i.h @@ -65,14 +91,21 @@ _Chutzpah* ipch/ *.aps *.ncb +*.opendb *.opensdf *.sdf *.cachefile +*.VC.db +*.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx +*.sap + +# Visual Studio Trace Files +*.e2e # TFS 2012 Local Workspace $tf/ @@ -85,7 +118,7 @@ _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user -# JustCode is a .NET coding addin-in +# JustCode is a .NET coding add-in .JustCode # TeamCity is a build add-in @@ -94,9 +127,18 @@ _TeamCity* # DotCover is a Code Coverage Tool *.dotCover +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + # NCrunch _NCrunch_* .*crunch*.local.xml +nCrunchTemp_* # MightyMoose *.mm.* @@ -124,42 +166,63 @@ publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml -## TODO: Comment the next line if you want to checkin your -## web deploy settings but do note that will include unencrypted -## passwords -#*.pubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj -# NuGet Packages Directory -packages/* -## TODO: If the tool you use requires repositories.config -## uncomment the next line -#!packages/repositories.config +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ -# Enable "build/" folder in the NuGet Packages folder since -# NuGet packages use it for MSBuild targets. -# This line needs to be after the ignore of the build folder -# (and the packages folder if the line above has been uncommented) -!packages/build/ +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets -# Windows Azure Build Output +# Microsoft Azure Build Output csx/ *.build.csdef -# Windows Store app package directory +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ # Others -sql/ -*.Cache ClientBin/ -[Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.dbproj.schemaview +*.jfm *.pfx *.publishsettings -node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ # RIA/Silverlight projects Generated_Code/ @@ -175,6 +238,7 @@ UpgradeLog*.htm # SQL Server files *.mdf *.ldf +*.ndf # Business Intelligence projects *.rdl.data @@ -184,7 +248,69 @@ UpgradeLog*.htm # Microsoft Fakes FakesAssemblies/ -# LightSwitch generated files -GeneratedArtifacts/ -_Pvt_Extensions/ -ModelManifest.xml \ No newline at end of file +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# TypeScript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ \ No newline at end of file diff --git a/Filtration.Common.Tests/Filtration.Common.Tests.csproj b/Filtration.Common.Tests/Filtration.Common.Tests.csproj index f5eaeec..4cef0e6 100644 --- a/Filtration.Common.Tests/Filtration.Common.Tests.csproj +++ b/Filtration.Common.Tests/Filtration.Common.Tests.csproj @@ -35,13 +35,11 @@ ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll True - - ..\packages\Moq.4.5.21\lib\net45\Moq.dll - True + + ..\packages\Moq.4.5.30\lib\net45\Moq.dll - - ..\packages\NUnit.3.4.1\lib\net45\nunit.framework.dll - True + + ..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll diff --git a/Filtration.Common.Tests/packages.config b/Filtration.Common.Tests/packages.config index c5d64ff..4b97194 100644 --- a/Filtration.Common.Tests/packages.config +++ b/Filtration.Common.Tests/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Filtration.Common/Filtration.Common.csproj b/Filtration.Common/Filtration.Common.csproj index 3e0716c..13f3165 100644 --- a/Filtration.Common/Filtration.Common.csproj +++ b/Filtration.Common/Filtration.Common.csproj @@ -35,8 +35,8 @@ ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll True - - ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll + + ..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll diff --git a/Filtration.Common/Utilities/LineReader.cs b/Filtration.Common/Utilities/LineReader.cs index 94dea54..1811195 100644 --- a/Filtration.Common/Utilities/LineReader.cs +++ b/Filtration.Common/Utilities/LineReader.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Text; @@ -21,6 +22,7 @@ namespace Filtration.Common.Utilities /// the stream into text. /// /// Data source + [DebuggerStepThrough] public LineReader(Func streamSource) : this(streamSource, Encoding.UTF8) { @@ -33,6 +35,7 @@ namespace Filtration.Common.Utilities /// Data source /// Encoding to use to decode the stream /// into text + [DebuggerStepThrough] public LineReader(Func streamSource, Encoding encoding) : this(() => new StreamReader(streamSource(), encoding)) { @@ -44,6 +47,7 @@ namespace Filtration.Common.Utilities /// UTF8 is used to decode the file into text. /// /// File to read from + [DebuggerStepThrough] public LineReader(string filename) : this(filename, Encoding.UTF8) { @@ -56,6 +60,7 @@ namespace Filtration.Common.Utilities /// File to read from /// Encoding to use to decode the file /// into text + [DebuggerStepThrough] public LineReader(string filename, Encoding encoding) : this(() => new StreamReader(filename, encoding)) { @@ -66,6 +71,7 @@ namespace Filtration.Common.Utilities /// is only called when the enumerator is fetched /// /// Data source + [DebuggerStepThrough] public LineReader(Func dataSource) { _dataSource = dataSource; @@ -74,6 +80,7 @@ namespace Filtration.Common.Utilities /// /// Enumerates the data source line by line. /// + [DebuggerStepThrough] public IEnumerator GetEnumerator() { using (TextReader reader = _dataSource()) @@ -89,6 +96,7 @@ namespace Filtration.Common.Utilities /// /// Enumerates the data source line by line. /// + [DebuggerStepThrough] IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); diff --git a/Filtration.Common/packages.config b/Filtration.Common/packages.config index 088a524..0173a29 100644 --- a/Filtration.Common/packages.config +++ b/Filtration.Common/packages.config @@ -1,7 +1,7 @@  - + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj b/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj index 5869c8a..30c7e22 100644 --- a/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj +++ b/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj @@ -46,9 +46,8 @@ ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True - - ..\packages\NUnit.3.4.1\lib\net45\nunit.framework.dll - True + + ..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll diff --git a/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs b/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs index 60db3ef..a593d1f 100644 --- a/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs +++ b/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs @@ -6,6 +6,7 @@ using NUnit.Framework; namespace Filtration.ItemFilterPreview.Data.Tests.Repositories { + [Ignore("integration test")] [TestFixture] public class TestItemSetRepository { diff --git a/Filtration.ItemFilterPreview.Data.Tests/packages.config b/Filtration.ItemFilterPreview.Data.Tests/packages.config index 5229672..f051d19 100644 --- a/Filtration.ItemFilterPreview.Data.Tests/packages.config +++ b/Filtration.ItemFilterPreview.Data.Tests/packages.config @@ -1,7 +1,7 @@  - + diff --git a/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj b/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj index e6f2a41..9f42fc4 100644 --- a/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj +++ b/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj @@ -46,21 +46,17 @@ ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll True - - ..\packages\FluentAssertions.4.13.1\lib\net45\FluentAssertions.dll - True + + ..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.dll - - ..\packages\FluentAssertions.4.13.1\lib\net45\FluentAssertions.Core.dll - True + + ..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.Core.dll - - ..\packages\Moq.4.5.21\lib\net45\Moq.dll - True + + ..\packages\Moq.4.5.30\lib\net45\Moq.dll - - ..\packages\NUnit.3.4.1\lib\net45\nunit.framework.dll - True + + ..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll @@ -121,7 +117,6 @@ - - - + - - - + + - @@ -36,14 +37,14 @@ - + - + @@ -59,9 +60,9 @@ BorderThickness="0" ScrollViewer.HorizontalScrollBarVisibility="Disabled" VirtualizingStackPanel.VirtualizationMode="Recycling" - ItemTemplateSelector="{StaticResource BlockTemplateSelector}" - attachedProperties:SelectingItemAttachedProperty.SelectingItem="{Binding SectionBrowserSelectedBlockViewModel}" - SelectedItem="{Binding SelectedBlockViewModel}" x:Name="BlocksListBox"> + attachedProperties:SelectingItemAttachedProperty.SelectingItem="{Binding CommentBlockBrowserBrowserSelectedBlockViewModel}" + SelectedItem="{Binding SelectedBlockViewModel}"> + diff --git a/Filtration/Views/MainWindow.xaml b/Filtration/Views/MainWindow.xaml index 46b6ac2..e914d0d 100644 --- a/Filtration/Views/MainWindow.xaml +++ b/Filtration/Views/MainWindow.xaml @@ -9,15 +9,24 @@ xmlns:viewsAvalonDock="clr-namespace:Filtration.Views.AvalonDock" xmlns:views="clr-namespace:Filtration.Views" xmlns:gif="http://wpfanimatedgif.codeplex.com" + xmlns:utility="clr-namespace:Filtration.Utility" mc:Ignorable="d" d:DataContext="{d:DesignInstance Type=viewModels:MainWindowViewModel}" Title="{Binding WindowTitle}" Height="762" Width="1126" IsIconVisible="True" Closing="MainWindow_OnClosing" Drop="MainWindow_OnDrop" AllowDrop="True"> + + + + + + + @@ -27,7 +36,7 @@ - Recent Documents will go here in a future release. + Recent Documents will go here in a future release. @@ -67,7 +76,7 @@ - + @@ -80,6 +89,12 @@ + + + @@ -146,4 +161,5 @@ + \ No newline at end of file diff --git a/Filtration/Views/ToolPanes/SectionBrowserView.xaml b/Filtration/Views/ToolPanes/CommentBlockBrowserView.xaml similarity index 70% rename from Filtration/Views/ToolPanes/SectionBrowserView.xaml rename to Filtration/Views/ToolPanes/CommentBlockBrowserView.xaml index 5a34ece..13ec390 100644 --- a/Filtration/Views/ToolPanes/SectionBrowserView.xaml +++ b/Filtration/Views/ToolPanes/CommentBlockBrowserView.xaml @@ -1,19 +1,19 @@ - - @@ -21,7 +21,7 @@ - + diff --git a/Filtration/Views/ToolPanes/SectionBrowserView.xaml.cs b/Filtration/Views/ToolPanes/CommentBlockBrowserView.xaml.cs similarity index 55% rename from Filtration/Views/ToolPanes/SectionBrowserView.xaml.cs rename to Filtration/Views/ToolPanes/CommentBlockBrowserView.xaml.cs index bd977be..5e9b6da 100644 --- a/Filtration/Views/ToolPanes/SectionBrowserView.xaml.cs +++ b/Filtration/Views/ToolPanes/CommentBlockBrowserView.xaml.cs @@ -1,8 +1,8 @@ namespace Filtration.Views.ToolPanes { - public partial class SectionBrowserView + public partial class CommentBlockBrowserView { - public SectionBrowserView() + public CommentBlockBrowserView() { InitializeComponent(); } diff --git a/Filtration/WindsorInstallers/ServicesInstaller.cs b/Filtration/WindsorInstallers/ServicesInstaller.cs index ec3b2e4..d96e5a1 100644 --- a/Filtration/WindsorInstallers/ServicesInstaller.cs +++ b/Filtration/WindsorInstallers/ServicesInstaller.cs @@ -2,7 +2,6 @@ using Castle.MicroKernel.SubSystems.Configuration; using Castle.Windsor; using Filtration.Services; -using Filtration.Utilities; namespace Filtration.WindsorInstallers { @@ -20,11 +19,6 @@ namespace Filtration.WindsorInstallers .ImplementedBy() .LifeStyle.Singleton); - container.Register( - Component.For() - .ImplementedBy() - .LifeStyle.Singleton); - container.Register( Component.For() .ImplementedBy() diff --git a/Filtration/WindsorInstallers/ViewModelsInstaller.cs b/Filtration/WindsorInstallers/ViewModelsInstaller.cs index d002ac1..30afd6e 100644 --- a/Filtration/WindsorInstallers/ViewModelsInstaller.cs +++ b/Filtration/WindsorInstallers/ViewModelsInstaller.cs @@ -3,6 +3,7 @@ using Castle.MicroKernel.Registration; using Castle.MicroKernel.SubSystems.Configuration; using Castle.Windsor; using Filtration.ViewModels; +using Filtration.ViewModels.Factories; using Filtration.ViewModels.ToolPanes; namespace Filtration.WindsorInstallers @@ -26,6 +27,11 @@ namespace Filtration.WindsorInstallers .ImplementedBy() .LifeStyle.Transient); + container.Register( + Component.For() + .ImplementedBy() + .LifeStyle.Transient); + container.Register( Component.For() .ImplementedBy() @@ -42,8 +48,8 @@ namespace Filtration.WindsorInstallers .LifeStyle.Singleton); container.Register( - Component.For() - .ImplementedBy() + Component.For() + .ImplementedBy() .LifeStyle.Singleton); container.Register( @@ -69,8 +75,16 @@ namespace Filtration.WindsorInstallers container.Register( Component.For().AsFactory()); + container.Register( + Component.For().AsFactory()); + container.Register( Component.For().AsFactory()); + + container.Register( + Component.For() + .ImplementedBy() + .LifeStyle.Singleton); } } } diff --git a/Filtration/packages.config b/Filtration/packages.config index da3f499..d24e04a 100644 --- a/Filtration/packages.config +++ b/Filtration/packages.config @@ -1,17 +1,17 @@  - + - + - + - + - + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..56a2d0c --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,7 @@ +version: 1.0.{build}-{branch} +image: Visual Studio 2017 +before_build: + - nuget restore +build: + parallel: true + verbosity: minimal \ No newline at end of file