├── .gitignore ├── README.md └── src-original-ARCHIVE ├── RestBugs Solution ├── .nuget │ ├── NuGet.Config │ ├── NuGet.exe │ └── NuGet.targets ├── RestBugs Solution.sln ├── RestBugs Solution.sln.DotSettings ├── RestBugs.ConsoleClient │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RestBugs.ConsoleClient.csproj │ ├── app.config │ └── packages.config ├── RestBugs.ConsoleHost │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RestBugs.ConsoleHost.csproj │ ├── app.config │ └── packages.config ├── RestBugs.KatanaHost │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RestBugs.KatanaHost.csproj │ ├── Startup.cs │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ └── packages.config ├── RestBugs.Services.Specs │ ├── BugHelper.cs │ ├── BugSpecs.cs │ ├── DefaultControllerBehaviorConfig.cs │ ├── DoneControllerSpecs.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QaControllerSpecs.cs │ ├── RestBugs.Services.Specs.csproj │ ├── WorkingControllerSpecs.cs │ └── packages.config ├── RestBugs.Services │ ├── AutoMapperConfig.cs │ ├── Formatters │ │ └── RazorMediaTypeFormatter_Of_T.cs │ ├── Infrastructure │ │ ├── DebuggingExceptionFilter.cs │ │ ├── MvcActionValueBinder.cs │ │ ├── NinjectDependencyResolver.cs │ │ ├── TemplateBase.cs │ │ └── TemplateEngine.cs │ ├── MessageHandlers │ │ ├── EtagMessageHandler.cs │ │ ├── IETagStore.cs │ │ └── InMemoryETagStore.cs │ ├── Model │ │ ├── Bug.cs │ │ ├── BugDTO.cs │ │ ├── BugModel.cs │ │ ├── BugStatus.cs │ │ ├── BugsModelState.cs │ │ ├── IBugRepository.cs │ │ └── StaticBugRepository.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RestBugs.Services.csproj │ ├── ServiceConfiguration.cs │ ├── Services │ │ ├── BacklogController.cs │ │ ├── DoneController.cs │ │ ├── IndexController.cs │ │ ├── QaController.cs │ │ └── WorkingController.cs │ ├── Templates │ │ ├── bugs-all-json.cshtml │ │ └── bugs-all.cshtml │ └── packages.config ├── RestBugs.Web │ ├── Content │ │ ├── Site.css │ │ └── themes │ │ │ └── base │ │ │ ├── images │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ │ ├── jquery-ui.css │ │ │ ├── jquery.ui.accordion.css │ │ │ ├── jquery.ui.all.css │ │ │ ├── jquery.ui.autocomplete.css │ │ │ ├── jquery.ui.base.css │ │ │ ├── jquery.ui.button.css │ │ │ ├── jquery.ui.core.css │ │ │ ├── jquery.ui.datepicker.css │ │ │ ├── jquery.ui.dialog.css │ │ │ ├── jquery.ui.menu.css │ │ │ ├── jquery.ui.progressbar.css │ │ │ ├── jquery.ui.resizable.css │ │ │ ├── jquery.ui.selectable.css │ │ │ ├── jquery.ui.slider.css │ │ │ ├── jquery.ui.spinner.css │ │ │ ├── jquery.ui.tabs.css │ │ │ ├── jquery.ui.theme.css │ │ │ ├── jquery.ui.tooltip.css │ │ │ └── minified │ │ │ ├── images │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ │ ├── jquery-ui.min.css │ │ │ ├── jquery.ui.accordion.min.css │ │ │ ├── jquery.ui.autocomplete.min.css │ │ │ ├── jquery.ui.button.min.css │ │ │ ├── jquery.ui.core.min.css │ │ │ ├── jquery.ui.datepicker.min.css │ │ │ ├── jquery.ui.dialog.min.css │ │ │ ├── jquery.ui.menu.min.css │ │ │ ├── jquery.ui.progressbar.min.css │ │ │ ├── jquery.ui.resizable.min.css │ │ │ ├── jquery.ui.selectable.min.css │ │ │ ├── jquery.ui.slider.min.css │ │ │ ├── jquery.ui.spinner.min.css │ │ │ ├── jquery.ui.tabs.min.css │ │ │ ├── jquery.ui.theme.min.css │ │ │ └── jquery.ui.tooltip.min.css │ ├── Controllers │ │ └── HomeController.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── README.jQuery.vsdoc.txt │ ├── RestBugs.Web.csproj │ ├── Scripts │ │ ├── MicrosoftAjax.debug.js │ │ ├── MicrosoftAjax.js │ │ ├── MicrosoftMvcAjax.debug.js │ │ ├── MicrosoftMvcAjax.js │ │ ├── MicrosoftMvcValidation.debug.js │ │ ├── MicrosoftMvcValidation.js │ │ ├── jquery-1.5.1.js │ │ ├── jquery-1.5.1.min.js │ │ ├── jquery-1.7.2.js │ │ ├── jquery-1.7.2.min.js │ │ ├── jquery-1.8.3.intellisense.js │ │ ├── jquery-1.8.3.js │ │ ├── jquery-1.8.3.min.js │ │ ├── jquery-ui-1.8.11.js │ │ ├── jquery-ui-1.8.11.min.js │ │ ├── jquery-ui-1.8.22.js │ │ ├── jquery-ui-1.8.22.min.js │ │ ├── jquery-ui-1.9.2.js │ │ ├── jquery-ui-1.9.2.min.js │ │ ├── jquery.unobtrusive-ajax.js │ │ ├── jquery.unobtrusive-ajax.min.js │ │ ├── jquery.validate-vsdoc.js │ │ ├── jquery.validate.js │ │ ├── jquery.validate.min.js │ │ ├── jquery.validate.unobtrusive.js │ │ ├── jquery.validate.unobtrusive.min.js │ │ ├── modernizr-1.7.js │ │ ├── modernizr-1.7.min.js │ │ ├── modernizr-2.5.3.js │ │ └── modernizr-2.6.2.js │ ├── Views │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ └── packages.config ├── UpgradeLog.XML └── design.txt ├── aspnet webapi migration-toRC.txt ├── aspnet webapi migration.txt └── postdata ├── bugDtoForm-ValFail.txt ├── bugDtoForm.txt ├── bugDtoJson.txt ├── bugDtoText-ValFail.txt ├── bugDtoText.txt └── bugDtoXml.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *.user 2 | bin/ 3 | obj/ 4 | *.suo 5 | Output/ 6 | Working/ 7 | Bin/ 8 | App_Data/ 9 | *.svclog 10 | _ReSharper* 11 | Packages/ 12 | packages/ 13 | .DS_Store 14 | *.dll 15 | node_modules 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RestBugs 2 | A simple, hypermedia-driven bug tracking API 3 | 4 | Thanks for stopping by! 5 | 6 | This repository is a companion to my [REST Fundamentals](http://www.pluralsight.com/courses/rest-fundamentals) Pluralsight course. That course walked through the very high level principles behind the REST architectural style, and the code in this repository sought to provide a reference. The focus was not, however, to go into any actual construction details. 7 | 8 | I'm currently ramping up to start work on a new course which will focus on the more detailed design and implementation decisions that are made as a part of constructing a RESTful service. And as a result, this repository is going to be undergoing some major changes in the next few months. 9 | 10 | One change that will happen immediately is that the original .NET source code will be moved into an archive directory and not maintained with the source control going forward. This is because it is still the reference code for the initial Pluralsight course and may help as reference for a .NET developer out there. As the new course eclipses the first one, I may decide to put that code out of its misery and just delete it from the master branch. 11 | 12 | All of the new code will be written in NodeJS and hosted on AWS. As I build out the service, I'll provide URLs for the public endpoint as well as a Vagrantfile so that you can run it locally. 13 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/.nuget/NuGet.exe -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/.nuget/NuGet.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildProjectDirectory)\..\ 5 | 6 | 7 | false 8 | 9 | 10 | false 11 | 12 | 13 | true 14 | 15 | 16 | false 17 | 18 | 19 | 20 | 21 | 25 | 26 | 27 | 28 | 29 | $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) 30 | $([System.IO.Path]::Combine($(ProjectDir), "packages.config")) 31 | 32 | 33 | 34 | 35 | $(SolutionDir).nuget 36 | packages.config 37 | 38 | 39 | 40 | 41 | $(NuGetToolsPath)\nuget.exe 42 | @(PackageSource) 43 | 44 | "$(NuGetExePath)" 45 | mono --runtime=v4.0.30319 $(NuGetExePath) 46 | 47 | $(TargetDir.Trim('\\')) 48 | 49 | -RequireConsent 50 | 51 | $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -solutionDir "$(SolutionDir) " 52 | $(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols 53 | 54 | 55 | 56 | RestorePackages; 57 | $(ResolveReferencesDependsOn); 58 | 59 | 60 | 61 | 62 | $(BuildDependsOn); 63 | BuildPackage; 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | 93 | 95 | 96 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs Solution.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | SUGGESTION -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleClient/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RestBugs.ConsoleClient")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("RestBugs.ConsoleClient")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("ca22aea5-560a-4a62-ad4d-4ae874f45f13")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleClient/RestBugs.ConsoleClient.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {54DCBF6E-EE50-426E-B12F-33DAB81E1074} 9 | Exe 10 | Properties 11 | RestBugs.ConsoleClient 12 | RestBugs.ConsoleClient 13 | v4.5 14 | 15 | 16 | 512 17 | ..\ 18 | true 19 | 20 | 21 | x86 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | false 30 | 31 | 32 | x86 33 | pdbonly 34 | true 35 | bin\Release\ 36 | TRACE 37 | prompt 38 | 4 39 | false 40 | 41 | 42 | 43 | 44 | 45 | 46 | ..\packages\Microsoft.Net.Http.2.1.10\lib\net45\System.Net.Http.Extensions.dll 47 | 48 | 49 | ..\packages\Microsoft.Net.Http.2.1.10\lib\net45\System.Net.Http.Primitives.dll 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 75 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleClient/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleClient/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleHost/Program.cs: -------------------------------------------------------------------------------- 1 | using RestBugs.Services; 2 | using System; 3 | using System.Web.Http.SelfHost; 4 | 5 | namespace RestBugs.ConsoleHost 6 | { 7 | class Program 8 | { 9 | static void Main() { 10 | var config = new HttpSelfHostConfiguration(new Uri("http://localhost:9200")); 11 | 12 | ServiceConfiguration.Configure(config); 13 | 14 | var host = new HttpSelfHostServer(config); 15 | 16 | host.OpenAsync().Wait(); 17 | 18 | Console.WriteLine("Press any key to exit"); 19 | Console.ReadLine(); 20 | 21 | host.CloseAsync().Wait(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleHost/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RestBugs.ConsoleHost")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("RestBugs.ConsoleHost")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("3c355f40-c9d1-4756-a8ae-c9d474a41ff8")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleHost/RestBugs.ConsoleHost.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {918F3150-2444-477C-86BD-4C35F0512261} 9 | Exe 10 | Properties 11 | RestBugs.ConsoleHost 12 | RestBugs.ConsoleHost 13 | v4.5 14 | 15 | 16 | 512 17 | ..\ 18 | true 19 | 20 | 21 | x86 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | false 30 | 31 | 32 | x86 33 | pdbonly 34 | true 35 | bin\Release\ 36 | TRACE 37 | prompt 38 | 4 39 | false 40 | 41 | 42 | 43 | False 44 | ..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll 45 | 46 | 47 | False 48 | ..\packages\Ninject.3.0.1.10\lib\net45-full\Ninject.dll 49 | 50 | 51 | 52 | 53 | 54 | False 55 | ..\packages\Microsoft.AspNet.WebApi.Client.5.0.0-rc1-130719\lib\net45\System.Net.Http.Formatting.dll 56 | 57 | 58 | 59 | False 60 | ..\packages\Microsoft.AspNet.WebApi.Core.5.0.0-rc1-130719\lib\net45\System.Web.Http.dll 61 | 62 | 63 | False 64 | ..\packages\Microsoft.AspNet.WebApi.SelfHost.5.0.0-rc1-130719\lib\net45\System.Web.Http.SelfHost.dll 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | Designer 78 | 79 | 80 | 81 | 82 | 83 | {1fe6f881-2365-418c-ad5c-ed987f07f393} 84 | RestBugs.Services 85 | 86 | 87 | 88 | 89 | 96 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleHost/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.ConsoleHost/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RestBugs.KatanaHost")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RestBugs.KatanaHost")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("276ea131-496c-4a5c-9520-5f7fc6d594b1")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/RestBugs.KatanaHost.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 8 | 9 | 2.0 10 | {701EA0B2-5BBD-45E8-9E74-68F08DC4D87F} 11 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 12 | Library 13 | Properties 14 | RestBugs.KatanaHost 15 | RestBugs.KatanaHost 16 | v4.5 17 | true 18 | 19 | 20 | 21 | 22 | ..\ 23 | true 24 | 25 | 26 | true 27 | full 28 | false 29 | bin\ 30 | DEBUG;TRACE 31 | prompt 32 | 4 33 | 34 | 35 | pdbonly 36 | true 37 | bin\ 38 | TRACE 39 | prompt 40 | 4 41 | 42 | 43 | 44 | 45 | ..\packages\Microsoft.Owin.2.0.0-rc1-20719-476\lib\net45\Microsoft.Owin.dll 46 | 47 | 48 | False 49 | ..\packages\Microsoft.Owin.Host.HttpListener.2.0.0-rc1-20719-476\lib\net45\Microsoft.Owin.Host.HttpListener.dll 50 | 51 | 52 | False 53 | ..\packages\Microsoft.Owin.Host.SystemWeb.2.0.0-rc1-20719-476\lib\net45\Microsoft.Owin.Host.SystemWeb.dll 54 | 55 | 56 | False 57 | ..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll 58 | 59 | 60 | ..\packages\Owin.1.0\lib\net40\Owin.dll 61 | 62 | 63 | 64 | False 65 | ..\packages\Microsoft.AspNet.WebApi.Client.5.0.0-rc1-130719\lib\net45\System.Net.Http.Formatting.dll 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | False 79 | ..\packages\Microsoft.AspNet.WebApi.Core.5.0.0-rc1-130719\lib\net45\System.Web.Http.dll 80 | 81 | 82 | ..\packages\Microsoft.AspNet.WebApi.Owin.5.0.0-rc1-130719\lib\net45\System.Web.Http.Owin.dll 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | Web.config 103 | 104 | 105 | Web.config 106 | 107 | 108 | 109 | 110 | {1fe6f881-2365-418c-ad5c-ed987f07f393} 111 | RestBugs.Services 112 | 113 | 114 | 115 | 10.0 116 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | True 126 | True 127 | 0 128 | / 129 | http://localhost:27307/ 130 | False 131 | False 132 | 133 | 134 | False 135 | 136 | 137 | 138 | 139 | 140 | 147 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/Startup.cs: -------------------------------------------------------------------------------- 1 | using System.Web.Http; 2 | using Owin; 3 | using RestBugs.Services; 4 | 5 | namespace RestBugs.KatanaHost 6 | { 7 | public class Startup 8 | { 9 | public void Configuration(IAppBuilder app) 10 | { 11 | var config = new HttpConfiguration(); 12 | ServiceConfiguration.Configure(config); 13 | 14 | app.UseWebApi(config); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/Web.Debug.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/Web.Release.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 33 | 34 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.KatanaHost/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/BugHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using RestBugs.Services.Model; 3 | 4 | namespace RestBugs.Services.Specs 5 | { 6 | public static class BugHelper 7 | { 8 | public static IEnumerable TestBugList { 9 | get { 10 | var bugs = new List 11 | { 12 | new Bug {Name = "Bug 1", Status = BugStatus.Working, Priority = 3}, 13 | new Bug {Name = "Bug 2", Status = BugStatus.Working, Priority = 1, Rank = 2}, 14 | new Bug {Name = "Bug 3", Status = BugStatus.Working, Priority = 1}, 15 | new Bug {Name = "Bug 4", Status = BugStatus.Done}, 16 | new Bug {Name = "Bug 5", Status = BugStatus.Backlog}, 17 | new Bug {Name = "Bug 6", Status = BugStatus.QA} 18 | }; 19 | 20 | return bugs; 21 | } 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/BugSpecs.cs: -------------------------------------------------------------------------------- 1 | using Machine.Specifications; 2 | using RestBugs.Services.Model; 3 | 4 | namespace RestBugs.Services.Specs 5 | { 6 | [Subject(typeof(Bug))] 7 | class when_creating_a_new_bug 8 | { 9 | Because of = () => { bug = new Bug(); }; 10 | 11 | It should_be_in_pending_state = () => bug.Status.ShouldEqual(BugStatus.Backlog); 12 | 13 | It should_have_1_entry_in_history = () => bug.History.Count.ShouldEqual(1); 14 | 15 | static Bug bug; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/DefaultControllerBehaviorConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | using System.Web.Http; 3 | using System.Web.Http.Hosting; 4 | using Machine.Fakes; 5 | using RestBugs.Services.Model; 6 | 7 | namespace RestBugs.Services.Specs 8 | { 9 | public class DefaultControllerBehaviorConfig 10 | { 11 | public DefaultControllerBehaviorConfig(ApiController controller) 12 | { 13 | var request = new HttpRequestMessage(); 14 | var cfg = new HttpConfiguration(); 15 | request.Properties[HttpPropertyKeys.HttpConfigurationKey] = cfg; 16 | controller.Request = request; 17 | } 18 | 19 | //what type is fakeAccessor 20 | OnEstablish context = fakeAccessor => 21 | { 22 | AutoMapperConfig.Configure(); 23 | 24 | fakeAccessor.The() 25 | .WhenToldTo(r => r.GetAll()) 26 | .Return(BugHelper.TestBugList); 27 | }; 28 | } 29 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/DoneControllerSpecs.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using Machine.Fakes; 4 | using Machine.Specifications; 5 | using System.Net.Http; 6 | using RestBugs.Services.Model; 7 | using RestBugs.Services.Services; 8 | using It = Machine.Specifications.It; 9 | 10 | namespace RestBugs.Services.Specs 11 | { 12 | [Subject(typeof(DoneController))] 13 | public class when_getting_all_done_bugs : WithSubject 14 | { 15 | Establish context = () => With(new DefaultControllerBehaviorConfig(Subject)); 16 | 17 | Because of = () => Subject.Get().TryGetContentValue(out model); 18 | 19 | It should_not_be_null = () => model.Bugs.ShouldNotBeNull(); 20 | 21 | It should_return_1_bug = () => model.Bugs.Count().ShouldEqual(1); 22 | 23 | static BugModel model; 24 | } 25 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RestBugs.Services.Specs")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("RestBugs.Services.Specs")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("9306504c-ca9e-46ee-804b-b92f1eb9edb8")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/QaControllerSpecs.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using Machine.Fakes; 4 | using Machine.Specifications; 5 | using System.Net.Http; 6 | using RestBugs.Services.Model; 7 | using RestBugs.Services.Services; 8 | using It = Machine.Specifications.It; 9 | 10 | namespace RestBugs.Services.Specs 11 | { 12 | [Subject(typeof(QaController))] 13 | public class when_getting_all_qa_bugs : WithSubject 14 | { 15 | Establish context = () => With(new DefaultControllerBehaviorConfig(Subject)); 16 | 17 | Because of = () => Subject.Get().TryGetContentValue(out model); 18 | 19 | It should_not_be_null = () => model.Bugs.ShouldNotBeNull(); 20 | 21 | It should_return_1_bug = () => model.Bugs.Count().ShouldEqual(1); 22 | 23 | static BugModel model; 24 | } 25 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/RestBugs.Services.Specs.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {0777C6CB-7F07-4A09-BF0A-A7FF8028F48E} 9 | Library 10 | Properties 11 | RestBugs.Services.Specs 12 | RestBugs.Services.Specs 13 | v4.5 14 | 512 15 | 16 | ..\ 17 | true 18 | 19 | 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | false 30 | 31 | 32 | pdbonly 33 | true 34 | bin\Release\ 35 | TRACE 36 | prompt 37 | 4 38 | false 39 | 40 | 41 | 42 | False 43 | ..\packages\Machine.Fakes.1.6.0\lib\net40\Machine.Fakes.dll 44 | 45 | 46 | False 47 | ..\packages\Machine.Fakes.Moq.1.6.0\lib\net40\Machine.Fakes.Adapters.Moq.dll 48 | 49 | 50 | False 51 | ..\packages\Machine.Specifications.0.5.12\lib\net40\Machine.Specifications.dll 52 | 53 | 54 | False 55 | ..\packages\Machine.Specifications.0.5.12\lib\net40\Machine.Specifications.Clr4.dll 56 | 57 | 58 | ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll 59 | 60 | 61 | False 62 | ..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll 63 | 64 | 65 | 66 | 67 | 68 | False 69 | ..\packages\Microsoft.AspNet.WebApi.Client.5.0.0-rc1-130719\lib\net45\System.Net.Http.Formatting.dll 70 | 71 | 72 | 73 | False 74 | ..\packages\Microsoft.AspNet.WebApi.Core.5.0.0-rc1-130719\lib\net45\System.Web.Http.dll 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | {1FE6F881-2365-418C-AD5C-ED987F07F393} 97 | RestBugs.Services 98 | 99 | 100 | 101 | 102 | 109 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/WorkingControllerSpecs.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Net; 4 | using System.Net.Http; 5 | using Machine.Fakes; 6 | using Machine.Specifications; 7 | using RestBugs.Services.Model; 8 | using RestBugs.Services.Services; 9 | using It = Machine.Specifications.It; 10 | 11 | namespace RestBugs.Services.Specs 12 | { 13 | [Subject(typeof(WorkingController))] 14 | public class when_getting_all_working_bugs : WithSubject 15 | { 16 | Establish context = () => { 17 | With(new DefaultControllerBehaviorConfig(Subject)); 18 | 19 | expectedResult = new List { 20 | new BugDTO {Title = "Bug 3", Status = "Working"}, 21 | new BugDTO {Title = "Bug 2", Status = "Working"}, 22 | new BugDTO {Title = "Bug 1", Status = "Working"} 23 | }; 24 | }; 25 | 26 | Because of = () => Subject.Get().TryGetContentValue(out model); 27 | 28 | It should_not_be_null = () => model.Bugs.ShouldNotBeNull(); 29 | 30 | It should_return_3_bugs = () => model.Bugs.Count().ShouldEqual(3); 31 | 32 | It should_sort_bugs_in_order_of_priority_then_rank = () => model.Bugs.ShouldEqual(expectedResult); 33 | 34 | static BugModel model; 35 | static IEnumerable expectedResult; 36 | } 37 | 38 | [Subject(typeof(WorkingController))] 39 | public class when_posting_bug_to_working : WithSubject 40 | { 41 | Establish context = () => { 42 | With(new DefaultControllerBehaviorConfig(Subject)); 43 | 44 | var testBug = new Bug {Id = 1}; 45 | 46 | The() 47 | .WhenToldTo(r => r.Get(1)) 48 | .Return(testBug); 49 | 50 | The() 51 | .WhenToldTo(r => r.GetAll()) 52 | .Return(new[] {testBug}); 53 | }; 54 | 55 | Because of = () => { 56 | responseMessage = Subject.Post(1, "activating bug 1"); 57 | result = responseMessage.TryGetContentValue(out model); 58 | }; 59 | 60 | It should_succeed_in_getting_result_content = () => result.ShouldBeTrue(); 61 | 62 | It should_not_be_null_result = () => responseMessage.ShouldNotBeNull(); 63 | 64 | It should_not_be_null_result_content = () => model.Bugs.ShouldNotBeNull(); 65 | 66 | It should_have_1_bug_in_it = () => model.Bugs.Count().ShouldEqual(1); 67 | 68 | It should_contain_a_bug_with_id_1 = () => model.Bugs.First().Id.ShouldEqual(1); 69 | 70 | static HttpResponseMessage responseMessage; 71 | static BugModel model; 72 | static bool result; 73 | } 74 | 75 | [Subject(typeof(WorkingController))] 76 | public class when_posting_nonexistant_bug_to_working : WithSubject 77 | { 78 | Establish context = () => { 79 | AutoMapperConfig.Configure(); 80 | 81 | The() 82 | .WhenToldTo(r => r.Get(100)) 83 | .Return(null as Bug); 84 | }; 85 | 86 | Because of = () => responseMessage = Subject.Post(100, "activating bug 1"); 87 | 88 | It should_return_response_message = () => responseMessage.ShouldNotBeNull(); 89 | 90 | It should_have_404_status_code = () => responseMessage.StatusCode.ShouldEqual(HttpStatusCode.NotFound); 91 | 92 | static HttpResponseMessage responseMessage; 93 | } 94 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services.Specs/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/AutoMapperConfig.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using RestBugs.Services.Model; 3 | 4 | namespace RestBugs.Services 5 | { 6 | public static class AutoMapperConfig 7 | { 8 | public static void Configure() 9 | { 10 | var bug2Dto = Mapper.CreateMap(); 11 | bug2Dto.ForMember(dto => dto.Title, e => e.MapFrom(b => b.Name)); 12 | 13 | var dto2Bug = Mapper.CreateMap(); 14 | dto2Bug.ForMember(b => b.Name, e => e.MapFrom(d => d.Title)); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Formatters/RazorMediaTypeFormatter_Of_T.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Http.Formatting; 3 | using System.Net.Http.Headers; 4 | using System.IO; 5 | using System.Net; 6 | using System.Threading.Tasks; 7 | using RestBugs.Services.Infrastructure; 8 | 9 | namespace RestBugs.Services.Formatters 10 | { 11 | public class RazorMediaTypeFormatter : MediaTypeFormatter 12 | { 13 | private string _template; 14 | 15 | public RazorMediaTypeFormatter(string template, params MediaTypeHeaderValue[] mediaTypes) 16 | { 17 | foreach (var mediaType in mediaTypes) 18 | SupportedMediaTypes.Add(mediaType); 19 | 20 | _template = template; 21 | } 22 | 23 | public override bool CanWriteType(Type type) 24 | { 25 | return (type == typeof(T) || type.IsSubclassOf(typeof(T))); 26 | } 27 | 28 | public override Task WriteToStreamAsync(Type type, object value, Stream writeStream, System.Net.Http.HttpContent content, TransportContext transportContext) 29 | { 30 | return Task.Factory.StartNew(() => WriteStream(value, writeStream)); 31 | } 32 | 33 | void WriteStream(object value, Stream stream) 34 | { 35 | var templateManager = new TemplateEngine(); 36 | 37 | var valType = value == null ? null : value.GetType(); 38 | 39 | var currentTemplate = templateManager.CreateTemplateForType(valType, _template); 40 | 41 | // set the model for the template 42 | currentTemplate.Model = value; 43 | currentTemplate.Execute(); 44 | 45 | var streamWriter = new StreamWriter(stream); 46 | streamWriter.Write(currentTemplate.Buffer.ToString()); 47 | streamWriter.Flush(); 48 | 49 | currentTemplate.Buffer.Clear(); 50 | } 51 | 52 | public override bool CanReadType(Type type) 53 | { 54 | throw new NotImplementedException(); 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Infrastructure/DebuggingExceptionFilter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net; 3 | using System.Net.Http; 4 | using System.Web.Http.Filters; 5 | 6 | namespace RestBugs.Services.Infrastructure 7 | { 8 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)] 9 | public class DebuggingExceptionFilter : ExceptionFilterAttribute 10 | { 11 | public override void OnException(HttpActionExecutedContext actionExecutedContext) { 12 | var message = actionExecutedContext.Exception.Message; 13 | var response = new HttpResponseMessage(HttpStatusCode.InternalServerError); 14 | response.Content = new StringContent(message); 15 | 16 | actionExecutedContext.Response = response; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Infrastructure/MvcActionValueBinder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.Specialized; 4 | using System.Globalization; 5 | using System.Linq; 6 | using System.Net.Http; 7 | using System.Net.Http.Formatting; 8 | using System.Threading; 9 | using System.Threading.Tasks; 10 | using System.Web.Http; 11 | using System.Web.Http.Controllers; 12 | using System.Web.Http.ModelBinding; 13 | using System.Web.Http.ValueProviders; 14 | using System.Web.Http.ValueProviders.Providers; 15 | 16 | namespace RestBugs.Services.Infrastructure 17 | { 18 | //ref: http://blogs.msdn.com/b/jmstall/archive/2012/04/18/mvc-style-parameter-binding-for-webapi.aspx 19 | // Binder with MVC semantics. Treat the body as KeyValue pairs and model bind it. 20 | public class MvcActionValueBinder : DefaultActionValueBinder 21 | { 22 | // Per-request storage, uses the Request.Properties bag. We need a unique key into the bag. 23 | private const string Key = "5DC187FB-BFA0-462A-AB93-9E8036871EC8"; 24 | 25 | public override HttpActionBinding GetBinding(HttpActionDescriptor actionDescriptor) 26 | { 27 | MvcActionBinding actionBinding = new MvcActionBinding(); 28 | 29 | HttpParameterDescriptor[] parameters = actionDescriptor.GetParameters().ToArray(); 30 | HttpParameterBinding[] binders = Array.ConvertAll(parameters, p => DetermineBinding(actionBinding, p)); 31 | 32 | actionBinding.ParameterBindings = binders; 33 | 34 | return actionBinding; 35 | } 36 | 37 | private HttpParameterBinding DetermineBinding(MvcActionBinding actionBinding, HttpParameterDescriptor parameter) 38 | { 39 | HttpConfiguration config = parameter.Configuration; 40 | 41 | var attr = new ModelBinderAttribute(); // use default settings 42 | 43 | ModelBinderProvider provider = attr.GetModelBinderProvider(config); 44 | IModelBinder binder = provider.GetBinder(config, parameter.ParameterType); 45 | 46 | // Alternatively, we could put this ValueProviderFactory in the global config. 47 | List vpfs = new List(attr.GetValueProviderFactories(config)); 48 | vpfs.Add(new BodyValueProviderFactory()); 49 | 50 | return new ModelBinderParameterBinding(parameter, binder, vpfs); 51 | } 52 | 53 | // Derive from ActionBinding so that we have a chance to read the body once and then share that with all the parameters. 54 | private class MvcActionBinding : HttpActionBinding 55 | { 56 | // Read the body upfront , add as a ValueProvider 57 | public override Task ExecuteBindingAsync(HttpActionContext actionContext, CancellationToken cancellationToken) 58 | { 59 | HttpRequestMessage request = actionContext.ControllerContext.Request; 60 | HttpContent content = request.Content; 61 | if (content != null) 62 | { 63 | FormDataCollection fd = content.ReadAsAsync().Result; 64 | if (fd != null) 65 | { 66 | // NameValueCollection nvc = fd.ReadAsNameValueCollection(); 67 | 68 | IValueProvider vp = new NameValuePairsValueProvider(fd, CultureInfo.InvariantCulture); // NameValueCollectionValueProvider(nvc, CultureInfo.InvariantCulture); 69 | 70 | request.Properties.Add(Key, vp); 71 | } 72 | } 73 | 74 | return base.ExecuteBindingAsync(actionContext, cancellationToken); 75 | } 76 | } 77 | 78 | // Get a value provider over the body. This can be shared by all parameters. 79 | // This gets the values computed in MvcActionBinding. 80 | private class BodyValueProviderFactory : ValueProviderFactory 81 | { 82 | public override IValueProvider GetValueProvider(HttpActionContext actionContext) 83 | { 84 | object vp; 85 | actionContext.Request.Properties.TryGetValue(Key, out vp); 86 | return (IValueProvider)vp; // can be null 87 | } 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Infrastructure/NinjectDependencyResolver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Web.Http.Dependencies; 6 | using Ninject; 7 | using Ninject.Syntax; 8 | 9 | namespace RestBugs.Services.Infrastructure 10 | { 11 | public class NinjectDependencyScope : IDependencyScope 12 | { 13 | private IResolutionRoot resolver; 14 | 15 | internal NinjectDependencyScope(IResolutionRoot resolver) 16 | { 17 | this.resolver = resolver; 18 | } 19 | 20 | public void Dispose() 21 | { 22 | IDisposable disposable = resolver as IDisposable; 23 | if (disposable != null) 24 | disposable.Dispose(); 25 | 26 | resolver = null; 27 | } 28 | 29 | public object GetService(Type serviceType) 30 | { 31 | if (resolver == null) 32 | throw new ObjectDisposedException("this", "This scope has already been disposed"); 33 | 34 | return resolver.TryGet(serviceType); 35 | } 36 | 37 | public IEnumerable GetServices(Type serviceType) 38 | { 39 | if (resolver == null) 40 | throw new ObjectDisposedException("this", "This scope has already been disposed"); 41 | 42 | return resolver.GetAll(serviceType); 43 | } 44 | } 45 | 46 | public class NinjectDependencyResolver : NinjectDependencyScope, IDependencyResolver 47 | { 48 | private IKernel _kernel; 49 | 50 | public NinjectDependencyResolver(IKernel kernel) : base(kernel) 51 | { 52 | _kernel = kernel; 53 | } 54 | 55 | public IDependencyScope BeginScope() 56 | { 57 | return new NinjectDependencyScope(_kernel.BeginBlock()); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Infrastructure/TemplateBase.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using System.IO; 3 | 4 | namespace RestBugs.Services.Infrastructure 5 | { 6 | /// 7 | /// Adapted from: http://blog.andrewnurse.net/2010/11/16/HostingRazorOutsideOfASPNetRevisedForMVC3RC.aspx 8 | /// 9 | public abstract class TemplateBase 10 | { 11 | public StringBuilder Buffer { get; set; } 12 | public StringWriter Writer { get; set; } 13 | 14 | public TemplateBase() 15 | { 16 | Buffer = new StringBuilder(); 17 | Writer = new StringWriter(Buffer); 18 | } 19 | 20 | public abstract void Execute(); 21 | 22 | public virtual void Write(object value) 23 | { 24 | WriteLiteral(value); 25 | } 26 | 27 | public virtual void WriteLiteral(object value) 28 | { 29 | Buffer.Append(value); 30 | } 31 | 32 | public dynamic Model { get; set; } 33 | 34 | public string FormatXmlForHtml(string text) 35 | { 36 | var result = System.Web.HttpUtility.HtmlEncode(text); 37 | return result; 38 | //return result.Replace("\n", "
     ");//.Replace(" ", "     "); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Infrastructure/TemplateEngine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web.Razor; 5 | using System.CodeDom.Compiler; 6 | using System.Reflection; 7 | using Microsoft.CSharp; 8 | using System.IO; 9 | 10 | namespace RestBugs.Services.Infrastructure 11 | { 12 | /// 13 | /// This code adapted from: http://blog.andrewnurse.net/2010/11/16/HostingRazorOutsideOfASPNetRevisedForMVC3RC.aspx 14 | /// 15 | public class TemplateEngine 16 | { 17 | private static readonly RazorTemplateEngine Engine = InitializeTemplateEngine(); 18 | private static readonly Dictionary ModelTemplateTypeCache = new Dictionary(); 19 | private static readonly object CacheLock = new object(); 20 | 21 | public TemplateBase CreateTemplateForType(Type modelType, string templateFile = null) 22 | { 23 | Type templateType; 24 | var templateKey = templateFile ?? modelType.Name; 25 | if (!ModelTemplateTypeCache.TryGetValue(templateKey, out templateType)) 26 | { 27 | lock (CacheLock) 28 | { 29 | if (!ModelTemplateTypeCache.TryGetValue(templateKey, out templateType)) 30 | { 31 | templateType = InitializeTemplateType(templateKey); 32 | ModelTemplateTypeCache.Add(templateKey, templateType); 33 | } 34 | } 35 | } 36 | return Activator.CreateInstance(templateType) as TemplateBase; 37 | } 38 | 39 | private static Type InitializeTemplateType(string templateKey) 40 | { 41 | // Generate code for the template 42 | GeneratorResults razorResult; 43 | var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; 44 | 45 | var fileName = string.Format(@"Templates\{0}.cshtml", templateKey); 46 | 47 | // try to find the file in the local templates folder and fall back to bin folder if can't find anything 48 | // this is because Web hosts have the base directory as the vroot dir whereas console hosts will have the base directory == bin folder 49 | var fullPath = Path.Combine(baseDirectory, fileName); 50 | if(!File.Exists(fullPath)) { 51 | fullPath = Path.Combine(baseDirectory, "bin", fileName); 52 | if(!File.Exists(fullPath)) 53 | throw new FileNotFoundException(string.Format("Razor template '{0}' was not found.", fullPath)); 54 | } 55 | 56 | var templateText = File.ReadAllText(fullPath); 57 | using (TextReader rdr = new StringReader(templateText)) 58 | { 59 | razorResult = Engine.GenerateCode(rdr); 60 | } 61 | 62 | var codeProvider = new CSharpCodeProvider(); 63 | 64 | using (var sw = new StringWriter()) 65 | { 66 | codeProvider.GenerateCodeFromCompileUnit(razorResult.GeneratedCode, sw, new CodeGeneratorOptions()); 67 | } 68 | 69 | // Compile the generated code into an assembly 70 | string outputAssemblyName = Path.Combine(baseDirectory, String.Format("Temp_{0}.dll", Guid.NewGuid().ToString("N"))); 71 | var compilerParameters = new CompilerParameters(new[] { typeof(TemplateEngine).Assembly.CodeBase.Replace("file:///", "").Replace("/", "\\") }, outputAssemblyName); 72 | compilerParameters.ReferencedAssemblies.Add("System.Core.dll"); 73 | compilerParameters.ReferencedAssemblies.Add("Microsoft.CSharp.dll"); //<- needed to bind to dynamic type 74 | 75 | CompilerResults results = codeProvider.CompileAssemblyFromDom(compilerParameters, razorResult.GeneratedCode); 76 | 77 | if (results.Errors.HasErrors) 78 | { 79 | CompilerError err = results.Errors.OfType().Where(ce => !ce.IsWarning).First(); 80 | throw new InvalidOperationException(string.Format("Error Compiling Template: ({0}, {1}) {2}", err.Line, err.Column, err.ErrorText)); 81 | } 82 | 83 | // Load the assembly 84 | Assembly asm = Assembly.LoadFrom(outputAssemblyName); 85 | if (asm == null) 86 | { 87 | throw new InvalidOperationException("Error loading template assembly"); 88 | } 89 | // Get the template type 90 | return asm.GetType("RazorOutput.Template"); 91 | } 92 | 93 | private static RazorTemplateEngine InitializeTemplateEngine() 94 | { 95 | // Set up the hosting environment 96 | // a. Use the C# language (you could detect this based on the file extension if you want to) 97 | var host = new RazorEngineHost(new CSharpRazorCodeLanguage()) 98 | { 99 | DefaultBaseClass = typeof (TemplateBase).FullName, 100 | DefaultNamespace = "RazorOutput", 101 | DefaultClassName = "Template" 102 | }; 103 | 104 | // b. Set the base class 105 | 106 | // c. Set the output namespace and type name 107 | 108 | // d. Add default imports 109 | host.NamespaceImports.Add("System"); 110 | 111 | // Create the template engine using this host 112 | return new RazorTemplateEngine(host); 113 | } 114 | } 115 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/MessageHandlers/EtagMessageHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | using System.Linq; 3 | using System.Net; 4 | using System.Net.Http; 5 | using System.Net.Http.Headers; 6 | using System.Threading; 7 | using System.Threading.Tasks; 8 | 9 | namespace RestBugs.Services.MessageHandlers 10 | { 11 | public class EtagMessageHandler : DelegatingHandler 12 | { 13 | readonly IETagStore _eTagStore; 14 | 15 | public EtagMessageHandler() { 16 | Trace.WriteLine("EtagMessageHandler - Ctor"); 17 | 18 | _eTagStore = new InMemoryETagStore(); 19 | } 20 | 21 | protected override Task SendAsync(HttpRequestMessage request, 22 | CancellationToken cancellationToken) { 23 | 24 | Trace.WriteLine("EtagMessageHandler - SendAsync"); 25 | 26 | var taskFactory = new TaskFactory(); 27 | 28 | if (request.Method == HttpMethod.Get) { 29 | //if this is not a conditional get 30 | if (request.Headers.IfNoneMatch.Count == 0) 31 | return base.SendAsync(request, cancellationToken).ContinueWith(task => { 32 | Trace.WriteLine("EtagMessageHandler - Task - Not a conditional GET"); 33 | 34 | var resp = task.Result; 35 | resp.Headers.ETag = new EntityTagHeaderValue(_eTagStore.Fetch(request.RequestUri)); 36 | return resp; 37 | }); 38 | 39 | //if this is not modified, stop processing the message and return a 304; make sure the etag is also set 40 | if (IfNoneMatchContainsStoredEtagValue(request)) 41 | 42 | return taskFactory.StartNew(() => 43 | { 44 | Trace.WriteLine("EtagMessageHandler - Task - Conditional GET match"); 45 | 46 | var resp = new HttpResponseMessage(HttpStatusCode.NotModified); 47 | resp.Headers.ETag = new EntityTagHeaderValue(_eTagStore.Fetch(request.RequestUri)); 48 | return resp; 49 | }); 50 | 51 | //if this resource has been updated, let the request proceed to the operation and set a new etag on the return 52 | return base.SendAsync(request, cancellationToken).ContinueWith(task => { 53 | Trace.WriteLine("EtagMessageHandler - Task - Conditional GET not matched"); 54 | 55 | var resp = task.Result; 56 | resp.Headers.ETag = new EntityTagHeaderValue(_eTagStore.Fetch(request.RequestUri)); 57 | return resp; 58 | }); 59 | } 60 | 61 | if (request.Method == HttpMethod.Put || request.Method == HttpMethod.Post) 62 | //let the request processing continue; new etag value for resource; update response header 63 | if (IfMatchContainsStoredEtagValue(request)) 64 | return base.SendAsync(request, cancellationToken).ContinueWith(task => { 65 | Trace.WriteLine("EtagMessageHandler - Task - Conditional update matched"); 66 | 67 | var resp = task.Result; 68 | resp.Headers.ETag = new EntityTagHeaderValue(_eTagStore.UpdateETagFor(request.RequestUri)); 69 | return resp; 70 | }); 71 | 72 | //stop processing and return a 412/precondition failed; update response header 73 | else 74 | return taskFactory.StartNew(() => { 75 | Trace.WriteLine("EtagMessageHandler - Task - Conditional update not matched"); 76 | 77 | var resp = new HttpResponseMessage(HttpStatusCode.PreconditionFailed); 78 | resp.Headers.ETag = new EntityTagHeaderValue(_eTagStore.Fetch(request.RequestUri)); 79 | return resp; 80 | }); 81 | 82 | //by default, let the request keep moving up the message handler stack 83 | return base.SendAsync(request, cancellationToken); 84 | } 85 | 86 | bool IfNoneMatchContainsStoredEtagValue(HttpRequestMessage request) { 87 | //we're going to assume that this handler will only care about 1 entity tag value for the specified resource 88 | // the one outstanding quesion here is whether or not the value of v.Tag will include the quotes 89 | if (request.Headers.IfNoneMatch.Count == 0) 90 | return false; 91 | 92 | return request.Headers.IfNoneMatch.Select(v => v.Tag).Contains(_eTagStore.Fetch(request.RequestUri)); 93 | } 94 | 95 | bool IfMatchContainsStoredEtagValue(HttpRequestMessage request) { 96 | if (request.Headers.IfMatch.Count == 0) //if an if-match header is not sent, we're not going to impose anything 97 | return true; 98 | 99 | return request.Headers.IfMatch.Select(v => v.Tag).Contains(_eTagStore.Fetch(request.RequestUri)); 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/MessageHandlers/IETagStore.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace RestBugs.Services.MessageHandlers 4 | { 5 | public interface IETagStore 6 | { 7 | string Fetch(Uri resourceUri); 8 | string UpdateETagFor(Uri requestUri); 9 | } 10 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/MessageHandlers/InMemoryETagStore.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace RestBugs.Services.MessageHandlers 5 | { 6 | public class InMemoryETagStore : IETagStore 7 | { 8 | //todo: is there an existing thread safe dictionary that I can use here? 9 | static readonly Dictionary EntityTagMap = new Dictionary(); 10 | 11 | public string Fetch(Uri resourceUri) { 12 | Guid newETagVal; 13 | 14 | if (!EntityTagMap.ContainsKey(resourceUri)) { 15 | newETagVal = Guid.NewGuid(); 16 | EntityTagMap.Add(resourceUri, newETagVal); 17 | } 18 | else 19 | newETagVal = EntityTagMap[resourceUri]; 20 | 21 | return Quote(newETagVal.ToString()); 22 | } 23 | 24 | static string Quote(string val) { 25 | return string.Format("\"{0}\"", val); 26 | } 27 | 28 | public string UpdateETagFor(Uri requestUri) { 29 | var newETagVal = Guid.NewGuid(); 30 | 31 | if (!EntityTagMap.ContainsKey(requestUri)) 32 | EntityTagMap.Add(requestUri, newETagVal); 33 | else 34 | EntityTagMap[requestUri] = newETagVal; 35 | 36 | return Quote(newETagVal.ToString()); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/Bug.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace RestBugs.Services.Model 5 | { 6 | public class Bug 7 | { 8 | readonly List>, string>> _history; 9 | 10 | public Bug() 11 | { 12 | _history = new List>, string>>(); 13 | 14 | DateTime now = DateTime.Now; 15 | _history.Add(new Tuple>, string>( 16 | now, new List>{ 17 | new Tuple("Status", "Pending") 18 | }, "Created")); 19 | } 20 | 21 | public BugStatus Status { get; set; } 22 | 23 | public int Priority { get; set; } 24 | 25 | public decimal Rank { get; set; } 26 | 27 | public int Id { get; set; } 28 | 29 | public string Name { get; set; } 30 | 31 | public string Description { get; set; } 32 | 33 | public IList>, string>> History 34 | { 35 | get { return _history; } 36 | } 37 | 38 | public void Activate(string comments) 39 | { 40 | Status = BugStatus.Working; 41 | DateTime now = DateTime.Now; 42 | _history.Add(new Tuple>, string>( 43 | now, new List>{ 44 | new Tuple("Status", "Active") 45 | }, comments)); 46 | } 47 | 48 | public void Resolve(string comments) 49 | { 50 | Status = BugStatus.QA; 51 | DateTime now = DateTime.Now; 52 | _history.Add(new Tuple>, string>( 53 | now, new List>{ 54 | new Tuple("Status", "Resolved") 55 | }, comments)); 56 | } 57 | 58 | public void Approve() 59 | { 60 | Status = BugStatus.Backlog; 61 | var now = DateTime.Now; 62 | _history.Add(new Tuple>, string>( 63 | now, new List>{ 64 | new Tuple("Status", "Backlog")}, 65 | string.Empty )); 66 | } 67 | 68 | public void Close(string comments) 69 | { 70 | Status = BugStatus.Done; 71 | DateTime now = DateTime.Now; 72 | _history.Add(new Tuple>, string>( 73 | now, new List>{ 74 | new Tuple("Status", "Closed") 75 | }, comments)); 76 | } 77 | } 78 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/BugDTO.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace RestBugs.Services.Model 4 | { 5 | public class BugDTO 6 | { 7 | public string Status { get; set; } 8 | 9 | public int Id { get; set; } 10 | 11 | public string AssignedTo { get; set; } 12 | 13 | public string Title { get; set; } 14 | 15 | public string Description { get; set; } 16 | 17 | public override bool Equals(object obj) { 18 | var cmp = obj as BugDTO; 19 | if(cmp == null) 20 | return false; 21 | 22 | return cmp.Status == Status 23 | && cmp.AssignedTo == AssignedTo 24 | && cmp.Title == Title 25 | && cmp.Description == Description; 26 | 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/BugModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace RestBugs.Services.Model 4 | { 5 | public class BugModel 6 | { 7 | private BugModel(){ /* NoOp */} 8 | public IEnumerable Bugs { get; set; } 9 | public BugsModelState ModelState { get; set; } 10 | 11 | // factories for model states 12 | public static BugModel Home() 13 | { 14 | return new BugModel {ModelState = BugsModelState.Home}; 15 | } 16 | 17 | public static BugModel Collection(IEnumerable bugs) 18 | { 19 | return new BugModel { ModelState = BugsModelState.Collection, Bugs = bugs}; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/BugStatus.cs: -------------------------------------------------------------------------------- 1 | namespace RestBugs.Services.Model 2 | { 3 | public enum BugStatus { 4 | Backlog, 5 | Working, 6 | Done, 7 | QA 8 | } 9 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/BugsModelState.cs: -------------------------------------------------------------------------------- 1 | namespace RestBugs.Services.Model 2 | { 3 | public enum BugsModelState 4 | { 5 | Home, 6 | Collection 7 | } 8 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/IBugRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace RestBugs.Services.Model 4 | { 5 | public interface IBugRepository { 6 | IEnumerable GetAll(); 7 | Bug Get(int bugId); 8 | void Add(Bug bug); 9 | } 10 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Model/StaticBugRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | using System.Linq; 4 | 5 | namespace RestBugs.Services.Model 6 | { 7 | public class StaticBugRepository : IBugRepository 8 | { 9 | static List bugs; 10 | 11 | static StaticBugRepository() { 12 | var bugsList = new List 13 | { 14 | new Bug {Id= 1, Name = "Bug 1", Status = BugStatus.Working, Priority = 3}, 15 | new Bug {Id= 2, Name = "Bug 2", Status = BugStatus.Working, Priority = 1, Rank = 2}, 16 | new Bug {Id= 3, Name = "Bug 3", Status = BugStatus.Working, Priority = 1}, 17 | new Bug {Id= 4, Name = "Bug 4", Status = BugStatus.Done}, 18 | new Bug {Id= 5, Name = "Bug 5", Status = BugStatus.Done}, 19 | new Bug {Id= 6, Name = "Bug 6", Status = BugStatus.Backlog, Priority = 3}, 20 | new Bug {Id= 7, Name = "Bug 7", Status = BugStatus.Backlog, Priority = 1, Rank = 2}, 21 | new Bug {Id= 8, Name = "Bug 8", Status = BugStatus.Backlog, Priority = 1}, 22 | }; 23 | 24 | bugs = bugsList; 25 | } 26 | 27 | public IEnumerable GetAll() { 28 | return bugs; 29 | } 30 | 31 | public Bug Get(int bugId) { 32 | return bugs.FirstOrDefault(b => b.Id == bugId); 33 | } 34 | 35 | public void Add(Bug bug) { 36 | bug.Id = GetNextId(); 37 | bugs.Add(bug); 38 | } 39 | 40 | static int GetNextId() { 41 | return bugs.OrderBy(b => b.Id).Last().Id + 1; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RestBugs.Services")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("RestBugs.Services")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("aa6b1220-30cb-4238-92e8-b67dbcd98fbe")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/RestBugs.Services.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {1FE6F881-2365-418C-AD5C-ED987F07F393} 9 | Library 10 | Properties 11 | RestBugs.Services 12 | RestBugs.Services 13 | v4.5 14 | 512 15 | 16 | ..\ 17 | true 18 | 19 | 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | false 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | false 37 | 38 | 39 | 40 | False 41 | ..\packages\AutoMapper.2.2.1\lib\net40\AutoMapper.dll 42 | 43 | 44 | False 45 | ..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll 46 | 47 | 48 | False 49 | ..\packages\Ninject.3.0.1.10\lib\net45-full\Ninject.dll 50 | 51 | 52 | 53 | 54 | 55 | 56 | False 57 | ..\packages\Microsoft.AspNet.WebApi.Client.5.0.0-rc1-130719\lib\net45\System.Net.Http.Formatting.dll 58 | 59 | 60 | 61 | 62 | False 63 | ..\packages\Microsoft.AspNet.WebApi.Core.5.0.0-rc1-130719\lib\net45\System.Web.Http.dll 64 | 65 | 66 | True 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | PreserveNewest 103 | 104 | 105 | PreserveNewest 106 | 107 | 108 | 109 | 110 | 117 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/ServiceConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Net.Http.Headers; 3 | using System.Web.Http; 4 | using Ninject; 5 | using RestBugs.Services.Formatters; 6 | using RestBugs.Services.Model; 7 | using RestBugs.Services.Infrastructure; 8 | using System.Web.Http.Controllers; 9 | 10 | namespace RestBugs.Services 11 | { 12 | public static class ServiceConfiguration 13 | { 14 | public static void Configure(HttpConfiguration config) { 15 | 16 | config.Routes.MapHttpRoute("def", "{controller}", new { controller = "Index" }); 17 | config.Formatters.Clear(); 18 | config.Formatters.Add(new RazorMediaTypeFormatter("bugs-all", new MediaTypeHeaderValue("text/html"))); 19 | config.Formatters.Add(new RazorMediaTypeFormatter("bugs-all-json", new MediaTypeHeaderValue("application/json"), new MediaTypeHeaderValue("text/json"))); 20 | 21 | //config.MessageHandlers.Add(new EtagMessageHandler()); 22 | 23 | var kernel = new StandardKernel(); 24 | kernel.Bind().To(); 25 | kernel.Bind().To(); 26 | 27 | config.DependencyResolver = new NinjectDependencyResolver(kernel); 28 | 29 | AutoMapperConfig.Configure(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Services/BacklogController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Net.Http; 7 | using System.Web.Http; 8 | using AutoMapper; 9 | using RestBugs.Services.Model; 10 | 11 | namespace RestBugs.Services.Services 12 | { 13 | public class BacklogController : ApiController 14 | { 15 | readonly IBugRepository _bugsRepository; 16 | 17 | public BacklogController(IBugRepository bugsRepository) { 18 | _bugsRepository = bugsRepository; 19 | } 20 | 21 | public HttpResponseMessage Get() { 22 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetBacklogBugDtos())); 23 | 24 | var n = Configuration.Services.GetContentNegotiator(); 25 | n.Negotiate(typeof(BugModel), Request, Configuration.Formatters); 26 | 27 | return response; 28 | } 29 | 30 | private IEnumerable GetBacklogBugDtos() 31 | { 32 | var bugs = _bugsRepository.GetAll().Where(b => b.Status == BugStatus.Backlog); 33 | var dtos = Mapper.Map, IEnumerable>(bugs); 34 | return dtos; 35 | } 36 | 37 | public HttpResponseMessage Post (BugDTO dto, string comments=null) 38 | { 39 | Bug bug; 40 | if(dto.Id != 0) 41 | { 42 | bug = _bugsRepository.Get(dto.Id); 43 | if (bug == null) 44 | return new HttpResponseMessage(HttpStatusCode.NotFound); 45 | bug.Approve(); 46 | return Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetBacklogBugDtos())); 47 | } 48 | 49 | bug = Mapper.Map(dto); 50 | bug.Approve(); 51 | 52 | _bugsRepository.Add(bug); 53 | 54 | var response = Request.CreateResponse(HttpStatusCode.Created, BugModel.Collection(GetBacklogBugDtos())); 55 | 56 | //i still don't like this because it's fragmenting management of my links 57 | response.Headers.Location = new Uri(HostUriFromRequest(Request), bug.Id.ToString(CultureInfo.InvariantCulture)); 58 | 59 | return response; 60 | } 61 | 62 | static Uri HostUriFromRequest(HttpRequestMessage requestMessage) 63 | { 64 | return new Uri(String.Format("{0}://{1}:{2}", 65 | requestMessage.RequestUri.Scheme, 66 | requestMessage.RequestUri.Host, 67 | requestMessage.RequestUri.Port)); 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Services/DoneController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Net; 4 | using System.Net.Http; 5 | using System.Web.Http; 6 | using AutoMapper; 7 | using RestBugs.Services.Model; 8 | 9 | namespace RestBugs.Services.Services 10 | { 11 | public class DoneController : ApiController 12 | { 13 | readonly IBugRepository _bugRepository; 14 | 15 | public DoneController(IBugRepository bugRepository) { 16 | _bugRepository = bugRepository; 17 | } 18 | 19 | private IEnumerable GetDoneBugDtos() 20 | { 21 | var bugs = _bugRepository.GetAll().Where(b => b.Status == BugStatus.Done); 22 | var dtos = Mapper.Map, IEnumerable>(bugs); 23 | return dtos; 24 | } 25 | 26 | public HttpResponseMessage Get() 27 | { 28 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetDoneBugDtos())); 29 | return response; 30 | } 31 | 32 | public HttpResponseMessage Post(int id, string comments) 33 | { 34 | var bug = _bugRepository.Get(id); //bugId 35 | if (bug == null) 36 | return new HttpResponseMessage(HttpStatusCode.NotFound); 37 | 38 | bug.Close(comments); 39 | 40 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetDoneBugDtos())); 41 | return response; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Services/IndexController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Diagnostics; 3 | using System.Web.Http; 4 | using RestBugs.Services.Model; 5 | 6 | namespace RestBugs.Services.Services 7 | { 8 | public class IndexController : ApiController 9 | { 10 | public BugModel Get() { 11 | Trace.WriteLine("HIT"); 12 | return BugModel.Home(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Services/QaController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Net; 4 | using System.Net.Http; 5 | using System.Web.Http; 6 | using AutoMapper; 7 | using RestBugs.Services.Model; 8 | 9 | namespace RestBugs.Services.Services 10 | { 11 | public class QaController : ApiController 12 | { 13 | readonly IBugRepository _bugRepository; 14 | 15 | public QaController(IBugRepository bugRepository) { 16 | _bugRepository = bugRepository; 17 | } 18 | 19 | public HttpResponseMessage Get() 20 | { 21 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetResolvedDtos())); 22 | return response; 23 | } 24 | 25 | private IEnumerable GetResolvedDtos() 26 | { 27 | var bugs = _bugRepository.GetAll().Where(b => b.Status == BugStatus.QA); 28 | var dtos = Mapper.Map, IEnumerable>(bugs); 29 | return dtos; 30 | } 31 | 32 | public HttpResponseMessage Post(int id, string comments) 33 | { 34 | var bug = _bugRepository.Get(id); //bugId 35 | if (bug == null) 36 | return new HttpResponseMessage(HttpStatusCode.NotFound); 37 | 38 | bug.Resolve(comments); 39 | 40 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetResolvedDtos())); 41 | return response; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Services/WorkingController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Net; 4 | using System.Net.Http; 5 | using System.Web.Http; 6 | using AutoMapper; 7 | using RestBugs.Services.Model; 8 | 9 | namespace RestBugs.Services.Services 10 | { 11 | public class WorkingController : ApiController 12 | { 13 | readonly IBugRepository _bugRepository; 14 | 15 | public WorkingController(IBugRepository bugRepository) { 16 | _bugRepository = bugRepository; 17 | } 18 | 19 | private IEnumerable GetDtos() 20 | { 21 | var bugs = _bugRepository.GetAll() 22 | .Where(b => b.Status == BugStatus.Working) 23 | .OrderBy(b => b.Priority) 24 | .ThenBy(b => b.Rank); 25 | 26 | var dtos = Mapper.Map, IEnumerable>(bugs); 27 | 28 | return dtos; 29 | } 30 | 31 | public HttpResponseMessage Get() { 32 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetDtos())); 33 | return response; 34 | } 35 | 36 | public HttpResponseMessage Post(int id, string comments) 37 | { 38 | Bug bug = _bugRepository.Get(id); //bugId 39 | if (bug == null) 40 | return new HttpResponseMessage(HttpStatusCode.NotFound); 41 | 42 | bug.Activate(comments); 43 | 44 | var response = Request.CreateResponse(HttpStatusCode.OK, BugModel.Collection(GetDtos())); 45 | return response; 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Templates/bugs-all-json.cshtml: -------------------------------------------------------------------------------- 1 | @using RestBugs.Services.Model 2 | { 3 | "bugs" : [ 4 | @if (Model.ModelState == BugsModelState.Collection) 5 | { 6 | foreach (BugDTO bug in Model.Bugs) 7 | { 8 | @:{ 9 | @: "title" : "@bug.Title", 10 | @: "description" : "@bug.Description", 11 | @: "assignedTo" : "@bug.AssignedTo", 12 | @: "forms" : [ 13 | if (@bug.Status == "Backlog") 14 | { 15 | @: { 16 | @: "type" : "move to working", 17 | @: "href" : "/bugs/working", 18 | @: "template" : "id=@bug.Id{&comments}", 19 | @: "method" : "POST", 20 | @: } 21 | } 22 | if (@bug.Status == "Working") 23 | { 24 | @: { 25 | @: "type" : "move to backlog", 26 | @: "href" : "/bugs/backlog", 27 | @: "template" : "id=@bug.Id{&comments}", 28 | @: "method" : "POST", 29 | @: }, 30 | @: { 31 | @: "type" : "move qa next", 32 | @: "href" : "/bugs/qa", 33 | @: "template" : "id=@bug.Id{&comments}", 34 | @: "method" : "POST", 35 | @: } 36 | } 37 | if (@bug.Status == "Done") 38 | { 39 | @: { 40 | @: "type" : "move working", 41 | @: "href" : "/bugs/working?id=@bug.Id{&comments}", 42 | @: "method" : "POST", 43 | @: } 44 | } 45 | if (@bug.Status == "QA") 46 | { 47 | @: { 48 | @: "type" : "move done next", 49 | @: "href" : "/bugs/done", 50 | @: "template" : "id=@bug.Id{&comments}", 51 | @: "method" : "POST", 52 | @: }, 53 | @: { 54 | @: "type" : "move working", 55 | @: "href" : "/bugs/working", 56 | @: "template" : "id=@bug.Id{&comments}", 57 | @: "method" : "POST", 58 | @: } 59 | } 60 | @: ] 61 | @: }, 62 | } 63 | } 64 | ], 65 | "forms" : [ 66 | { 67 | "type" : "new backlog", 68 | "href" : "/bugs/backlog{?title,description}", 69 | "template" : "{&title,description}", 70 | "method" : "POST", 71 | } 72 | ], 73 | "links" : [ 74 | { "href" : "http://restbugs.com/profile/restbugs+json", rel : "profile" }, 75 | { "href" : "/bugs", rel : "index" }, 76 | { "href" : "/bugs/backlog", rel : "backlog" }, 77 | { "href" : "/bugs/working", rel : "working" }, 78 | { "href" : "/bugs/qa", rel: "qa" }, 79 | { "href" : "/bugs/done", rel: "done"} 80 | ] 81 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/Templates/bugs-all.cshtml: -------------------------------------------------------------------------------- 1 | @using RestBugs.Services.Model 2 | 3 | 4 | 5 | RESTBugs Sample Media Type Definition 6 | 7 | 8 |

Welcome to the RESTBugs HTML Media Type Sample!

9 |
10 | @if (Model.ModelState == BugsModelState.Collection) 11 | { 12 |
    13 | @foreach (BugDTO bug in Model.Bugs) 14 | { 15 |
  • 16 | Title: @bug.Title 17 | Description: @bug.Description 18 | Assigned To: @bug.AssignedTo 19 | @if (@bug.Status == "Backlog") 20 | { 21 |
    22 | 23 | 24 | 25 |
    26 | } 27 | @if (@bug.Status == "Working") 28 | { 29 |
    30 | 31 | 32 | 33 |
    34 |
    35 | 36 | 37 | 38 |
    39 | } 40 | @if (@bug.Status == "Done") 41 | { 42 |
    43 | 44 | 45 | 46 |
    47 | } 48 | @if (@bug.Status == "QA") 49 | { 50 |
    51 | 52 | 53 | 54 |
    55 |
    56 | 57 | 58 | 59 |
    60 | } 61 |
  • 62 | } 63 |
64 | } 65 |
66 |
67 | @if (Model.ModelState == BugsModelState.Home) { 68 |

Add a new bug!

69 |
70 | Title: 71 | Description: 72 | 73 |
74 | } 75 |
76 | 84 | 85 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Services/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/Site.css: -------------------------------------------------------------------------------- 1 | body 2 | { 3 | font-size: .85em; 4 | font-family: "Trebuchet MS", Verdana, Helvetica, Sans-Serif; 5 | color: #232323; 6 | background-color: #fff; 7 | } 8 | 9 | header, 10 | footer, 11 | nav, 12 | section { 13 | display: block; 14 | } 15 | 16 | /* Styles for basic forms 17 | -----------------------------------------------------------*/ 18 | 19 | fieldset 20 | { 21 | border:1px solid #ddd; 22 | padding:0 1.4em 1.4em 1.4em; 23 | margin:0 0 1.5em 0; 24 | } 25 | 26 | legend 27 | { 28 | font-size:1.2em; 29 | font-weight: bold; 30 | } 31 | 32 | textarea 33 | { 34 | min-height: 75px; 35 | } 36 | 37 | .editor-label 38 | { 39 | margin: 1em 0 0 0; 40 | } 41 | 42 | .editor-field 43 | { 44 | margin:0.5em 0 0 0; 45 | } 46 | 47 | 48 | /* Styles for validation helpers 49 | -----------------------------------------------------------*/ 50 | .field-validation-error 51 | { 52 | color: #ff0000; 53 | } 54 | 55 | .field-validation-valid 56 | { 57 | display: none; 58 | } 59 | 60 | .input-validation-error 61 | { 62 | border: 1px solid #ff0000; 63 | background-color: #ffeeee; 64 | } 65 | 66 | .validation-summary-errors 67 | { 68 | font-weight: bold; 69 | color: #ff0000; 70 | } 71 | 72 | .validation-summary-valid 73 | { 74 | display: none; 75 | } 76 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.accordion.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Accordion 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Accordion#theming 14 | */ 15 | /* IE/Win - Fix animation bug - #4615 */ 16 | .ui-accordion { width: 100%; } 17 | .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } 18 | .ui-accordion .ui-accordion-li-fix { display: inline; } 19 | .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } 20 | .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } 21 | .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } 22 | .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } 23 | .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } 24 | .ui-accordion .ui-accordion-content-active { display: block; } 25 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.all.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI CSS Framework 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Theming 14 | */ 15 | @import "jquery.ui.base.css"; 16 | @import "jquery.ui.theme.css"; 17 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.autocomplete.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Autocomplete 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * http://docs.jquery.com/UI/Autocomplete#theming 13 | */ 14 | .ui-autocomplete { position: absolute; cursor: default; } 15 | 16 | /* workarounds */ 17 | * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ 18 | 19 | /* 20 | * Note: While Microsoft is not the author of this file, Microsoft is 21 | * offering you a license subject to the terms of the Microsoft Software 22 | * License Terms for Microsoft ASP.NET Model View Controller 3. 23 | * Microsoft reserves all other rights. The notices below are provided 24 | * for informational purposes only and are not the license terms under 25 | * which Microsoft distributed this file. 26 | * 27 | * jQuery UI Menu 1.8.11 28 | * 29 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) 30 | * 31 | * http://docs.jquery.com/UI/Menu#theming 32 | */ 33 | .ui-menu { 34 | list-style:none; 35 | padding: 2px; 36 | margin: 0; 37 | display:block; 38 | float: left; 39 | } 40 | .ui-menu .ui-menu { 41 | margin-top: -3px; 42 | } 43 | .ui-menu .ui-menu-item { 44 | margin:0; 45 | padding: 0; 46 | zoom: 1; 47 | float: left; 48 | clear: left; 49 | width: 100%; 50 | } 51 | .ui-menu .ui-menu-item a { 52 | text-decoration:none; 53 | display:block; 54 | padding:.2em .4em; 55 | line-height:1.5; 56 | zoom:1; 57 | } 58 | .ui-menu .ui-menu-item a.ui-state-hover, 59 | .ui-menu .ui-menu-item a.ui-state-active { 60 | font-weight: normal; 61 | margin: -1px; 62 | } 63 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.base.css: -------------------------------------------------------------------------------- 1 | @import url("jquery.ui.core.css"); 2 | @import url("jquery.ui.resizable.css"); 3 | @import url("jquery.ui.selectable.css"); 4 | @import url("jquery.ui.accordion.css"); 5 | @import url("jquery.ui.autocomplete.css"); 6 | @import url("jquery.ui.button.css"); 7 | @import url("jquery.ui.dialog.css"); 8 | @import url("jquery.ui.slider.css"); 9 | @import url("jquery.ui.tabs.css"); 10 | @import url("jquery.ui.datepicker.css"); 11 | @import url("jquery.ui.progressbar.css"); -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.button.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Button 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Button#theming 14 | */ 15 | .ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ 16 | .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ 17 | button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ 18 | .ui-button-icons-only { width: 3.4em; } 19 | button.ui-button-icons-only { width: 3.7em; } 20 | 21 | /*button text element */ 22 | .ui-button .ui-button-text { display: block; line-height: 1.4; } 23 | .ui-button-text-only .ui-button-text { padding: .4em 1em; } 24 | .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } 25 | .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } 26 | .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } 27 | .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } 28 | /* no icon support for input elements, provide padding by default */ 29 | input.ui-button { padding: .4em 1em; } 30 | 31 | /*button icon element(s) */ 32 | .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } 33 | .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } 34 | .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } 35 | .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } 36 | .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } 37 | 38 | /*button sets*/ 39 | .ui-buttonset { margin-right: 7px; } 40 | .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } 41 | 42 | /* workarounds */ 43 | button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ 44 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.core.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI CSS Framework 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Theming/API 14 | */ 15 | 16 | /* Layout helpers 17 | ----------------------------------*/ 18 | .ui-helper-hidden { display: none; } 19 | .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } 20 | .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } 21 | .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } 22 | .ui-helper-clearfix { display: inline-block; } 23 | /* required comment for clearfix to work in Opera \*/ 24 | * html .ui-helper-clearfix { height:1%; } 25 | .ui-helper-clearfix { display:block; } 26 | /* end clearfix */ 27 | .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } 28 | 29 | 30 | /* Interaction Cues 31 | ----------------------------------*/ 32 | .ui-state-disabled { cursor: default !important; } 33 | 34 | 35 | /* Icons 36 | ----------------------------------*/ 37 | 38 | /* states and images */ 39 | .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } 40 | 41 | 42 | /* Misc visuals 43 | ----------------------------------*/ 44 | 45 | /* Overlays */ 46 | .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } 47 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.datepicker.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Datepicker 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Datepicker#theming 14 | */ 15 | .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } 16 | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } 17 | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } 18 | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } 19 | .ui-datepicker .ui-datepicker-prev { left:2px; } 20 | .ui-datepicker .ui-datepicker-next { right:2px; } 21 | .ui-datepicker .ui-datepicker-prev-hover { left:1px; } 22 | .ui-datepicker .ui-datepicker-next-hover { right:1px; } 23 | .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } 24 | .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } 25 | .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } 26 | .ui-datepicker select.ui-datepicker-month-year {width: 100%;} 27 | .ui-datepicker select.ui-datepicker-month, 28 | .ui-datepicker select.ui-datepicker-year { width: 49%;} 29 | .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } 30 | .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } 31 | .ui-datepicker td { border: 0; padding: 1px; } 32 | .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } 33 | .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } 34 | .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } 35 | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } 36 | 37 | /* with multiple calendars */ 38 | .ui-datepicker.ui-datepicker-multi { width:auto; } 39 | .ui-datepicker-multi .ui-datepicker-group { float:left; } 40 | .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } 41 | .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } 42 | .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } 43 | .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } 44 | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } 45 | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } 46 | .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } 47 | .ui-datepicker-row-break { clear:both; width:100%; } 48 | 49 | /* RTL support */ 50 | .ui-datepicker-rtl { direction: rtl; } 51 | .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } 52 | .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } 53 | .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } 54 | .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } 55 | .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } 56 | .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } 57 | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } 58 | .ui-datepicker-rtl .ui-datepicker-group { float:right; } 59 | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } 60 | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } 61 | 62 | /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ 63 | .ui-datepicker-cover { 64 | display: none; /*sorry for IE5*/ 65 | display/**/: block; /*sorry for IE5*/ 66 | position: absolute; /*must have*/ 67 | z-index: -1; /*must have*/ 68 | filter: mask(); /*must have*/ 69 | top: -4px; /*must have*/ 70 | left: -4px; /*must have*/ 71 | width: 200px; /*must have*/ 72 | height: 200px; /*must have*/ 73 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.dialog.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Dialog 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Dialog#theming 14 | */ 15 | .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } 16 | .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } 17 | .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 18 | .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } 19 | .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } 20 | .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } 21 | .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } 22 | .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } 23 | .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } 24 | .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } 25 | .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } 26 | .ui-draggable .ui-dialog-titlebar { cursor: move; } 27 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.menu.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Menu 1.9.1 3 | * http://jqueryui.com 4 | * 5 | * Copyright 2012 jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | * 9 | * http://docs.jquery.com/UI/Menu#theming 10 | */ 11 | .ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; } 12 | .ui-menu .ui-menu { margin-top: -3px; position: absolute; } 13 | .ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; } 14 | .ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; } 15 | .ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; } 16 | .ui-menu .ui-menu-item a.ui-state-focus, 17 | .ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; } 18 | 19 | .ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; } 20 | .ui-menu .ui-state-disabled a { cursor: default; } 21 | 22 | /* icon support */ 23 | .ui-menu-icons { position: relative; } 24 | .ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; } 25 | 26 | /* left-aligned */ 27 | .ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; } 28 | 29 | /* right-aligned */ 30 | .ui-menu .ui-menu-icon { position: static; float: right; } 31 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.progressbar.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Progressbar 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Progressbar#theming 14 | */ 15 | .ui-progressbar { height:2em; text-align: left; } 16 | .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.resizable.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Resizable 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)] 12 | * 13 | * http://docs.jquery.com/UI/Resizable#theming 14 | */ 15 | .ui-resizable { position: relative;} 16 | .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} 17 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } 18 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } 19 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } 20 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } 21 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } 22 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } 23 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } 24 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 25 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.selectable.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Selectable 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Selectable#theming 14 | */ 15 | .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } 16 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.slider.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Slider 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Slider#theming 14 | */ 15 | .ui-slider { position: relative; text-align: left; } 16 | .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } 17 | .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } 18 | 19 | .ui-slider-horizontal { height: .8em; } 20 | .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } 21 | .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } 22 | .ui-slider-horizontal .ui-slider-range-min { left: 0; } 23 | .ui-slider-horizontal .ui-slider-range-max { right: 0; } 24 | 25 | .ui-slider-vertical { width: .8em; height: 100px; } 26 | .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } 27 | .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } 28 | .ui-slider-vertical .ui-slider-range-min { bottom: 0; } 29 | .ui-slider-vertical .ui-slider-range-max { top: 0; } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.spinner.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Spinner 1.9.1 3 | * http://jqueryui.com 4 | * 5 | * Copyright 2012 jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | * 9 | * http://docs.jquery.com/UI/Spinner#theming 10 | */ 11 | .ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; } 12 | .ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; } 13 | .ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; } 14 | .ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */ 15 | .ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */ 16 | .ui-spinner-up { top: 0; } 17 | .ui-spinner-down { bottom: 0; } 18 | 19 | /* TR overrides */ 20 | .ui-spinner .ui-icon-triangle-1-s { 21 | /* need to fix icons sprite */ 22 | background-position:-65px -16px; 23 | } 24 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.tabs.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: While Microsoft is not the author of this file, Microsoft is 3 | * offering you a license subject to the terms of the Microsoft Software 4 | * License Terms for Microsoft ASP.NET Model View Controller 3. 5 | * Microsoft reserves all other rights. The notices below are provided 6 | * for informational purposes only and are not the license terms under 7 | * which Microsoft distributed this file. 8 | * 9 | * jQuery UI Tabs 1.8.11 10 | * 11 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 12 | * 13 | * http://docs.jquery.com/UI/Tabs#theming 14 | */ 15 | .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ 16 | .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } 17 | .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } 18 | .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } 19 | .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } 20 | .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } 21 | .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ 22 | .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } 23 | .ui-tabs .ui-tabs-hide { display: none !important; } 24 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/jquery.ui.tooltip.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Tooltip 1.9.1 3 | * http://jqueryui.com 4 | * 5 | * Copyright 2012 jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | .ui-tooltip { 10 | padding: 8px; 11 | position: absolute; 12 | z-index: 9999; 13 | max-width: 300px; 14 | -webkit-box-shadow: 0 0 5px #aaa; 15 | box-shadow: 0 0 5px #aaa; 16 | } 17 | /* Fades and background-images don't work well together in IE6, drop the image */ 18 | * html .ui-tooltip { 19 | background-image: none; 20 | } 21 | body .ui-tooltip { border-width: 2px; } 22 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howarddierking/RestBugs/7ee4c44d5bfd2ffd8b11fb30aa1e82d5151ba07c/src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.accordion.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.accordion.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-accordion{width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1}.ui-accordion .ui-accordion-li-fix{display:inline}.ui-accordion .ui-accordion-header-active{border-bottom:0!important}.ui-accordion .ui-accordion-header a{display:block;font-size:1em;padding:.5em .5em .5em .7em}.ui-accordion-icons .ui-accordion-header a{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;margin-top:-2px;position:relative;top:1px;margin-bottom:2px;overflow:auto;display:none;zoom:1}.ui-accordion .ui-accordion-content-active{display:block} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.autocomplete.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.autocomplete.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-autocomplete{position:absolute;cursor:default}* html .ui-autocomplete{width:1px}.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.ui-menu .ui-menu{margin-top:-3px}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.ui-menu .ui-menu-item a.ui-state-hover,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.button.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.button.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;text-decoration:none!important;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.core.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.core.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px);clip:rect(1px,1px,1px,1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.datepicker.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.datepicker.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0em}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.dialog.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.dialog.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-dialog{position:absolute;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.menu.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.9.1 - 2012-10-25 2 | * http://jqueryui.com 3 | * Includes: jquery.ui.menu.css 4 | * Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */ 5 | .ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;zoom:1;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.progressbar.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.progressbar.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.resizable.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.resizable.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.selectable.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.selectable.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.slider.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.slider.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.spinner.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.9.1 - 2012-10-25 2 | * http://jqueryui.com 3 | * Includes: jquery.ui.spinner.css 4 | * Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */ 5 | .ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.tabs.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.22 - 2012-07-24 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.tabs.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT */ 5 | .ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:1px;margin:0 .2em 1px 0;border-bottom:0!important;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{margin-bottom:0;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-state-processing a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tabs .ui-tabs-hide{display:none!important} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Content/themes/base/minified/jquery.ui.tooltip.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.9.1 - 2012-10-25 2 | * http://jqueryui.com 3 | * Includes: jquery.ui.tooltip.css 4 | * Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */ 5 | .ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}* html .ui-tooltip{background-image:none}body .ui-tooltip{border-width:2px} -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | 7 | namespace RestBugs.Web.Controllers 8 | { 9 | public class HomeController : Controller 10 | { 11 | // 12 | // GET: /Home/ 13 | 14 | public ActionResult Index() 15 | { 16 | return View(); 17 | } 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="RestBugs.Web.MvcApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System.Web.Http; 2 | using System.Web.Mvc; 3 | using System.Web.Routing; 4 | using RestBugs.Services; 5 | 6 | namespace RestBugs.Web 7 | { 8 | // Note: For instructions on enabling IIS6 or IIS7 classic mode, 9 | // visit http://go.microsoft.com/?LinkId=9394801 10 | 11 | public class MvcApplication : System.Web.HttpApplication 12 | { 13 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 14 | { 15 | filters.Add(new HandleErrorAttribute()); 16 | } 17 | 18 | public static void RegisterRoutes(RouteCollection routes) 19 | { 20 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 21 | 22 | ServiceConfiguration.Configure(GlobalConfiguration.Configuration); 23 | 24 | routes.MapRoute("default", "{controller}/{action}/{id}", 25 | new {controller = "Home", action = "Index", id = UrlParameter.Optional}); 26 | } 27 | 28 | protected void Application_Start() 29 | { 30 | AreaRegistration.RegisterAllAreas(); 31 | 32 | RegisterGlobalFilters(GlobalFilters.Filters); 33 | RegisterRoutes(RouteTable.Routes); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RestBugs.Web")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RestBugs.Web")] 13 | [assembly: AssemblyCopyright("Copyright © 2012")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("901fae26-6a70-4a94-bd38-0b77bd483b07")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/README.jQuery.vsdoc.txt: -------------------------------------------------------------------------------- 1 | vsdoc files for Visual Studio IntelliSense are now included in the core jquery NuGet package. As a result, this pacakge is obsolete and will not be updated past version 1.6. You can uninstall it. -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Scripts/MicrosoftMvcAjax.js: -------------------------------------------------------------------------------- 1 | //---------------------------------------------------------- 2 | // Copyright (C) Microsoft Corporation. All rights reserved. 3 | //---------------------------------------------------------- 4 | // MicrosoftMvcAjax.js 5 | 6 | Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};} 7 | Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2} 8 | Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;} 9 | Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}} 10 | Sys.Mvc.AsyncHyperlink=function(){} 11 | Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);} 12 | Sys.Mvc.MvcHelpers=function(){} 13 | Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;} 14 | Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();} 15 | Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){ 16 | Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}} 17 | Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}} 18 | Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}} 19 | Sys.Mvc.AsyncForm=function(){} 20 | Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;} 21 | Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=form.validationCallbacks;if($0){for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];if(!$3()){return;}}}var $1=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$1,form,ajaxOptions);} 22 | Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); 23 | // ---- Do not remove this footer ---- 24 | // Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) 25 | // ----------------------------------- 26 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Scripts/jquery.unobtrusive-ajax.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | /*! 4 | ** Unobtrusive Ajax support library for jQuery 5 | ** Copyright (C) Microsoft Corporation. All rights reserved. 6 | */ 7 | 8 | /*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ 9 | /*global window: false, jQuery: false */ 10 | 11 | (function ($) { 12 | var data_click = "unobtrusiveAjaxClick", 13 | data_validation = "unobtrusiveValidation"; 14 | 15 | function getFunction(code, argNames) { 16 | var fn = window, parts = (code || "").split("."); 17 | while (fn && parts.length) { 18 | fn = fn[parts.shift()]; 19 | } 20 | if (typeof (fn) === "function") { 21 | return fn; 22 | } 23 | argNames.push(code); 24 | return Function.constructor.apply(null, argNames); 25 | } 26 | 27 | function isMethodProxySafe(method) { 28 | return method === "GET" || method === "POST"; 29 | } 30 | 31 | function asyncOnBeforeSend(xhr, method) { 32 | if (!isMethodProxySafe(method)) { 33 | xhr.setRequestHeader("X-HTTP-Method-Override", method); 34 | } 35 | } 36 | 37 | function asyncOnSuccess(element, data, contentType) { 38 | var mode; 39 | 40 | if (contentType.indexOf("application/x-javascript") !== -1) { // jQuery already executes JavaScript for us 41 | return; 42 | } 43 | 44 | mode = (element.getAttribute("data-ajax-mode") || "").toUpperCase(); 45 | $(element.getAttribute("data-ajax-update")).each(function (i, update) { 46 | var top; 47 | 48 | switch (mode) { 49 | case "BEFORE": 50 | top = update.firstChild; 51 | $("
").html(data).contents().each(function () { 52 | update.insertBefore(this, top); 53 | }); 54 | break; 55 | case "AFTER": 56 | $("
").html(data).contents().each(function () { 57 | update.appendChild(this); 58 | }); 59 | break; 60 | default: 61 | $(update).html(data); 62 | break; 63 | } 64 | }); 65 | } 66 | 67 | function asyncRequest(element, options) { 68 | var confirm, loading, method, duration; 69 | 70 | confirm = element.getAttribute("data-ajax-confirm"); 71 | if (confirm && !window.confirm(confirm)) { 72 | return; 73 | } 74 | 75 | loading = $(element.getAttribute("data-ajax-loading")); 76 | duration = element.getAttribute("data-ajax-loading-duration") || 0; 77 | 78 | $.extend(options, { 79 | type: element.getAttribute("data-ajax-method") || undefined, 80 | url: element.getAttribute("data-ajax-url") || undefined, 81 | beforeSend: function (xhr) { 82 | var result; 83 | asyncOnBeforeSend(xhr, method); 84 | result = getFunction(element.getAttribute("data-ajax-begin"), ["xhr"]).apply(this, arguments); 85 | if (result !== false) { 86 | loading.show(duration); 87 | } 88 | return result; 89 | }, 90 | complete: function () { 91 | loading.hide(duration); 92 | getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments); 93 | }, 94 | success: function (data, status, xhr) { 95 | asyncOnSuccess(element, data, xhr.getResponseHeader("Content-Type") || "text/html"); 96 | getFunction(element.getAttribute("data-ajax-success"), ["data", "status", "xhr"]).apply(this, arguments); 97 | }, 98 | error: getFunction(element.getAttribute("data-ajax-failure"), ["xhr", "status", "error"]) 99 | }); 100 | 101 | options.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" }); 102 | 103 | method = options.type.toUpperCase(); 104 | if (!isMethodProxySafe(method)) { 105 | options.type = "POST"; 106 | options.data.push({ name: "X-HTTP-Method-Override", value: method }); 107 | } 108 | 109 | $.ajax(options); 110 | } 111 | 112 | function validate(form) { 113 | var validationInfo = $(form).data(data_validation); 114 | return !validationInfo || !validationInfo.validate || validationInfo.validate(); 115 | } 116 | 117 | $("a[data-ajax=true]").live("click", function (evt) { 118 | evt.preventDefault(); 119 | asyncRequest(this, { 120 | url: this.href, 121 | type: "GET", 122 | data: [] 123 | }); 124 | }); 125 | 126 | $("form[data-ajax=true] input[type=image]").live("click", function (evt) { 127 | var name = evt.target.name, 128 | $target = $(evt.target), 129 | form = $target.parents("form")[0], 130 | offset = $target.offset(); 131 | 132 | $(form).data(data_click, [ 133 | { name: name + ".x", value: Math.round(evt.pageX - offset.left) }, 134 | { name: name + ".y", value: Math.round(evt.pageY - offset.top) } 135 | ]); 136 | 137 | setTimeout(function () { 138 | $(form).removeData(data_click); 139 | }, 0); 140 | }); 141 | 142 | $("form[data-ajax=true] :submit").live("click", function (evt) { 143 | var name = evt.target.name, 144 | form = $(evt.target).parents("form")[0]; 145 | 146 | $(form).data(data_click, name ? [{ name: name, value: evt.target.value }] : []); 147 | 148 | setTimeout(function () { 149 | $(form).removeData(data_click); 150 | }, 0); 151 | }); 152 | 153 | $("form[data-ajax=true]").live("submit", function (evt) { 154 | var clickInfo = $(this).data(data_click) || []; 155 | evt.preventDefault(); 156 | if (!validate(this)) { 157 | return; 158 | } 159 | asyncRequest(this, { 160 | url: this.action, 161 | type: this.method || "GET", 162 | data: clickInfo.concat($(this).serializeArray()) 163 | }); 164 | }); 165 | }(jQuery)); -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Scripts/jquery.unobtrusive-ajax.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | ** Unobtrusive Ajax support library for jQuery 3 | ** Copyright (C) Microsoft Corporation. All rights reserved. 4 | */ 5 | (function(a){var b="unobtrusiveAjaxClick",g="unobtrusiveValidation";function c(d,b){var a=window,c=(d||"").split(".");while(a&&c.length)a=a[c.shift()];if(typeof a==="function")return a;b.push(d);return Function.constructor.apply(null,b)}function d(a){return a==="GET"||a==="POST"}function f(b,a){!d(a)&&b.setRequestHeader("X-HTTP-Method-Override",a)}function h(c,b,e){var d;if(e.indexOf("application/x-javascript")!==-1)return;d=(c.getAttribute("data-ajax-mode")||"").toUpperCase();a(c.getAttribute("data-ajax-update")).each(function(f,c){var e;switch(d){case"BEFORE":e=c.firstChild;a("
").html(b).contents().each(function(){c.insertBefore(this,e)});break;case"AFTER":a("
").html(b).contents().each(function(){c.appendChild(this)});break;default:a(c).html(b)}})}function e(b,e){var j,k,g,i;j=b.getAttribute("data-ajax-confirm");if(j&&!window.confirm(j))return;k=a(b.getAttribute("data-ajax-loading"));i=b.getAttribute("data-ajax-loading-duration")||0;a.extend(e,{type:b.getAttribute("data-ajax-method")||undefined,url:b.getAttribute("data-ajax-url")||undefined,beforeSend:function(d){var a;f(d,g);a=c(b.getAttribute("data-ajax-begin"),["xhr"]).apply(this,arguments);a!==false&&k.show(i);return a},complete:function(){k.hide(i);c(b.getAttribute("data-ajax-complete"),["xhr","status"]).apply(this,arguments)},success:function(a,e,d){h(b,a,d.getResponseHeader("Content-Type")||"text/html");c(b.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(this,arguments)},error:c(b.getAttribute("data-ajax-failure"),["xhr","status","error"])});e.data.push({name:"X-Requested-With",value:"XMLHttpRequest"});g=e.type.toUpperCase();if(!d(g)){e.type="POST";e.data.push({name:"X-HTTP-Method-Override",value:g})}a.ajax(e)}function i(c){var b=a(c).data(g);return!b||!b.validate||b.validate()}a("a[data-ajax=true]").live("click",function(a){a.preventDefault();e(this,{url:this.href,type:"GET",data:[]})});a("form[data-ajax=true] input[type=image]").live("click",function(c){var g=c.target.name,d=a(c.target),f=d.parents("form")[0],e=d.offset();a(f).data(b,[{name:g+".x",value:Math.round(c.pageX-e.left)},{name:g+".y",value:Math.round(c.pageY-e.top)}]);setTimeout(function(){a(f).removeData(b)},0)});a("form[data-ajax=true] :submit").live("click",function(c){var e=c.target.name,d=a(c.target).parents("form")[0];a(d).data(b,e?[{name:e,value:c.target.value}]:[]);setTimeout(function(){a(d).removeData(b)},0)});a("form[data-ajax=true]").live("submit",function(d){var c=a(this).data(b)||[];d.preventDefault();if(!i(this))return;e(this,{url:this.action,type:this.method||"GET",data:c.concat(a(this).serializeArray())})})})(jQuery); -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Scripts/jquery.validate.unobtrusive.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | ** Unobtrusive validation support library for jQuery and jQuery Validate 3 | ** Copyright (C) Microsoft Corporation. All rights reserved. 4 | */ 5 | (function(a){var d=a.validator,b,f="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function i(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function g(a){return a.substr(0,a.lastIndexOf(".")+1)}function e(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function l(c,d){var b=a(this).find("[data-valmsg-for='"+d[0].name+"']"),e=a.parseJSON(b.attr("data-valmsg-replace"))!==false;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(e){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function k(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("
  • ").html(this.message).appendTo(b)})}}function j(c){var b=c.data("unobtrusiveContainer"),d=a.parseJSON(b.attr("data-valmsg-replace"));if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");c.removeData("unobtrusiveContainer");d&&b.empty()}}function h(d){var b=a(d),c=b.data(f);if(!c){c={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:a.proxy(l,d),invalidHandler:a.proxy(k,d),messages:{},rules:{},success:a.proxy(j,d)},attachValidation:function(){b.validate(this.options)},validate:function(){b.validate();return b.valid()}};b.data(f,c)}return c}d.unobtrusive={adapters:[],parseElement:function(b,i){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=h(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});jQuery.extend(e,{__dummy__:true});!i&&c.attachValidation()},parse:function(b){a(b).find(":input[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});a("form").each(function(){var a=h(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});b.addSingleVal("accept","exts").addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.add("equalto",["other"],function(b){var h=g(b.element.name),i=b.params.other,d=e(i,h),f=a(b.form).find(":input[name="+d+"]")[0];c(b,"equalTo",f)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},f=g(b.element.name);a.each(i(b.params.additionalfields||b.element.name),function(h,g){var c=e(g,f);d.data[c]=function(){return a(b.form).find(":input[name='"+c+"']").val()}});c(b,"remote",d)});a(function(){d.unobtrusive.parse(document)})})(jQuery); -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @model dynamic 2 | 3 | @{ 4 | Layout = null; 5 | } 6 | 7 | 8 | 9 | 10 | 11 | Default Index Page 12 | 13 | 14 |
    15 | Welcome! 16 |
    17 | 18 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | 8 | Error 9 | 10 | 11 |

    12 | Sorry, an error occurred while processing your request. 13 |

    14 | 15 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | @ViewBag.Title 5 | 6 | 7 | 8 | 9 | 10 | @RenderBody() 11 | 12 | 13 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Views/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
    7 |
    8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 39 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Web.Debug.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Web.Release.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/RestBugs.Web/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/RestBugs Solution/design.txt: -------------------------------------------------------------------------------- 1 | Baseline user stories: 2 | 3 | ** as a developer, I want to see all triaged/approved bugs in order of importance (priority) so that I can choose the most important work to do next 4 | ** as a developer, I want to see all active bugs that I've assigned to myself so that I can track and update status on them 5 | ** as a tester, I want to see all resolved bugs so that I can choose what to work on next 6 | ** as a tester I want to see all the bugs that I've assigned to myself so that I can track and update status on them 7 | ** as a tester, I want to reactivate a bug that I think is still broken 8 | ** as a project team member, I want to create a new bug 9 | ** as a sprint planner, I want to see all pending bugs so that i can triage them and let the development team know what to work on next 10 | ** as a sprint planner, I want to activate a pending bug so that the development knows that it's avaiable for work 11 | ** as a team member, I want to reassign a bug to another team member so that she can work on it 12 | 13 | as a developer, I want to assign a bug to myself so that I can work on it 14 | as a developer, I want to update the status of a bug so that I can keep track of problems/fixes 15 | as a developer, I want to upload files and associate them with a bug so that I can capture things like screen shots, repro projects, etc. 16 | as a developer, I want to resolve a bug (and supply rationale) 17 | as a tester, I want to assign a resolved bug to myself so that I can work on it 18 | as a tester, I want to update the status of a bug so that I can keep track of problems/fixes 19 | as a tester, I want to upload files and associate them with a bug so that I can capture things like screen shots, repro projects, etc. 20 | as a tester, I want to close a bug that I have verified as fixed 21 | as a sprint planner, I want to close a bug that we're not going to work on 22 | as a team member, I want to find a bug by an arbitrary set of criteria 23 | 24 | 25 | Resources: 26 | 27 | / - GET 28 | /Team - GET | POST 29 | /Team/{Team member}/Bugs - GET | POST 30 | /Bugs/Active - GET | POST 31 | /Bugs/Resolved - GET | POST 32 | /Bugs/Closed - GET | POST 33 | /Bugs/Pending - GET | POST (adding new bug posts here) 34 | /Bug/{Bug} - GET | PUT | DELETE 35 | /Bug/{Bug}/Attachments - GET | POST | DELETE 36 | /Bug/{Bug}/History - GET 37 | 38 | Media Type Specification: 39 | 40 | content type (GET): XHTML 41 | content type (PUT/POST): form-url encoded 42 | 43 | XHTML semantics: 44 | 45 |
    46 |
    47 |
    48 |
    49 |
    50 | 51 | 52 | 53 |
    54 | 55 | Media Relations: 56 | 57 | rel link factor applied to description 58 | --- ----------- ---------- ----------- 59 | history [LO|LE] bug the bug's change history 60 | attachments [LO|LE] bug the bug's attachments 61 | assignedTo [LO] bug team member assigned to the bug 62 | self [LO] bug, team member navigate to that same represenation 63 | bugs [LO|LE] home, team member assigned bugs 64 | team [LO] home all team members 65 | 66 | 67 | TODO: 68 | home page 69 | add new bug - should show up in pending 70 | from pending list, activate the bug - should show up in active 71 | from pending list, delete the bug (will tackle the details page later 72 | from active list resolve - should show up in resolved list 73 | from resolved list, close - should show up in closed list 74 | 75 | 76 | spike: enable resource hierchies: 77 | - enable a URI template parameter to exist more than once in a parameter (e.g. "{controller[2]}" or "{controller}/{controller}" 78 | - Write a custom IRouteHandler that can look at a file system convention (either a controller with a concatenated name or a folder/namespace hierarchy (folder hierarchy seems more consistent with MVC view conventions)) and select a controller 79 | 80 | figure out how to enable something like this "{controller}/{id}/{controller"} 81 | - should the instance of my child controller be able to specify a ctor parameter which would be populated with the value of {controller}/{id}? 82 | 83 | spike: implement search via forms: 84 | 85 | spike: automate end to end API testing using Web test tools 86 | - would be cool to also see if Web load testing tools could be used for testing the REST API -------------------------------------------------------------------------------- /src-original-ARCHIVE/aspnet webapi migration-toRC.txt: -------------------------------------------------------------------------------- 1 | migration notes 2 | 3 | intial steps: 4 | * uninstalled all Web API NuGet packages 5 | * installed web api packages from RC source (\\aspnet\Releases\MVC4-RC\20505\Signed\Packages) 6 | 7 | initial build errors 8 | Error 1 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\QaController.cs 19 16 RestBugs.Services 9 | Error 2 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\BacklogController.cs 20 16 RestBugs.Services 10 | Error 3 The type or namespace name 'FormatterContext' could not be found (are you missing a using directive or an assembly reference?) D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Formatters\RazorHtmlMediaTypeFormatter.cs 23 129 RestBugs.Services 11 | Error 4 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\DoneController.cs 26 16 RestBugs.Services 12 | Error 5 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\WorkingController.cs 31 16 RestBugs.Services 13 | Error 6 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\DoneController.cs 32 16 RestBugs.Services 14 | Error 7 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\QaController.cs 32 16 RestBugs.Services 15 | Error 8 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\BacklogController.cs 32 16 RestBugs.Services 16 | Error 9 The non-generic type 'System.Net.Http.HttpResponseMessage' cannot be used with type arguments D:\Programming\github\howarddierking\RestBugs\RestBugs Solution\RestBugs.Services\Services\WorkingController.cs 36 16 RestBugs.Services 17 | 18 | all of these are related to the fact that there's no more HttpResponseMessage - 19 | new pattern is to return HttpReponseMessage and create it with ApiController.Request::CreateResponse method 20 | this also means that I need to rewrite all of my tests that verify both the response message and the value 21 | there's a helper on the response called TryGetContentValue for this 22 | it means more test code, but not necessarily the end of the world 23 | 24 | I removed the code that threw an exception for 404 status codes and instead simply created a new HttpResponseMessage with a 404 status code 25 | 26 | looks like the signature changed on mediatypeformatter 27 | protected override Task OnWriteToStreamAsync(Type type, object value, Stream stream, HttpContentHeaders contentHeaders, FormatterContext formatterContext, TransportContext transportContext) 28 | 29 | once I changed my services to return HttpResponseMessage rather than HttpResponseMessage, I also ended up needing to fix up all of my unit tests 30 | 31 | major changes in dependency resolver - need to get additional guidance on what these were all about 32 | 33 | looks like there was some bug in the way I was managing my stream/stream writer inside my razor formatter 34 | 35 | still an issue with content negotiation - especially when the user agent is a browser. It seems to have something to do with how we handle wildcard values in the accept header 36 | looks like upgrading to the nightly package builds fixed that issue 37 | 38 | now an issue where action selection is failing for posts that rely on model binding to include custom types as parameters -------------------------------------------------------------------------------- /src-original-ARCHIVE/aspnet webapi migration.txt: -------------------------------------------------------------------------------- 1 | changed all references and updated usings 2 | formatters 3 | changed sync methods to async methods (e.g. OnWriteToStream -> OnWriteToStreamAsyc) and modified to use tasks 4 | ++ was able to delete the WriteXx method when it is not used 5 | -- the formatter api is still crazy ugly 6 | method signature is really long 7 | i don't have a good sense of what happens if i don't just return a new task by default (e.g. what happens if i call base.OnXxX?) 8 | message handlers 9 | ++ hurray! these haven't changed 10 | services 11 | remove service contract and webget/webinvoke attributes 12 | remove using statements 13 | add reference to System.Web.Http 14 | add reference to System.Json 15 | rename XxService to XxController 16 | needed to change method names to HTTP Method conventions 17 | needed to refactor child resources into different controllers 18 | 19 | hierarchies 20 | need to figure out how i'm going to represent hierarchies for active/pending/etc. 21 | console host 22 | had to completely rewrite my console host 23 | 24 | 25 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/postdata/bugDtoForm-ValFail.txt: -------------------------------------------------------------------------------- 1 | Priority=1&Rank=1&Id=1&AssignedTo=howard&Name=mybug -------------------------------------------------------------------------------- /src-original-ARCHIVE/postdata/bugDtoForm.txt: -------------------------------------------------------------------------------- 1 | Status=pending&Priority=1&Rank=1&Id=1&AssignedTo=howard&Name=mybug -------------------------------------------------------------------------------- /src-original-ARCHIVE/postdata/bugDtoJson.txt: -------------------------------------------------------------------------------- 1 | { 2 | "Status" : "pending", 3 | "Priority" : "1", 4 | "Rank" : "1", 5 | "Id" : "1", 6 | "AssignedTo" : "howard", 7 | "Name" : "mybug" 8 | } -------------------------------------------------------------------------------- /src-original-ARCHIVE/postdata/bugDtoText-ValFail.txt: -------------------------------------------------------------------------------- 1 | Status:pending%0D%0A 2 | Priority:1%0D%0A 3 | Rank:1%0D%0A 4 | Id:1%0D%0A 5 | AssignedTo:howard%0D%0A 6 | Name:mybug 7 | 8 | 9 | -------------------------------------------------------------------------------- /src-original-ARCHIVE/postdata/bugDtoText.txt: -------------------------------------------------------------------------------- 1 | Status:pending 2 | Priority:1 3 | Rank:1 4 | Id:1 5 | AssignedTo:howard 6 | Name:mybug -------------------------------------------------------------------------------- /src-original-ARCHIVE/postdata/bugDtoXml.txt: -------------------------------------------------------------------------------- 1 | 2 | pending 3 | 1 4 | 1 5 | 1 6 | howard 7 | mybug 8 | 9 | 10 | --------------------------------------------------------------------------------