changeset 114:e51a6af1c98d

working version
author adminsh@apollo
date Sat, 19 May 2012 16:53:34 +0100
parents 954f66bb8dbf
children 4de4e7829319
files SSRS/SSRS.Services.DTO/ReportsResponse.cs SSRS/SSRS.Services.DTOs/Parameter.cs SSRS/SSRS.Services.DTOs/Properties/AssemblyInfo.cs SSRS/SSRS.Services.DTOs/ReportExecutionRequest.cs SSRS/SSRS.Services.DTOs/ReportExecutionResponse.cs SSRS/SSRS.Services.DTOs/ReportInfo.cs SSRS/SSRS.Services.DTOs/ReportsRequest.cs SSRS/SSRS.Services.DTOs/ReportsResponse.cs SSRS/SSRS.Services.DTOs/SSRS.Services.DTOs.csproj SSRS/SSRS.Services.UnitTests/SSRS.Services.UnitTests.csproj SSRS/SSRS.Services.WebTests/ReportsServiceFixture.cs SSRS/SSRS.Services.WebTests/SSRS.Services.WebTests.csproj SSRS/SSRS.Services/Converter.cs SSRS/SSRS.Services/ReportExecution.cs SSRS/SSRS.Services/ReportsService.cs SSRS/SSRS.Services/SSRS.Services.csproj SSRS/SSRS.Web/Global.asax.cs SSRS/SSRS.Web/SSRS.Web.csproj SSRS/SSRS.sln SSRS/SSRS/SSRS.csproj SSRS/SSRS/Services/AutoFormService.cs SSRS/SSRS/Services/ServiceClient.cs SSRS/SSRS/ViewModels/MainPageViewModel.cs
diffstat 23 files changed, 101 insertions(+), 227 deletions(-) [+]
line wrap: on
line diff
--- a/SSRS/SSRS.Services.DTO/ReportsResponse.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services.DTO/ReportsResponse.cs	Sat May 19 16:53:34 2012 +0100
@@ -4,6 +4,6 @@
 {
     public class ReportsResponse
     {
-        public List<ReportInfo> Result { get; set; }
+        public IList<ReportInfo> Result { get; set; }
     }
 }
--- a/SSRS/SSRS.Services.DTOs/Parameter.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-namespace SSRS.Services.DTOs
-{
-    public class Parameter
-    {
-        public string[] DefaultValues { get; set; }
-        public string Name { get; set; }
-        public bool Nullable { get; set; }
-        public string ParameterType { get; set; }
-        public string Value { get; set; }
-    }
-}
--- a/SSRS/SSRS.Services.DTOs/Properties/AssemblyInfo.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("SSRS.Services.DTOs")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("SSRS.Services.DTOs")]
-[assembly: AssemblyCopyright("Copyright ©  2012")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("9d61199d-c0d5-464d-ab16-106d47415df7")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
--- a/SSRS/SSRS.Services.DTOs/ReportExecutionRequest.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-namespace SSRS.Services.DTOs
-{
-    public class ReportExecutionRequest
-    {
-        public string Name { get; set; }
-        public string Format { get; set; }
-        public Parameter[] Parameters { get; set; }
-    }
-}
--- a/SSRS/SSRS.Services.DTOs/ReportExecutionResponse.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-namespace SSRS.Services.DTOs
-{
-    public class ReportExecutionResponse
-    {
-        public byte[] Result { get; set; }
-    }
-}
\ No newline at end of file
--- a/SSRS/SSRS.Services.DTOs/ReportInfo.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-using System.Collections.Generic;
-
-namespace SSRS.Services.DTOs
-{
-    public class ReportInfo
-    {
-        public string Name { get; set; }
-        public IList<Parameter> Parameters { get; set; }
-        public string Path { get; set; }
-
-        public ReportInfo() { }
-
-        public static ReportInfo Create(string name, IList<Parameter> parameters, string path)
-        {
-            return new ReportInfo()
-                {
-                    Name = name, 
-                    Parameters = parameters, 
-                    Path = path
-                };
-        }
-    }
-}
--- a/SSRS/SSRS.Services.DTOs/ReportsRequest.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-namespace SSRS.Services.DTOs
-{
-    public class ReportsRequest
-    {
-        public bool IncludeParameters { get; set; }
-    }
-}
--- a/SSRS/SSRS.Services.DTOs/ReportsResponse.cs	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-using System.Collections.Generic;
-using System.Runtime.Serialization;
-
-namespace SSRS.Services.DTOs
-{
-    [DataContract]
-    public class ReportsResponse
-    {
-        [DataMember]
-        public List<ReportInfo> Result { get; set; }
-    }
-}
--- a/SSRS/SSRS.Services.DTOs/SSRS.Services.DTOs.csproj	Sat May 19 16:21:07 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{31ADF48B-7540-4869-BF0F-D088DD67707E}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>SSRS.Services.DTOs</RootNamespace>
-    <AssemblyName>SSRS.Services.DTOs</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Parameter.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="ReportExecutionRequest.cs" />
-    <Compile Include="ReportExecutionResponse.cs" />
-    <Compile Include="ReportInfo.cs" />
-    <Compile Include="ReportsRequest.cs" />
-    <Compile Include="ReportsResponse.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
--- a/SSRS/SSRS.Services.UnitTests/SSRS.Services.UnitTests.csproj	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services.UnitTests/SSRS.Services.UnitTests.csproj	Sat May 19 16:53:34 2012 +0100
@@ -55,6 +55,10 @@
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\SSRS.Services.DTO\SSRS.Services.DTO.csproj">
+      <Project>{29663C66-DB7C-4704-8BF8-52B3BCFABC19}</Project>
+      <Name>SSRS.Services.DTO</Name>
+    </ProjectReference>
     <ProjectReference Include="..\SSRS.Services\SSRS.Services.csproj">
       <Project>{647369D2-B163-45B7-8E40-BBADEC2F30F7}</Project>
       <Name>SSRS.Services</Name>
--- a/SSRS/SSRS.Services.WebTests/ReportsServiceFixture.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services.WebTests/ReportsServiceFixture.cs	Sat May 19 16:53:34 2012 +0100
@@ -1,4 +1,6 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
+using System.Net;
 using NUnit.Framework;
 using SSRS.Services.DTO;
 using ServiceStack.Service;
@@ -10,11 +12,50 @@
     public class ReportsServiceFixture
     {
         [Test]
-        public void ReportsService_REST_GET_returns_reportList_greater_than_zero()
+        public void ReportsService_REST_PUT_returns_reportList_greater_than_zero()
         {
-            var restClient = new JsonServiceClient("http://localhost:2505/services") as IRestClient;
-            var allReports = restClient.Get<List<ReportInfo>>("/reports");
-            Assert.That(allReports.Count, Is.GreaterThan(0));
+            //var webRequest = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(new Uri(_baseUri + uri));
+            //webRequest.Method = method;
+
+            //// if cookies are enabled, pass them in from the browser
+            //if (this.EnableCookies)
+            //{
+            //    webRequest.CookieContainer = new CookieContainer();
+            //    webRequest.CookieContainer.SetCookies(new Uri(_baseUri), HtmlPage.Document.Cookies);
+            //}
+
+            //// set the accept header so our response is in json
+            //webRequest.Accept = "application/json";
+            //var client = new ServiceClient<ReportsRequest, ReportsResponse>();
+            //client.Completed += (sender, args) =>
+            //    {
+            //        // check for web exceptions
+            //        var webEx = args.Error as WebException;
+            //        if (webEx != null)
+            //        {
+            //            var webResponse = (HttpWebResponse) webEx.Response;
+
+            //            ErrorText = string.Format("WebException: {0} {1} {2}",
+            //                webResponse.ResponseUri,
+            //                webResponse.Method, webResponse.StatusDescription);
+
+            //            return;
+            //        }
+
+            //        // re-throw any other exceptions
+            //        if (args.Error != null)
+            //            throw args.Error;
+
+            //        var result = args.Response.Result;
+            //        if (result == null) return;
+            //    };
+
+            //client.Post("/reports", new ReportsRequest() {IncludeParameters = true});
+        
+            //var restClient = new JsonServiceClient("http://localhost:2505/services") as IRestClient;
+            //var request = new ReportsRequest() { IncludeParameters = true };
+            //var response = restClient.Put<ReportsResponse>("/reports", request);
+            //Assert.That(response.Result, Is.GreaterThan(0));
         }
     }
 }
--- a/SSRS/SSRS.Services.WebTests/SSRS.Services.WebTests.csproj	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services.WebTests/SSRS.Services.WebTests.csproj	Sat May 19 16:53:34 2012 +0100
@@ -61,6 +61,10 @@
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\SSRS.Services.DTO\SSRS.Services.DTO.csproj">
+      <Project>{29663C66-DB7C-4704-8BF8-52B3BCFABC19}</Project>
+      <Name>SSRS.Services.DTO</Name>
+    </ProjectReference>
     <ProjectReference Include="..\SSRS.Services\SSRS.Services.csproj">
       <Project>{647369D2-B163-45B7-8E40-BBADEC2F30F7}</Project>
       <Name>SSRS.Services</Name>
--- a/SSRS/SSRS.Services/Converter.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services/Converter.cs	Sat May 19 16:53:34 2012 +0100
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 using System.Linq;
-using SSRS.Services.DTOs;
+using SSRS.Services.DTO;
 
 namespace SSRS.Services
 {
--- a/SSRS/SSRS.Services/ReportExecution.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services/ReportExecution.cs	Sat May 19 16:53:34 2012 +0100
@@ -1,6 +1,6 @@
 using System;
 using System.Security.Principal;
-using SSRS.Services.DTOs;
+using SSRS.Services.DTO;
 using SSRS.Services.ReportExecutionServiceReference;
 using ServiceStack.ServiceHost;
 
--- a/SSRS/SSRS.Services/ReportsService.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services/ReportsService.cs	Sat May 19 16:53:34 2012 +0100
@@ -2,7 +2,7 @@
 using System.Linq;
 using System.Security.Principal;
 using System.Threading.Tasks;
-using SSRS.Services.DTOs;
+using SSRS.Services.DTO;
 using SSRS.Services.ReportServiceReference;
 using ServiceStack.ServiceInterface;
 
--- a/SSRS/SSRS.Services/SSRS.Services.csproj	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Services/SSRS.Services.csproj	Sat May 19 16:53:34 2012 +0100
@@ -215,9 +215,9 @@
     </None>
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\SSRS.Services.DTOs\SSRS.Services.DTOs.csproj">
-      <Project>{31ADF48B-7540-4869-BF0F-D088DD67707E}</Project>
-      <Name>SSRS.Services.DTOs</Name>
+    <ProjectReference Include="..\SSRS.Services.DTO\SSRS.Services.DTO.csproj">
+      <Project>{29663C66-DB7C-4704-8BF8-52B3BCFABC19}</Project>
+      <Name>SSRS.Services.DTO</Name>
     </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
--- a/SSRS/SSRS.Web/Global.asax.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Web/Global.asax.cs	Sat May 19 16:53:34 2012 +0100
@@ -2,7 +2,7 @@
 using System.Web;
 using Funq;
 using SSRS.Services;
-using SSRS.Services.DTOs;
+using SSRS.Services.DTO;
 using ServiceStack.WebHost.Endpoints;
 
 namespace SSRS.Web
--- a/SSRS/SSRS.Web/SSRS.Web.csproj	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.Web/SSRS.Web.csproj	Sat May 19 16:53:34 2012 +0100
@@ -105,9 +105,9 @@
     <WCFMetadata Include="Service References\" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\SSRS.Services.DTOs\SSRS.Services.DTOs.csproj">
-      <Project>{31ADF48B-7540-4869-BF0F-D088DD67707E}</Project>
-      <Name>SSRS.Services.DTOs</Name>
+    <ProjectReference Include="..\SSRS.Services.DTO\SSRS.Services.DTO.csproj">
+      <Project>{29663C66-DB7C-4704-8BF8-52B3BCFABC19}</Project>
+      <Name>SSRS.Services.DTO</Name>
     </ProjectReference>
     <ProjectReference Include="..\SSRS.Services\SSRS.Services.csproj">
       <Project>{647369D2-B163-45B7-8E40-BBADEC2F30F7}</Project>
--- a/SSRS/SSRS.sln	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS.sln	Sat May 19 16:53:34 2012 +0100
@@ -18,7 +18,7 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSRS.Services.WebTests", "SSRS.Services.WebTests\SSRS.Services.WebTests.csproj", "{40836A5F-C6F7-4CEF-9638-5C36F8D04789}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSRS.Services.DTOs", "SSRS.Services.DTOs\SSRS.Services.DTOs.csproj", "{31ADF48B-7540-4869-BF0F-D088DD67707E}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSRS.Services.DTO", "SSRS.Services.DTO\SSRS.Services.DTO.csproj", "{29663C66-DB7C-4704-8BF8-52B3BCFABC19}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -39,15 +39,17 @@
 		{647369D2-B163-45B7-8E40-BBADEC2F30F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{647369D2-B163-45B7-8E40-BBADEC2F30F7}.Release|Any CPU.Build.0 = Release|Any CPU
 		{06D1C29B-9BAC-4784-92F6-0DF91F192B6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{06D1C29B-9BAC-4784-92F6-0DF91F192B6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{06D1C29B-9BAC-4784-92F6-0DF91F192B6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{06D1C29B-9BAC-4784-92F6-0DF91F192B6B}.Release|Any CPU.Build.0 = Release|Any CPU
 		{40836A5F-C6F7-4CEF-9638-5C36F8D04789}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{40836A5F-C6F7-4CEF-9638-5C36F8D04789}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{40836A5F-C6F7-4CEF-9638-5C36F8D04789}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{40836A5F-C6F7-4CEF-9638-5C36F8D04789}.Release|Any CPU.Build.0 = Release|Any CPU
-		{31ADF48B-7540-4869-BF0F-D088DD67707E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31ADF48B-7540-4869-BF0F-D088DD67707E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31ADF48B-7540-4869-BF0F-D088DD67707E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{31ADF48B-7540-4869-BF0F-D088DD67707E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{29663C66-DB7C-4704-8BF8-52B3BCFABC19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{29663C66-DB7C-4704-8BF8-52B3BCFABC19}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{29663C66-DB7C-4704-8BF8-52B3BCFABC19}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{29663C66-DB7C-4704-8BF8-52B3BCFABC19}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
--- a/SSRS/SSRS/SSRS.csproj	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS/SSRS.csproj	Sat May 19 16:53:34 2012 +0100
@@ -105,24 +105,6 @@
     <Reference Include="System.Windows.Browser" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="..\SSRS.Services.DTOs\Parameter.cs">
-      <Link>Data\Parameter.cs</Link>
-    </Compile>
-    <Compile Include="..\SSRS.Services.DTOs\ReportExecutionRequest.cs">
-      <Link>Data\ReportExecutionRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\SSRS.Services.DTOs\ReportExecutionResponse.cs">
-      <Link>Data\ReportExecutionResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\SSRS.Services.DTOs\ReportInfo.cs">
-      <Link>Data\ReportInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\SSRS.Services.DTOs\ReportsRequest.cs">
-      <Link>Data\ReportsRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\SSRS.Services.DTOs\ReportsResponse.cs">
-      <Link>Data\ReportsResponse.cs</Link>
-    </Compile>
     <Compile Include="App.xaml.cs">
       <DependentUpon>App.xaml</DependentUpon>
     </Compile>
@@ -219,6 +201,12 @@
       <Punctuation>True</Punctuation>
     </BlendEmbeddedFont>
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\SSRS.Services.DTO\SSRS.Services.DTO.csproj">
+      <Project>{29663C66-DB7C-4704-8BF8-52B3BCFABC19}</Project>
+      <Name>SSRS.Services.DTO</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
--- a/SSRS/SSRS/Services/AutoFormService.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS/Services/AutoFormService.cs	Sat May 19 16:53:34 2012 +0100
@@ -1,6 +1,6 @@
 using System.Collections.ObjectModel;
 using SSRS.Data;
-using SSRS.Services.DTOs;
+using SSRS.Services.DTO;
 
 namespace SSRS.Services
 {
--- a/SSRS/SSRS/Services/ServiceClient.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS/Services/ServiceClient.cs	Sat May 19 16:53:34 2012 +0100
@@ -2,7 +2,6 @@
 using System.IO;
 using System.Net;
 using System.Net.Browser;
-using System.Runtime.Serialization.Json;
 using System.Windows;
 using System.Windows.Browser;
 using ServiceStack.Text;
@@ -69,17 +68,18 @@
                 // set the content type to json
                 webRequest.ContentType = "application/json";
 
-                var serializer = new DataContractJsonSerializer(typeof(TRequest));
-                serializer.WriteObject(stream, container.Data);
-                stream.Flush();
-                stream.Close();
+                // Serialize using Microsoft serializer
+                //var serializer = new DataContractJsonSerializer(typeof(TRequest));
+                //serializer.WriteObject(stream, container.Data);
+                //stream.Flush();
+                //stream.Close();
 
-                // SERVICE STACK SERIALIZER
-                //using (var writer = new StreamWriter(stream))
-                //{
-                //    var serializer = new JsonSerializer<TRequest>();
-                //    serializer.SerializeToWriter(container.Data, writer);
-                //}
+                // Serialize using ServiceStack serializer
+                using (var writer = new StreamWriter(stream))
+                {
+                    var serializer = new JsonSerializer<TRequest>();
+                    serializer.SerializeToWriter(container.Data, writer);
+                }
 
                 // now we can get the response
                 webRequest.BeginGetResponse(ResponseCallback, webRequest);
@@ -104,17 +104,17 @@
                 // Get the web response stream
                 var stream = webResponse.GetResponseStream();
 
-                // Deserialize the json data in the response stream
-                var serializer = new DataContractJsonSerializer(typeof(TResponse));
-                var response = (TResponse)serializer.ReadObject(stream);
+                // Deserialize using Microsoft deserializer
+                //var serializer = new DataContractJsonSerializer(typeof(TResponse));
+                //var response = (TResponse)serializer.ReadObject(stream);
 
-                // If you want to use ServiceStack's serializer, replace the previous code block with this one.
-                //TResponse response;
-                //using (var reader = new StreamReader(stream))
-                //{
-                //    var serializer = new JsonSerializer<TResponse>();
-                //    response = serializer.DeserializeFromReader(reader);
-                //}
+                // Deserialize using ServiceStack deserializer (faster)
+                TResponse response;
+                using (var reader = new StreamReader(stream))
+                {
+                    var serializer = new JsonSerializer<TResponse>();
+                    response = serializer.DeserializeFromReader(reader);
+                }
 
 
                 // Switch to the UI thread
--- a/SSRS/SSRS/ViewModels/MainPageViewModel.cs	Sat May 19 16:21:07 2012 +0100
+++ b/SSRS/SSRS/ViewModels/MainPageViewModel.cs	Sat May 19 16:53:34 2012 +0100
@@ -8,7 +8,7 @@
 using GalaSoft.MvvmLight.Command;
 using SSRS.Data;
 using SSRS.Services;
-using SSRS.Services.DTOs;
+using SSRS.Services.DTO;
 
 namespace SSRS.ViewModels
 {