├── AnalyzeZillow.Core ├── packages.config ├── IZillowDataRepository.cs ├── App.config ├── SQL │ ├── ZillowDataContext.cs │ └── Home.cs ├── Properties │ └── AssemblyInfo.cs ├── ZillowDataRepository.cs └── AnalyzeZillow.Core.csproj ├── AnalyzeZillow.Brains ├── packages.config ├── app.config ├── Script.fsx ├── Brains.fs └── AnalyzeZillow.Brains.fsproj ├── packages └── repositories.config ├── AnalyzeZillow.Host ├── ServiceDefinition.csdef ├── ServiceConfiguration.Cloud.cscfg ├── ServiceConfiguration.Local.cscfg ├── AnalyzeZillow.Host.RoleContent │ └── diagnostics.wadcfgx └── AnalyzeZillow.Host.ccproj ├── AnalyzeZillow.DB ├── AnalyzeZillow.DB.refactorlog ├── Homes.sql └── AnalyzeZillow.DB.sqlproj ├── AnalyzeZillow.Host.Role ├── packages.config ├── Properties │ └── AssemblyInfo.cs ├── app.config ├── WorkerRole.cs └── AnalyzeZillow.Host.Role.csproj └── AnalyzeZillowService.sln /AnalyzeZillow.Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /AnalyzeZillow.Brains/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host/ServiceDefinition.csdef: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host/ServiceConfiguration.Cloud.cscfg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host/ServiceConfiguration.Local.cscfg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /AnalyzeZillow.Brains/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/IZillowDataRepository.cs: -------------------------------------------------------------------------------- 1 | using AnalyzeZillow.Core.SQL; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace AnalyzeZillow.Core 9 | { 10 | public interface IZillowDataRepository 11 | { 12 | Task SaveSingle(Home home); 13 | Task SaveBatch(ICollection homes); 14 | ICollection GetHomes(); 15 | Home GetSingleHome(int zId); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AnalyzeZillow.DB/AnalyzeZillow.DB.refactorlog: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host.Role/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /AnalyzeZillow.DB/Homes.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE [dbo].[Homes] 2 | ( 3 | [zId] INT NOT NULL PRIMARY KEY, 4 | [Street] NVARCHAR(MAX) NOT NULL, 5 | [City] NVARCHAR(50) NOT NULL, 6 | [State] NCHAR(10) NOT NULL, 7 | [ZipCode] INT NOT NULL, 8 | [Latitude] DECIMAL NULL, 9 | [Longitude] DECIMAL NULL, 10 | [FIPSCounty] INT NOT NULL, 11 | [HomeType] NVARCHAR(50) NULL, 12 | [TaxAssesmentYear] INT NOT NULL, 13 | [TaxAssessment] DECIMAL NOT NULL, 14 | [YearBuild] INT NOT NULL, 15 | [LotSize] INT NULL, 16 | [HomeSize] INT NOT NULL, 17 | [NumBathrooms] DECIMAL NULL, 18 | [NumBedrooms] INT NULL, 19 | [TotalRooms] FLOAT NULL, 20 | [ZillowEstimate] FLOAT NULL, 21 | [ZillowLowEstimate] FLOAT NULL, 22 | [ZillowHighEstimate] FLOAT NULL, 23 | [LastSoldPrice] FLOAT NULL, 24 | [LastSoldDate] DATETIME NULL 25 | ) 26 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/SQL/ZillowDataContext.cs: -------------------------------------------------------------------------------- 1 | namespace AnalyzeZillow.Core.SQL 2 | { 3 | using System; 4 | using System.Data.Entity; 5 | using System.ComponentModel.DataAnnotations.Schema; 6 | using System.Linq; 7 | /// 8 | /// Entity Framework Generated Code. You will need to search in the app.config 9 | /// for ZillowDataContext to find the connection string and replace with your own. 10 | /// 11 | public partial class ZillowDataContext : DbContext 12 | { 13 | public ZillowDataContext() 14 | : base("name=ZillowDataContext") 15 | { 16 | } 17 | 18 | public virtual DbSet Homes { get; set; } 19 | 20 | protected override void OnModelCreating(DbModelBuilder modelBuilder) 21 | { 22 | modelBuilder.Entity() 23 | .Property(e => e.State) 24 | .IsFixedLength(); 25 | 26 | modelBuilder.Entity() 27 | .Property(e => e.Latitude) 28 | .HasPrecision(18, 0); 29 | 30 | modelBuilder.Entity() 31 | .Property(e => e.Longitude) 32 | .HasPrecision(18, 0); 33 | 34 | modelBuilder.Entity() 35 | .Property(e => e.TaxAssessment) 36 | .HasPrecision(18, 0); 37 | 38 | modelBuilder.Entity() 39 | .Property(e => e.NumBathrooms) 40 | .HasPrecision(18, 0); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /AnalyzeZillow.Brains/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | #r @"..\packages\FSharp.Data.2.2.1\lib\net40\FSharp.Data.dll" 4 | #r @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Xml.Linq.dll" 5 | 6 | open System.Xml.Linq 7 | open FSharp.Data 8 | //Gets the XML 9 | [] 10 | let zillowBasicSample = "http://www.zillow.com/webservice/GetUpdatedPropertyDetails.htm?zws-id={YOURKEY}&zpid=48749425" 11 | let zillowBasicUrl = "http://www.zillow.com/webservice/GetUpdatedPropertyDetails.htm?zws-id={YOURKEY}&zpid=" 12 | [] 13 | let zillowDeepSample = "http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id={YOURKEY}&address=2114+Bigelow+Ave&citystatezip=Seattle%2C+WA" 14 | let zillowDeepsUrl = "http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id={YOURKEY}" 15 | type ZillowBasic = XmlProvider 16 | type ZillowDeep = XmlProvider 17 | 18 | let z1 = ZillowBasic.Load(zillowBasicUrl + "1") 19 | let address = z1.Response.Address.Street.Replace(" ", "+") 20 | let citystatezip = z1.Response.Address.City + @"%2C+" + z1.Response.Address.State 21 | let deepUrl = zillowDeepsUrl + "&address=" + address + "citystatezip=" + citystatezip 22 | let z3 = ZillowDeep.Load(zillowDeepsUrl + "&address=" + address + "&citystatezip=" + citystatezip) 23 | //let z2 = ZillowComparisons.Load(zillowComparisonsUrl + "2345&count=5") 24 | // Define your library scripting code here 25 | 26 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/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("AnalyzeZillow.Core")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("AnalyzeZillow.Core")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 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("e2ec6926-9b90-43d3-8374-5707e3e5de74")] 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 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host.Role/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("AnalyzeZillow.Host.Role")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("AnalyzeZillow.Host.Role")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 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("afb0e55a-d914-48ed-a4bc-dc6935d8fe37")] 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 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/SQL/Home.cs: -------------------------------------------------------------------------------- 1 | namespace AnalyzeZillow.Core.SQL 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | using System.ComponentModel.DataAnnotations; 6 | using System.ComponentModel.DataAnnotations.Schema; 7 | using System.Data.Entity.Spatial; 8 | /// 9 | /// Entity Framework Generated Code 10 | /// 11 | public partial class Home 12 | { 13 | [Key] 14 | [DatabaseGenerated(DatabaseGeneratedOption.None)] 15 | public int zId { get; set; } 16 | 17 | [Required] 18 | public string Street { get; set; } 19 | 20 | [Required] 21 | [StringLength(50)] 22 | public string City { get; set; } 23 | 24 | [Required] 25 | [StringLength(10)] 26 | public string State { get; set; } 27 | 28 | public int ZipCode { get; set; } 29 | 30 | public decimal Latitude { get; set; } 31 | 32 | public decimal Longitude { get; set; } 33 | 34 | public int FIPSCounty { get; set; } 35 | 36 | [Required] 37 | [StringLength(50)] 38 | public string HomeType { get; set; } 39 | 40 | public int TaxAssesmentYear { get; set; } 41 | 42 | public decimal TaxAssessment { get; set; } 43 | 44 | public int YearBuild { get; set; } 45 | 46 | public int LotSize { get; set; } 47 | 48 | public int HomeSize { get; set; } 49 | 50 | public decimal NumBathrooms { get; set; } 51 | 52 | public int NumBedrooms { get; set; } 53 | 54 | public double TotalRooms { get; set; } 55 | 56 | public double ZillowEstimate { get; set; } 57 | 58 | public double ZillowLowEstimate { get; set; } 59 | 60 | public double ZillowHighEstimate { get; set; } 61 | 62 | public double LastSoldPrice { get; set; } 63 | 64 | public DateTime LastSoldDate { get; set; } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host.Role/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 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host/AnalyzeZillow.Host.RoleContent/diagnostics.wadcfgx: -------------------------------------------------------------------------------- 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 | 34 | 35 | 36 | 37 | true 38 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/ZillowDataRepository.cs: -------------------------------------------------------------------------------- 1 | using AnalyzeZillow.Core.SQL; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace AnalyzeZillow.Core 9 | { 10 | public class ZillowDataRepository : IZillowDataRepository 11 | { 12 | public ZillowDataContext dbContext { get; set; } 13 | 14 | public ZillowDataRepository() 15 | { 16 | dbContext = new ZillowDataContext(); 17 | } 18 | /// 19 | /// Notice that this is NOT IZillowDataRepository.SaveSingle, 20 | /// Doing so would force a private member here. 21 | /// 22 | /// 23 | /// 24 | public async Task SaveSingle(Home home) 25 | { 26 | try 27 | { 28 | dbContext.Homes.Add(home); 29 | await dbContext.SaveChangesAsync(); 30 | return true; 31 | } 32 | catch(Exception e) 33 | { 34 | //if something goes wrong, we can't save the changes, 35 | //but chances are it is still in the context. 36 | //next time we attempt a save, it will still be there 37 | //causing another exception. 38 | //we must remove the bad home (probably a key duplicate) 39 | //otherwise our program will constantly be failing with a growing 40 | //in memory list of homes to add 41 | dbContext.Homes.Remove(home); 42 | return false; 43 | } 44 | } 45 | 46 | public async Task SaveBatch(ICollection homes) 47 | { 48 | foreach(Home home in homes) 49 | { 50 | //Add a bunch of homes here 51 | dbContext.Homes.Add(home); 52 | } 53 | try 54 | { 55 | //save all of them as a batch 56 | //this is a HUGE performance gain. 57 | //I've seen upwards of multiples of minutes 58 | //performance increase for larger inserts 59 | await dbContext.SaveChangesAsync(); 60 | return true; 61 | } 62 | catch(Exception e) 63 | { 64 | return false; 65 | } 66 | } 67 | 68 | ICollection IZillowDataRepository.GetHomes() 69 | { 70 | throw new NotImplementedException(); 71 | } 72 | 73 | SQL.Home IZillowDataRepository.GetSingleHome(int zId) 74 | { 75 | throw new NotImplementedException(); 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /AnalyzeZillow.Brains/Brains.fs: -------------------------------------------------------------------------------- 1 | namespace AnalyzeZillow.Brains 2 | 3 | open FSharp.Data 4 | open AnalyzeZillow.Core.SQL 5 | open System.Xml.Linq 6 | 7 | module Brains = 8 | [] 9 | let zillowBasicSample = "http://www.zillow.com/webservice/GetUpdatedPropertyDetails.htm?zws-id={YOURKEY}&zpid=48749425" 10 | let zillowBasicUrl = "http://www.zillow.com/webservice/GetUpdatedPropertyDetails.htm?zws-id={YOURKEY}&zpid=" 11 | [] 12 | let zillowDeepSample = "http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id={YOURKEY}&address=2114+Bigelow+Ave&citystatezip=Seattle%2C+WA" 13 | let zillowDeepsUrl = "http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id={YOURKEY}" 14 | type ZillowBasic = XmlProvider 15 | type ZillowDeep = XmlProvider 16 | 17 | let GetHome (id:int) = 18 | let idString = id.ToString() 19 | let zBasic = ZillowBasic.Load(zillowBasicUrl + idString) 20 | let address = zBasic.Response.Address.Street.Replace(" ", "+") 21 | let citystatezip = zBasic.Response.Address.City + @"%2C+" + zBasic.Response.Address.State 22 | let deepUrl = zillowDeepsUrl + "&address=" + address + "citystatezip=" + citystatezip 23 | let zFull = ZillowDeep.Load(zillowDeepsUrl + "&address=" + address + "&citystatezip=" + citystatezip) 24 | let home = new Home(); 25 | home.City <- zFull.Response.Result.Address.City 26 | home.FIPSCounty <- zFull.Response.Result.FipScounty 27 | home.HomeSize <- zFull.Response.Result.FinishedSqFt 28 | home.HomeType <- zFull.Response.Result.UseCode 29 | home.Latitude <- zFull.Response.Result.Address.Latitude 30 | home.Longitude <- zFull.Response.Result.Address.Longitude 31 | home.NumBedrooms <- zFull.Response.Result.Bedrooms 32 | home.State <- zFull.Response.Result.Address.State 33 | home.Street <- zFull.Response.Result.Address.Street 34 | home.TaxAssesmentYear <- zFull.Response.Result.TaxAssessmentYear 35 | home.TaxAssessment <- zFull.Response.Result.TaxAssessment 36 | home.YearBuild <- zFull.Response.Result.YearBuilt 37 | home.zId <- id 38 | try 39 | home.NumBathrooms <- zFull.Response.Result.Bathrooms 40 | with 41 | | :? System.Exception -> home.NumBathrooms <- 0.1m 42 | try 43 | home.LotSize <- zFull.Response.Result.LotSizeSqFt 44 | with 45 | | :? System.Exception -> home.LotSize <- 0 46 | try 47 | home.ZillowEstimate <- float(zFull.Response.Result.Zestimate.Amount.Value) 48 | home.ZillowHighEstimate <- float(zFull.Response.Result.Zestimate.ValuationRange.High.Value) 49 | home.ZillowLowEstimate <- float(zFull.Response.Result.Zestimate.ValuationRange.Low.Value) 50 | with 51 | | :? System.Exception -> 52 | home.ZillowEstimate <- float(0) 53 | home.ZillowHighEstimate <- float(0) 54 | home.ZillowLowEstimate <- float(0) 55 | home 56 | 57 | 58 | let GetData (something:int) = 59 | let data = 1 60 | 0 61 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host.Role/WorkerRole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Threading; 7 | using System.Threading.Tasks; 8 | using Microsoft.WindowsAzure; 9 | using Microsoft.WindowsAzure.Diagnostics; 10 | using Microsoft.WindowsAzure.ServiceRuntime; 11 | using Microsoft.WindowsAzure.Storage; 12 | using AnalyzeZillow.Core.SQL; 13 | using AnalyzeZillow.Core; 14 | 15 | namespace AnalyzeZillow.Host.Role 16 | { 17 | public class WorkerRole : RoleEntryPoint 18 | { 19 | //Generated Code 20 | private readonly CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); 21 | private readonly ManualResetEvent runCompleteEvent = new ManualResetEvent(false); 22 | 23 | public override void Run() 24 | { 25 | Trace.TraceInformation("AnalyzeZillow.Host.Role is running"); 26 | Trace.TraceInformation("Working"); 27 | //DO Work 28 | var instanceIdSplit = RoleEnvironment.CurrentRoleInstance.Id.Split('_'); 29 | var roleNumberString = instanceIdSplit[instanceIdSplit.Length - 1]; 30 | int roleNumber; 31 | int.TryParse(roleNumberString, out roleNumber); 32 | //82300179 <- Home in Pompano Beach 33 | if(roleNumber == 0) 34 | { 35 | WorkerRole.DoWork(82300178); 36 | } 37 | else 38 | { 39 | WorkerRole.DoWork(82300179); 40 | } 41 | 42 | } 43 | 44 | public static async void DoWork(int i) 45 | { 46 | 47 | bool done = false; 48 | ZillowDataRepository zRepo = new ZillowDataRepository(); 49 | while (!done) 50 | { 51 | try 52 | { 53 | Home h = Brains.Brains.GetHome(i); 54 | await zRepo.SaveSingle(h); 55 | i += 2; 56 | } 57 | catch (Exception e) 58 | { 59 | //done = true; 60 | i += 2; 61 | } 62 | 63 | } 64 | } 65 | //Generated Code 66 | public override bool OnStart() 67 | { 68 | // Set the maximum number of concurrent connections 69 | ServicePointManager.DefaultConnectionLimit = 12; 70 | 71 | // For information on handling configuration changes 72 | // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357. 73 | 74 | bool result = base.OnStart(); 75 | 76 | Trace.TraceInformation("AnalyzeZillow.Host.Role has been started"); 77 | 78 | return result; 79 | } 80 | //Generated Code 81 | public override void OnStop() 82 | { 83 | Trace.TraceInformation("AnalyzeZillow.Host.Role is stopping"); 84 | 85 | this.cancellationTokenSource.Cancel(); 86 | this.runCompleteEvent.WaitOne(); 87 | 88 | base.OnStop(); 89 | 90 | Trace.TraceInformation("AnalyzeZillow.Host.Role has stopped"); 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host/AnalyzeZillow.Host.ccproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 2.5 8 | bda22aa1-e835-4cd7-9664-1654df60a171 9 | Library 10 | Properties 11 | AnalyzeZillow.Host 12 | AnalyzeZillow.Host 13 | True 14 | AnalyzeZillow.Host 15 | False 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | AnalyzeZillow.Host.Role 43 | {d0ebcc20-52af-404d-a399-52b3a75f8624} 44 | True 45 | Worker 46 | AnalyzeZillow.Host.Role 47 | True 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 10.0 59 | $(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\2.5\ 60 | 61 | 62 | -------------------------------------------------------------------------------- /AnalyzeZillowService.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{CC5FD16D-436D-48AD-A40C-5A424C6E3E79}") = "AnalyzeZillow.Host", "AnalyzeZillow.Host\AnalyzeZillow.Host.ccproj", "{BDA22AA1-E835-4CD7-9664-1654DF60A171}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzeZillow.Host.Role", "AnalyzeZillow.Host.Role\AnalyzeZillow.Host.Role.csproj", "{D0EBCC20-52AF-404D-A399-52B3A75F8624}" 9 | EndProject 10 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "AnalyzeZillow.Brains", "AnalyzeZillow.Brains\AnalyzeZillow.Brains.fsproj", "{D9CDF7AC-110B-4220-946F-97793556D632}" 11 | EndProject 12 | Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "AnalyzeZillow.DB", "AnalyzeZillow.DB\AnalyzeZillow.DB.sqlproj", "{3CB79C21-3C76-4BCC-8E1D-61647C66A488}" 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzeZillow.Core", "AnalyzeZillow.Core\AnalyzeZillow.Core.csproj", "{4028B8CB-0648-443C-93E5-1F4816E23AE5}" 15 | EndProject 16 | Global 17 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 18 | Debug|Any CPU = Debug|Any CPU 19 | Release|Any CPU = Release|Any CPU 20 | EndGlobalSection 21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 22 | {BDA22AA1-E835-4CD7-9664-1654DF60A171}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {BDA22AA1-E835-4CD7-9664-1654DF60A171}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {BDA22AA1-E835-4CD7-9664-1654DF60A171}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {BDA22AA1-E835-4CD7-9664-1654DF60A171}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {D0EBCC20-52AF-404D-A399-52B3A75F8624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {D0EBCC20-52AF-404D-A399-52B3A75F8624}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {D0EBCC20-52AF-404D-A399-52B3A75F8624}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {D0EBCC20-52AF-404D-A399-52B3A75F8624}.Release|Any CPU.Build.0 = Release|Any CPU 30 | {D9CDF7AC-110B-4220-946F-97793556D632}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 31 | {D9CDF7AC-110B-4220-946F-97793556D632}.Debug|Any CPU.Build.0 = Debug|Any CPU 32 | {D9CDF7AC-110B-4220-946F-97793556D632}.Release|Any CPU.ActiveCfg = Release|Any CPU 33 | {D9CDF7AC-110B-4220-946F-97793556D632}.Release|Any CPU.Build.0 = Release|Any CPU 34 | {3CB79C21-3C76-4BCC-8E1D-61647C66A488}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 35 | {3CB79C21-3C76-4BCC-8E1D-61647C66A488}.Debug|Any CPU.Build.0 = Debug|Any CPU 36 | {3CB79C21-3C76-4BCC-8E1D-61647C66A488}.Debug|Any CPU.Deploy.0 = Debug|Any CPU 37 | {3CB79C21-3C76-4BCC-8E1D-61647C66A488}.Release|Any CPU.ActiveCfg = Release|Any CPU 38 | {3CB79C21-3C76-4BCC-8E1D-61647C66A488}.Release|Any CPU.Build.0 = Release|Any CPU 39 | {3CB79C21-3C76-4BCC-8E1D-61647C66A488}.Release|Any CPU.Deploy.0 = Release|Any CPU 40 | {4028B8CB-0648-443C-93E5-1F4816E23AE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 41 | {4028B8CB-0648-443C-93E5-1F4816E23AE5}.Debug|Any CPU.Build.0 = Debug|Any CPU 42 | {4028B8CB-0648-443C-93E5-1F4816E23AE5}.Release|Any CPU.ActiveCfg = Release|Any CPU 43 | {4028B8CB-0648-443C-93E5-1F4816E23AE5}.Release|Any CPU.Build.0 = Release|Any CPU 44 | EndGlobalSection 45 | GlobalSection(SolutionProperties) = preSolution 46 | HideSolutionNode = FALSE 47 | EndGlobalSection 48 | EndGlobal 49 | -------------------------------------------------------------------------------- /AnalyzeZillow.Core/AnalyzeZillow.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {4028B8CB-0648-443C-93E5-1F4816E23AE5} 8 | Library 9 | Properties 10 | AnalyzeZillow.Core 11 | AnalyzeZillow.Core 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll 35 | 36 | 37 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | Always 60 | 61 | 62 | 63 | 64 | 71 | -------------------------------------------------------------------------------- /AnalyzeZillow.DB/AnalyzeZillow.DB.sqlproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | AnalyzeZillow.DB 8 | 2.0 9 | 4.1 10 | {3cb79c21-3c76-4bcc-8e1d-61647c66a488} 11 | Microsoft.Data.Tools.Schema.Sql.SqlAzureDatabaseSchemaProvider 12 | Database 13 | 14 | 15 | AnalyzeZillow.DB 16 | AnalyzeZillow.DB 17 | 1033, CI 18 | BySchemaAndSchemaType 19 | True 20 | v4.5 21 | CS 22 | Properties 23 | False 24 | True 25 | True 26 | 27 | 28 | bin\Release\ 29 | $(MSBuildProjectName).sql 30 | False 31 | pdbonly 32 | true 33 | false 34 | true 35 | prompt 36 | 4 37 | 38 | 39 | bin\Debug\ 40 | $(MSBuildProjectName).sql 41 | false 42 | true 43 | full 44 | false 45 | true 46 | true 47 | prompt 48 | 4 49 | 50 | 51 | 11.0 52 | 53 | True 54 | 11.0 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /AnalyzeZillow.Brains/AnalyzeZillow.Brains.fsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 2.0 8 | d9cdf7ac-110b-4220-946f-97793556d632 9 | Library 10 | AnalyzeZillow.Brains 11 | AnalyzeZillow.Brains 12 | v4.5 13 | 4.3.1.0 14 | AnalyzeZillow.Brains 15 | 16 | 17 | true 18 | full 19 | false 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | 3 24 | bin\Debug\AnalyzeZillow.Brains.XML 25 | 26 | 27 | pdbonly 28 | true 29 | true 30 | bin\Release\ 31 | TRACE 32 | 3 33 | bin\Release\AnalyzeZillow.Brains.XML 34 | 35 | 36 | 11 37 | 38 | 39 | 40 | 41 | $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets 42 | 43 | 44 | 45 | 46 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | ..\packages\FSharp.Core.3.1.2.1\lib\net40\FSharp.Core.dll 60 | True 61 | 62 | 63 | ..\packages\FSharp.Data.2.2.1\lib\net40\FSharp.Data.dll 64 | True 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | AnalyzeZillow.Core 75 | {4028b8cb-0648-443c-93e5-1f4816e23ae5} 76 | True 77 | 78 | 79 | 86 | -------------------------------------------------------------------------------- /AnalyzeZillow.Host.Role/AnalyzeZillow.Host.Role.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {D0EBCC20-52AF-404D-A399-52B3A75F8624} 9 | Library 10 | Properties 11 | AnalyzeZillow.Host.Role 12 | AnalyzeZillow.Host.Role 13 | v4.5 14 | 512 15 | Worker 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll 37 | 38 | 39 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll 40 | 41 | 42 | ..\packages\Microsoft.Data.Edm.5.6.2\lib\net40\Microsoft.Data.Edm.dll 43 | 44 | 45 | ..\packages\Microsoft.Data.OData.5.6.2\lib\net40\Microsoft.Data.OData.dll 46 | 47 | 48 | ..\packages\Microsoft.Data.Services.Client.5.6.2\lib\net40\Microsoft.Data.Services.Client.dll 49 | 50 | 51 | ..\packages\Microsoft.WindowsAzure.ConfigurationManager.2.0.3\lib\net40\Microsoft.WindowsAzure.Configuration.dll 52 | 53 | 54 | True 55 | 56 | 57 | False 58 | 59 | 60 | ..\packages\WindowsAzure.Storage.4.3.0\lib\net40\Microsoft.WindowsAzure.Storage.dll 61 | 62 | 63 | ..\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | ..\packages\System.Spatial.5.6.2\lib\net40\System.Spatial.dll 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | {d9cdf7ac-110b-4220-946f-97793556d632} 90 | AnalyzeZillow.Brains 91 | 92 | 93 | {4028b8cb-0648-443c-93e5-1f4816e23ae5} 94 | AnalyzeZillow.Core 95 | 96 | 97 | 98 | 105 | --------------------------------------------------------------------------------