Explorar o código

PRS MOBILE - added Site Manufacturing Module

Nick-PRSDigital@bitbucket.org %!s(int64=2) %!d(string=hai) anos
pai
achega
2f5119f0fe

+ 2 - 528
prs.mobile/comal.timesheet.sln

@@ -40,578 +40,52 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PdfiumAndroid", "..\..\3rdp
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
-		Ad-Hoc|iPhone = Ad-Hoc|iPhone
-		Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
-		AppStore|Any CPU = AppStore|Any CPU
-		AppStore|iPhone = AppStore|iPhone
-		AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
-		CodeAnalysis|Any CPU = CodeAnalysis|Any CPU
-		CodeAnalysis|iPhone = CodeAnalysis|iPhone
-		CodeAnalysis|iPhoneSimulator = CodeAnalysis|iPhoneSimulator
 		Debug|Any CPU = Debug|Any CPU
-		Debug|iPhone = Debug|iPhone
-		Debug|iPhoneSimulator = Debug|iPhoneSimulator
-		Instrument|Any CPU = Instrument|Any CPU
-		Instrument|iPhone = Instrument|iPhone
-		Instrument|iPhoneSimulator = Instrument|iPhoneSimulator
-		MonoTouch|Any CPU = MonoTouch|Any CPU
-		MonoTouch|iPhone = MonoTouch|iPhone
-		MonoTouch|iPhoneSimulator = MonoTouch|iPhoneSimulator
-		PerformanceTest|Any CPU = PerformanceTest|Any CPU
-		PerformanceTest|iPhone = PerformanceTest|iPhone
-		PerformanceTest|iPhoneSimulator = PerformanceTest|iPhoneSimulator
 		Release|Any CPU = Release|Any CPU
-		Release|iPhone = Release|iPhone
-		Release|iPhoneSimulator = Release|iPhoneSimulator
-		STATIC_ONLY NO_EXPRESSIONS|Any CPU = STATIC_ONLY NO_EXPRESSIONS|Any CPU
-		STATIC_ONLY NO_EXPRESSIONS|iPhone = STATIC_ONLY NO_EXPRESSIONS|iPhone
-		STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator = STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.AppStore|Any CPU.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.CodeAnalysis|iPhone.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.CodeAnalysis|iPhone.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.CodeAnalysis|iPhoneSimulator.Build.0 = Release|Any CPU
 		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Instrument|iPhone.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Instrument|iPhone.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Instrument|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Instrument|iPhoneSimulator.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.MonoTouch|iPhone.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.MonoTouch|iPhone.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.MonoTouch|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.MonoTouch|iPhoneSimulator.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.PerformanceTest|iPhone.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.PerformanceTest|iPhone.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.PerformanceTest|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.PerformanceTest|iPhoneSimulator.Build.0 = Release|Any CPU
 		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Release|Any CPU.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Release|iPhone.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{21BEA73D-F3AD-43C6-8E3B-026EFE9233EB}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.AppStore|Any CPU.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.CodeAnalysis|iPhone.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.CodeAnalysis|iPhone.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.CodeAnalysis|iPhoneSimulator.Build.0 = Release|Any CPU
 		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Instrument|iPhone.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Instrument|iPhone.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Instrument|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Instrument|iPhoneSimulator.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.MonoTouch|iPhone.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.MonoTouch|iPhone.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.MonoTouch|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.MonoTouch|iPhoneSimulator.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.PerformanceTest|iPhone.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.PerformanceTest|iPhone.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.PerformanceTest|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.PerformanceTest|iPhoneSimulator.Build.0 = Release|Any CPU
 		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Release|Any CPU.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Release|iPhone.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{0E153B89-280B-4485-9FD1-E055B8EDA078}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Release|Any CPU
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.AppStore|iPhone.Build.0 = AppStore|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.CodeAnalysis|Any CPU.ActiveCfg = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.CodeAnalysis|Any CPU.Build.0 = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.CodeAnalysis|iPhone.ActiveCfg = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.CodeAnalysis|iPhone.Build.0 = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|iPhone.ActiveCfg = Debug|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|iPhone.Build.0 = Debug|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Instrument|Any CPU.ActiveCfg = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Instrument|Any CPU.Build.0 = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Instrument|iPhone.ActiveCfg = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Instrument|iPhone.Build.0 = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.MonoTouch|Any CPU.ActiveCfg = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.MonoTouch|Any CPU.Build.0 = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.MonoTouch|iPhone.ActiveCfg = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.MonoTouch|iPhone.Build.0 = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.PerformanceTest|Any CPU.ActiveCfg = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.PerformanceTest|Any CPU.Build.0 = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.PerformanceTest|iPhone.ActiveCfg = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.PerformanceTest|iPhone.Build.0 = Release|iPhone
+		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
+		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
 		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
 		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Release|Any CPU.Build.0 = Release|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Release|iPhone.ActiveCfg = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Release|iPhone.Build.0 = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|iPhoneSimulator
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Release|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|Any CPU.ActiveCfg = Debug|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|Any CPU.Build.0 = Debug|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|Any CPU.Deploy.0 = Debug|iPhone
-		{C94220A8-3034-4CC7-B13D-8551DAACE4C6}.Debug|iPhoneSimulator.Deploy.0 = Debug|iPhoneSimulator
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|Any CPU.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|iPhone.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|iPhone.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|iPhone.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.CodeAnalysis|iPhoneSimulator.Deploy.0 = Release|Any CPU
 		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|iPhone.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|iPhone.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|iPhone.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Instrument|iPhoneSimulator.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|iPhone.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|iPhone.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|iPhone.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.MonoTouch|iPhoneSimulator.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|iPhone.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|iPhone.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|iPhone.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.PerformanceTest|iPhoneSimulator.Deploy.0 = Release|Any CPU
 		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|Any CPU.Build.0 = Release|Any CPU
 		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|Any CPU.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|iPhone.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Deploy.0 = Release|Any CPU
-		{DAC39203-29E5-4730-AF8F-8119DE28BDFC}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.AppStore|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.CodeAnalysis|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.CodeAnalysis|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.CodeAnalysis|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Instrument|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Instrument|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Instrument|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Instrument|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.MonoTouch|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.MonoTouch|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.MonoTouch|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.MonoTouch|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.PerformanceTest|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.PerformanceTest|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.PerformanceTest|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.PerformanceTest|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Release|Any CPU.Build.0 = Release|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Release|iPhone.Build.0 = Release|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{6E02A9D5-8DFB-48E6-A585-632AF0B1B5D9}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.AppStore|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.CodeAnalysis|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.CodeAnalysis|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.CodeAnalysis|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Instrument|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Instrument|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Instrument|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Instrument|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.MonoTouch|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.MonoTouch|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.MonoTouch|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.MonoTouch|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.PerformanceTest|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.PerformanceTest|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.PerformanceTest|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.PerformanceTest|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Release|iPhone.Build.0 = Release|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7CD65556-C2BA-4ACF-AE33-DE2CB8F3F921}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.AppStore|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.CodeAnalysis|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.CodeAnalysis|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.CodeAnalysis|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Instrument|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Instrument|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Instrument|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Instrument|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.MonoTouch|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.MonoTouch|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.MonoTouch|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.MonoTouch|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.PerformanceTest|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.PerformanceTest|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.PerformanceTest|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.PerformanceTest|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Release|Any CPU.Build.0 = Release|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Release|iPhone.Build.0 = Release|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{2A9B17EE-EE09-4B7F-8D14-3745C2449005}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.AppStore|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.CodeAnalysis|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.CodeAnalysis|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.CodeAnalysis|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Instrument|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Instrument|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Instrument|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Instrument|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.MonoTouch|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.MonoTouch|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.MonoTouch|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.MonoTouch|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.PerformanceTest|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.PerformanceTest|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.PerformanceTest|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.PerformanceTest|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Release|Any CPU.Build.0 = Release|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Release|iPhone.Build.0 = Release|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{F0C0906C-60ED-43E6-B499-B9467EE8A8CD}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.AppStore|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.CodeAnalysis|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.CodeAnalysis|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.CodeAnalysis|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Instrument|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Instrument|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Instrument|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Instrument|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.MonoTouch|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.MonoTouch|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.MonoTouch|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.MonoTouch|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.PerformanceTest|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.PerformanceTest|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.PerformanceTest|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.PerformanceTest|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Release|Any CPU.Build.0 = Release|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Release|iPhone.Build.0 = Release|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{67B6CAE5-188B-42A0-AE5D-0E5C6049A910}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.AppStore|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.AppStore|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.CodeAnalysis|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.CodeAnalysis|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.CodeAnalysis|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.CodeAnalysis|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{63845795-416F-4848-9DC1-63E992803D29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{63845795-416F-4848-9DC1-63E992803D29}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Instrument|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Instrument|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Instrument|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Instrument|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Instrument|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Instrument|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.MonoTouch|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.MonoTouch|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.MonoTouch|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.MonoTouch|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.MonoTouch|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.MonoTouch|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.PerformanceTest|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.PerformanceTest|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.PerformanceTest|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.PerformanceTest|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.PerformanceTest|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.PerformanceTest|iPhoneSimulator.Build.0 = Debug|Any CPU
 		{63845795-416F-4848-9DC1-63E992803D29}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{63845795-416F-4848-9DC1-63E992803D29}.Release|Any CPU.Build.0 = Release|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Release|iPhone.Build.0 = Release|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.STATIC_ONLY NO_EXPRESSIONS|Any CPU.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.STATIC_ONLY NO_EXPRESSIONS|iPhone.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.STATIC_ONLY NO_EXPRESSIONS|iPhone.Build.0 = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{63845795-416F-4848-9DC1-63E992803D29}.STATIC_ONLY NO_EXPRESSIONS|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{803042CA-E67E-44E6-B73C-244AE5BB2A09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{803042CA-E67E-44E6-B73C-244AE5BB2A09}.Debug|Any CPU.Build.0 = Debug|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 2
prs.mobile/comal.timesheets.Android/Resources/Resource.designer.cs

@@ -2,7 +2,6 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -15,7 +14,7 @@ namespace comal.timesheets.Droid
 {
 	
 	
-	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.1.0.5")]
+	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.0.0.73")]
 	public partial class Resource
 	{
 		

+ 14 - 0
prs.mobile/comal.timesheets/Data Classes/SearchUtils.cs

@@ -13,11 +13,20 @@ namespace comal.timesheets.Data_Classes
             return new string(a);
         }
 
+        public static String LowerCaseFirst(string s)
+        {
+            char[] a = s.ToCharArray();
+            a[0] = char.ToLower(a[0]);
+            return new string(a);
+        }
+
+
         public static String UpperCaseSecond(string s)
         {
             char[] a = s.ToCharArray();
             if (a.Length >= 2)
             {
+                a[0] = char.ToUpper(a[0]);
                 a[1] = char.ToUpper(a[1]);
                 return new string(a);
             }
@@ -30,6 +39,8 @@ namespace comal.timesheets.Data_Classes
             char[] a = s.ToCharArray();
             if (a.Length >= 3)
             {
+                a[0] = char.ToUpper(a[0]);
+                a[1] = char.ToUpper(a[1]);
                 a[2] = char.ToUpper(a[2]);
                 return new string(a);
             }
@@ -42,6 +53,9 @@ namespace comal.timesheets.Data_Classes
             char[] a = s.ToCharArray();
             if (a.Length >= 4)
             {
+                a[0] = char.ToUpper(a[0]);
+                a[1] = char.ToUpper(a[1]);
+                a[2] = char.ToUpper(a[2]);
                 a[3] = char.ToUpper(a[3]);
                 return new string(a);
             }

+ 333 - 357
prs.mobile/comal.timesheets/Main/MainPage.xaml.cs

@@ -11,18 +11,12 @@ using InABox.Configuration;
 using InABox.Clients;
 using InABox.Mobile;
 using Comal.Classes;
-using XF.Material.Forms.UI;
-using Xamarin.Essentials;
 using XF.Material.Forms.UI.Dialogs;
-using comal.timesheets.QAForms;
-using comal.timesheets.LiveMaps;
 using comal.timesheets.CustomControls;
-using comal.timesheets.SiteITPModule;
 using comal.timesheets.StoreRequis;
 using PRSSecurity = InABox.Core.Security;
 using Plugin.LocalNotification;
 using comal.timesheets.Tasks;
-using RestSharp.Extensions;
 
 namespace comal.timesheets
 {
@@ -63,7 +57,6 @@ namespace comal.timesheets
                 App.Bluetooth.OnScanFinished += ScanFinished;
                 App.Data.DataChanged += DataChanged;
                 App.Data.DataRefreshed += DataRefreshed;
-                
 
                 GlobalVariables.EmpID = GlobalVariables.GetEmployeeID();
                 GlobalVariables.EmpName = GlobalVariables.GetEmployeeName();
@@ -96,7 +89,7 @@ namespace comal.timesheets
                 //if (GlobalVariables.EmpID == Guid.Parse("40f6ccd9-5272-4b1a-99bf-de7542205aac"))
                 //    RunCustomScript();
                 NotifyChanges();
-               
+
             }
             catch (Exception e)
             {
@@ -108,7 +101,7 @@ namespace comal.timesheets
 
         private void RunCustomScript()
         {
-            
+
         }
 
         private void NotifyChanges()
@@ -116,9 +109,7 @@ namespace comal.timesheets
             string latestChanges = "";
             List<string> changes = new List<string>
             {
-                "- Notification opens leave request form",
                 "- Upgrade to Setouts Module"
-                                                           
             };
             foreach (string s in changes)
             {
@@ -258,13 +249,13 @@ namespace comal.timesheets
                         else if (updateCounter >= 3)
                         {
                             Device.BeginInvokeOnMainThread(() =>
-                           {
-                               DisplayAlert(String.Format("Version {0} Available", latestVersionNumber), "Please update your software to the latest version.", "OK")
-                           .ContinueWith((Task task) =>
-                           {
-                               Dispatcher.BeginInvokeOnMainThread(() => { MobileUtils.AppVersion.OpenAppInStore(); });
-                           });
-                           });
+                            {
+                                DisplayAlert(String.Format("Version {0} Available", latestVersionNumber), "Please update your software to the latest version.", "OK")
+                            .ContinueWith((Task task) =>
+                            {
+                                Dispatcher.BeginInvokeOnMainThread(() => { MobileUtils.AppVersion.OpenAppInStore(); });
+                            });
+                            });
                         }
                         recentlyAskedToUpdate = true;
                         updateCounter++;
@@ -702,31 +693,31 @@ namespace comal.timesheets
             try
             {
                 await Task.Run(() =>
-            {
-                if (ClientFactory.UserGuid != Guid.Empty)
                 {
-                    CoreTable table = new Client<Notification>().Query
-                    (new Filter<Notification>(x => x.Employee.UserLink.ID).IsEqualTo(ClientFactory.UserGuid).And(X => X.Closed).IsEqualTo(DateTime.MinValue),
-                        new Columns<Notification>(
-                               x => x.ID, //0
-                               x => x.Sender.Name, //1   
-                               x => x.Title, //2
-                               x => x.Created, //3
-                               x => x.Description, //4
-                               x => x.EntityType, //5
-                               x => x.EntityID //6
-                               )
-                    );
-                    if (NumberOfNotfications == table.Rows.Count()) //no new notifications or none present at all
-                        return;
-                    else //new notifications or previous notifications have now been dismissed
+                    if (ClientFactory.UserGuid != Guid.Empty)
                     {
-                        NumberOfNotfications = table.Rows.Count();
-                        RefreshOnNotificationsChange();
-                        CheckNotificationsPushed(table);
+                        CoreTable table = new Client<Notification>().Query
+                        (new Filter<Notification>(x => x.Employee.UserLink.ID).IsEqualTo(ClientFactory.UserGuid).And(X => X.Closed).IsEqualTo(DateTime.MinValue),
+                            new Columns<Notification>(
+                                   x => x.ID, //0
+                                   x => x.Sender.Name, //1   
+                                   x => x.Title, //2
+                                   x => x.Created, //3
+                                   x => x.Description, //4
+                                   x => x.EntityType, //5
+                                   x => x.EntityID //6
+                                   )
+                        );
+                        if (NumberOfNotfications == table.Rows.Count()) //no new notifications or none present at all
+                            return;
+                        else //new notifications or previous notifications have now been dismissed
+                        {
+                            NumberOfNotfications = table.Rows.Count();
+                            RefreshOnNotificationsChange();
+                            CheckNotificationsPushed(table);
+                        }
                     }
-                }
-            });
+                });
             }
             catch { }
         }
@@ -1356,34 +1347,34 @@ namespace comal.timesheets
             {
                 List<EmployeeShell> employeeShells = new List<EmployeeShell>();
                 List<EmployeeShell> teamEmployeeShells = new List<EmployeeShell>();
-                
+
                 MultiQuery query = new MultiQuery();
-                
+
                 query.Add<Employee>(
                     LookupFactory.DefineFilter<Employee>(),
                     new Columns<Employee>(x => x.ID)
-                        .Add(x=>x.Code)
+                        .Add(x => x.Code)
                         .Add(x => x.Name),
                     LookupFactory.DefineSort<Employee>()
                 );
-                
+
                 query.Add<Team>(
                     LookupFactory.DefineFilter<Team>(),
                     new Columns<Team>(x => x.Name),
-                    new SortOrder<Team>(x=>x.Name)
+                    new SortOrder<Team>(x => x.Name)
                 );
-                
+
                 query.Add<EmployeeTeam>(
                     LookupFactory.DefineFilter<EmployeeTeam>(),
                     new Columns<EmployeeTeam>(x => x.EmployeeLink.ID)
-                        .Add(x=>x.EmployeeLink.Code)
+                        .Add(x => x.EmployeeLink.Code)
                         .Add(x => x.EmployeeLink.Name)
                         .Add(x => x.TeamLink.Name),
                     new SortOrder<EmployeeTeam>(x => x.EmployeeLink.Name)
                 );
-                
+
                 query.Query();
-                
+
                 CoreTable emps = query.Get<Employee>();
                 foreach (var row in emps.Rows)
                 {
@@ -1391,15 +1382,15 @@ namespace comal.timesheets
                         new EmployeeShell()
                         {
                             ID = row.Get<Employee, Guid>(x => x.ID),
-                            Code = row.Get<Employee,String>(x => x.Code),
+                            Code = row.Get<Employee, String>(x => x.Code),
                             Name = row.Get<Employee, String>(x => x.Name),
                             TeamName = "All Staff"
                         }
                     );
                 }
-                
+
                 GlobalVariables.TeamNames = query.Get<Team>().Rows.Select(r => r.Get<Team, String>(c => c.Name)).ToList();
-                
+
                 CoreTable members = query.Get<EmployeeTeam>();
                 foreach (var row in members.Rows)
                 {
@@ -1407,17 +1398,17 @@ namespace comal.timesheets
                         new EmployeeShell()
                         {
                             ID = row.Get<EmployeeTeam, Guid>(x => x.EmployeeLink.ID),
-                            Code = row.Get<EmployeeTeam,String>(x => x.EmployeeLink.Code),
+                            Code = row.Get<EmployeeTeam, String>(x => x.EmployeeLink.Code),
                             Name = row.Get<EmployeeTeam, String>(x => x.EmployeeLink.Name),
                             TeamName = row.Get<EmployeeTeam, String>(x => x.TeamLink.Name)
                         }
                     );
                 }
-                
+
                 GlobalVariables.EmployeeShells = employeeShells;
                 GlobalVariables.TeamEmployeeShells = teamEmployeeShells;
             });
-            
+
         }
 
         async void LoadJobShells()
@@ -1425,43 +1416,43 @@ namespace comal.timesheets
             try
             {
                 await Task.Run(() =>
-            {
-                List<JobShell> jobShells = new List<JobShell>();
-                CoreTable table = new Client<Job>().Query(
-                    new Filter<Job>(x => x.JobStatus.Active).IsEqualTo(true),
-                    new Columns<Job>(x => x.ID, x => x.Name, x => x.JobNumber, x => x.JobStatus.Description, x => x.Color),
-                    new SortOrder<Job>(x => x.JobNumber)
-                    );
-                foreach (CoreRow row in table.Rows)
                 {
-                    List<object> list = row.Values;
-                    if (list[0] == null) { list[0] = Guid.Empty; } //0
-                    if (list[1] == null) { list[1] = ""; } //1
-                    if (list[2] == null) { list[2] = ""; } //2
-                    if (list[3] == null) { list[3] = ""; } //3
-                    if (list[4] == null) { list[4] = ""; } //4
-                    JobShell jobshell = new JobShell
-                    {
-                        ID = Guid.Parse(list[0].ToString()),
-                        Name = list[1].ToString(),
-                        JobNumber = list[2].ToString(),
-                        JobStatusDescription = list[3].ToString(),
-                        Color = Color.FromHex(list[4].ToString())
-                    };
-                    if (jobshell.JobStatusDescription.Equals("Active Projects"))
-                        jobshell.JobStatusDescription = "Active";
-                    else if (jobshell.JobStatusDescription.Equals("Projects - Hidden from View"))
-                        jobshell.JobStatusDescription = "Hidden";
-                    else if (jobshell.JobStatusDescription.Equals("Projects in Defect Liability Period"))
-                        jobshell.JobStatusDescription = "Defect Liability";
-
-                    jobshell.DisplayName = "(" + jobshell.JobNumber + ") " + jobshell.Name;
-                    jobShells.Add(jobshell);
-                }
-                GlobalVariables.JobShells = jobShells;
-                GlobalVariables.JobShells.Insert(0, new JobShell { ID = Guid.Empty, JobNumber = "No Job", Name = "Empty Job", JobStatusDescription = "Hidden" });
-                GlobalVariables.JobsLoaded = true;
-            });
+                    List<JobShell> jobShells = new List<JobShell>();
+                    CoreTable table = new Client<Job>().Query(
+                        new Filter<Job>(x => x.JobStatus.Active).IsEqualTo(true),
+                        new Columns<Job>(x => x.ID, x => x.Name, x => x.JobNumber, x => x.JobStatus.Description, x => x.Color),
+                        new SortOrder<Job>(x => x.JobNumber)
+                        );
+                    foreach (CoreRow row in table.Rows)
+                    {
+                        List<object> list = row.Values;
+                        if (list[0] == null) { list[0] = Guid.Empty; } //0
+                        if (list[1] == null) { list[1] = ""; } //1
+                        if (list[2] == null) { list[2] = ""; } //2
+                        if (list[3] == null) { list[3] = ""; } //3
+                        if (list[4] == null) { list[4] = ""; } //4
+                        JobShell jobshell = new JobShell
+                        {
+                            ID = Guid.Parse(list[0].ToString()),
+                            Name = list[1].ToString(),
+                            JobNumber = list[2].ToString(),
+                            JobStatusDescription = list[3].ToString(),
+                            Color = Color.FromHex(list[4].ToString())
+                        };
+                        if (jobshell.JobStatusDescription.Equals("Active Projects"))
+                            jobshell.JobStatusDescription = "Active";
+                        else if (jobshell.JobStatusDescription.Equals("Projects - Hidden from View"))
+                            jobshell.JobStatusDescription = "Hidden";
+                        else if (jobshell.JobStatusDescription.Equals("Projects in Defect Liability Period"))
+                            jobshell.JobStatusDescription = "Defect Liability";
+
+                        jobshell.DisplayName = "(" + jobshell.JobNumber + ") " + jobshell.Name;
+                        jobShells.Add(jobshell);
+                    }
+                    GlobalVariables.JobShells = jobShells;
+                    GlobalVariables.JobShells.Insert(0, new JobShell { ID = Guid.Empty, JobNumber = "No Job", Name = "Empty Job", JobStatusDescription = "Hidden" });
+                    GlobalVariables.JobsLoaded = true;
+                });
             }
             catch { }
         }
@@ -1471,30 +1462,30 @@ namespace comal.timesheets
             try
             {
                 await Task.Run(() =>
-            {
-                Thread.Sleep(10000);
-                if (GlobalVariables.UpdateHRItemsNeedingAttention())
                 {
-                    string message = "You have HR Items needing attention. Open My HR now?";
-                    Device.BeginInvokeOnMainThread(async () =>
+                    Thread.Sleep(10000);
+                    if (GlobalVariables.UpdateHRItemsNeedingAttention())
                     {
-                        string chosenOption = await DisplayActionSheet(message, "Cancel", null, "Yes", "No");
-                        switch (chosenOption)
+                        string message = "You have HR Items needing attention. Open My HR now?";
+                        Device.BeginInvokeOnMainThread(async () =>
                         {
-                            case "Cancel":
-                                break;
-                            case "No":
-                                break;
-                            default:
-                                break;
-                            case "Yes":
-                                MyHRHome myHRHome = new MyHRHome();
-                                Navigation.PushAsync(myHRHome);
-                                break;
-                        }
-                    });
-                }
-            });
+                            string chosenOption = await DisplayActionSheet(message, "Cancel", null, "Yes", "No");
+                            switch (chosenOption)
+                            {
+                                case "Cancel":
+                                    break;
+                                case "No":
+                                    break;
+                                default:
+                                    break;
+                                case "Yes":
+                                    MyHRHome myHRHome = new MyHRHome();
+                                    Navigation.PushAsync(myHRHome);
+                                    break;
+                            }
+                        });
+                    }
+                });
             }
             catch { }
         }
@@ -1504,13 +1495,13 @@ namespace comal.timesheets
             try
             {
                 await Task.Run(() =>
-            {
-                ProductsLoader productsLoader = new ProductsLoader();
-                //if (ClientFactory.IsAllowed<CanViewStoresRequisitions>())
-                //{
+                {
+                    ProductsLoader productsLoader = new ProductsLoader();
+                    //if (ClientFactory.IsAllowed<CanViewStoresRequisitions>())
+                    //{
 
-                //}
-            });
+                    //}
+                });
             }
             catch { }
         }
@@ -1545,268 +1536,253 @@ namespace comal.timesheets
             try
             {
                 await Task.Run(() =>
-            {                
-                //Assignments
-                ToolEntry Assignments = new ToolEntry
-                {
-                    Text = "Assignments",
-                    Image = "calendar"
-                };
-                Assignments.IsVisible = PRSSecurity.CanView<Assignment>();
-                Assignments.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    var assignment_form = new AssignmentList();
-                    Navigation.PushAsync(assignment_form);
-                });
-                toolEntries.Add(Assignments);
-                
-                //Deliveries
-                ToolEntry Deliveries = new ToolEntry
-                {
-                    Text = "Deliveries",
-                    Image = "deliveries"
-                };
-                Deliveries.IsVisible = PRSSecurity.CanView<Delivery>();
-                Deliveries.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    var delivery_form = new DeliveryList();
-                    Navigation.PushAsync(delivery_form);
-                });
-                toolEntries.Add(Deliveries);
-
-                //Digital Forms
-                ToolEntry Forms = new ToolEntry
                 {
-                    Text = "Forms",
-                    Image = "forms"
-                };
-                Forms.IsVisible = PRSSecurity.CanView<DigitalForm>();
-                Forms.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    var qaFormPicker = new DigitalFormsPicker();
-                    Navigation.PushAsync(qaFormPicker);
-                });
-                toolEntries.Add(Forms);
+                    //Assignments
+                    ToolEntry Assignments = new ToolEntry
+                    {
+                        Text = "Assignments",
+                        Image = "calendar"
+                    };
+                    Assignments.IsVisible = PRSSecurity.CanView<Assignment>();
+                    Assignments.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        var assignment_form = new AssignmentList();
+                        Navigation.PushAsync(assignment_form);
+                    });
+                    toolEntries.Add(Assignments);
 
-                //Equipment
-                ToolEntry Equipment = new ToolEntry
-                {
-                    Text = "Equipment",
-                    Image = "digger"
-                };
-                Equipment.IsVisible = PRSSecurity.CanView<Equipment>();
-                Equipment.OnTapped += (async (object sender, EventArgs e) =>
-                {
-                    using (await MaterialDialog.Instance.LoadingDialogAsync(message: "Loading"))
+                    //Deliveries
+                    ToolEntry Deliveries = new ToolEntry
                     {
-                        var equipment = new EquipmentModule();
-                        Navigation.PushAsync(equipment);
-                    }
-                });
-                toolEntries.Add(Equipment);
+                        Text = "Deliveries",
+                        Image = "deliveries"
+                    };
+                    Deliveries.IsVisible = PRSSecurity.CanView<Delivery>();
+                    Deliveries.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        var delivery_form = new DeliveryList();
+                        Navigation.PushAsync(delivery_form);
+                    });
+                    toolEntries.Add(Deliveries);
 
-                //InOut
-                ToolEntry InOut = new ToolEntry
-                {
-                    Text = "In/Out",
-                    Image = "inout"
-                };
-                InOut.IsVisible = PRSSecurity.IsAllowed<CanViewInOutBoard>();
-                InOut.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    var staff_form = new StaffStatusPage();
-                    Navigation.PushAsync(staff_form);
-                });
-                toolEntries.Add(InOut);
+                    //Digital Forms
+                    ToolEntry Forms = new ToolEntry
+                    {
+                        Text = "Forms",
+                        Image = "forms"
+                    };
+                    Forms.IsVisible = PRSSecurity.CanView<DigitalForm>();
+                    Forms.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        var qaFormPicker = new DigitalFormsPicker();
+                        Navigation.PushAsync(qaFormPicker);
+                    });
+                    toolEntries.Add(Forms);
 
+                    //Equipment
+                    ToolEntry Equipment = new ToolEntry
+                    {
+                        Text = "Equipment",
+                        Image = "digger"
+                    };
+                    Equipment.IsVisible = PRSSecurity.CanView<Equipment>();
+                    Equipment.OnTapped += (async (object sender, EventArgs e) =>
+                    {
+                        using (await MaterialDialog.Instance.LoadingDialogAsync(message: "Loading"))
+                        {
+                            var equipment = new EquipmentModule();
+                            Navigation.PushAsync(equipment);
+                        }
+                    });
+                    toolEntries.Add(Equipment);
 
+                    //InOut
+                    ToolEntry InOut = new ToolEntry
+                    {
+                        Text = "In/Out",
+                        Image = "inout"
+                    };
+                    InOut.IsVisible = PRSSecurity.IsAllowed<CanViewInOutBoard>();
+                    InOut.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        var staff_form = new StaffStatusPage();
+                        Navigation.PushAsync(staff_form);
+                    });
+                    toolEntries.Add(InOut);
 
-                //Manufacturing
-                ToolEntry Manufacturing = new ToolEntry
-                {
-                    Text = "Manufacturing",
-                    Image = "manufacturingg"
-                };
-                if (Device.RuntimePlatform.Equals(Device.iOS))
-                {
-                    Manufacturing.Image = "Image";
-                }
-                Manufacturing.IsVisible = PRSSecurity.IsAllowed<CanViewManufacturingOnMobile>();
-                Manufacturing.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    ManufacturingScreen manufacturingScreen = new ManufacturingScreen();
-                    Navigation.PushAsync(manufacturingScreen);
-                });
-                toolEntries.Add(Manufacturing);
+                    //Manufacturing
+                    ToolEntry Manufacturing = new ToolEntry
+                    {
+                        Text = "Manufacturing",
+                        Image = "manufacturingg"
+                    };
+                    if (Device.RuntimePlatform.Equals(Device.iOS))
+                    {
+                        Manufacturing.Image = "Image";
+                    }
+                    Manufacturing.IsVisible = PRSSecurity.IsAllowed<CanViewManufacturingOnMobile>();
+                    Manufacturing.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        ManufacturingScreen manufacturingScreen = new ManufacturingScreen();
+                        Navigation.PushAsync(manufacturingScreen);
+                    });
+                    toolEntries.Add(Manufacturing);
 
-                //My HR
-                ToolEntry MyHR = new ToolEntry
-                {
-                    Text = "My HR",
-                    Image = "myhr"
-                };
-                MyHR.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    MyHRHome myHRHome = new MyHRHome();
-                    Navigation.PushAsync(myHRHome);
-                });
-                toolEntries.Add(MyHR);
+                    //My HR
+                    ToolEntry MyHR = new ToolEntry
+                    {
+                        Text = "My HR",
+                        Image = "myhr"
+                    };
+                    MyHR.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        MyHRHome myHRHome = new MyHRHome();
+                        Navigation.PushAsync(myHRHome);
+                    });
+                    toolEntries.Add(MyHR);
 
-                //Notifications
-                ToolEntry Notifications = new ToolEntry()
-                {
-                    Text = "Notifications",
-                    Image = "notifications"
-                };
-                Notifications.OnTapped += (async (object sender, EventArgs e) =>
-                {
-                    NotificationList notificationList = new NotificationList();
-                    notificationList.NotificationsClosed += (n) =>
+                    //Notifications
+                    ToolEntry Notifications = new ToolEntry()
                     {
-                        NumberOfNotfications = n;
-                        RefreshOnNotificationsChange();
+                        Text = "Notifications",
+                        Image = "notifications"
                     };
-                    Navigation.PushAsync(notificationList);
+                    Notifications.OnTapped += (object sender, EventArgs e) =>
+                    {
+                        NotificationList notificationList = new NotificationList();
+                        notificationList.NotificationsClosed += (n) =>
+                        {
+                            NumberOfNotfications = n;
+                            RefreshOnNotificationsChange();
+                        };
+                        Navigation.PushAsync(notificationList);
 
-                });
-                toolEntries.Add(Notifications);
+                    };
+                    toolEntries.Add(Notifications);
 
-                ToolEntry Products = new ToolEntry()
-                {
-                    Text = "Products",
-                    Image = "products"
-                };
-                Products.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    if (GlobalVariables.ProductsLoaded)
+                    ToolEntry Products = new ToolEntry()
                     {
-                        ProductList products = new ProductList(GlobalVariables.ProductShells);
-                        Navigation.PushAsync(products);
-                    }
-                    else
+                        Text = "Products",
+                        Image = "products"
+                    };
+                    Products.OnTapped += ((object sender, EventArgs e) =>
                     {
-                        ProductList products = new ProductList();
-                        Navigation.PushAsync(products);
-                    }
-                });
-                toolEntries.Add(Products);
+                        if (GlobalVariables.ProductsLoaded)
+                        {
+                            ProductList products = new ProductList(GlobalVariables.ProductShells);
+                            Navigation.PushAsync(products);
+                        }
+                        else
+                        {
+                            ProductList products = new ProductList();
+                            Navigation.PushAsync(products);
+                        }
+                    });
+                    toolEntries.Add(Products);
 
-                //Purchase Orders
-                ToolEntry PurchaseOrders = new ToolEntry()
-                {
-                    Text = "Purchase Orders",
-                    Image = "shoppingcart"
-                };
-                PurchaseOrders.IsVisible = PRSSecurity.CanView<PurchaseOrder>();
-                PurchaseOrders.OnTapped += ((object sender, EventArgs e) => 
-                {
-                    PurchaseOrderModule page = new PurchaseOrderModule();
-                    Navigation.PushAsync(page);
-                });
-                toolEntries.Add(PurchaseOrders);
+                    //Purchase Orders
+                    ToolEntry PurchaseOrders = new ToolEntry()
+                    {
+                        Text = "Purchase Orders",
+                        Image = "shoppingcart"
+                    };
+                    PurchaseOrders.IsVisible = PRSSecurity.CanView<PurchaseOrder>();
+                    PurchaseOrders.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        PurchaseOrderModule page = new PurchaseOrderModule();
+                        Navigation.PushAsync(page);
+                    });
+                    toolEntries.Add(PurchaseOrders);
 
-                //Scanner
-                ToolEntry Scanner = new ToolEntry
-                {
-                    Text = "Scanner",
-                    Image = "scanner"
-                };
-                Scanner.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    ScannerPage scannerPage = new ScannerPage();
-                    Navigation.PushAsync(scannerPage);
-                });
-                toolEntries.Add(Scanner);
+                    //Scanner
+                    ToolEntry Scanner = new ToolEntry
+                    {
+                        Text = "Scanner",
+                        Image = "scanner"
+                    };
+                    Scanner.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        ScannerPage scannerPage = new ScannerPage();
+                        Navigation.PushAsync(scannerPage);
+                    });
+                    toolEntries.Add(Scanner);
 
-                //Setouts
-                ToolEntry Setouts = new ToolEntry
-                {
-                    Text = "Setouts",
-                    Image = "setoutt"
-                };
-                Setouts.OnTapped += (object sender, EventArgs e) =>
-                {
-                    SetoutsScreen setoutsScreen = new SetoutsScreen();
-                    Navigation.PushAsync(setoutsScreen);
-                };
-                toolEntries.Add(Setouts);
+                    //Site
+                    ToolEntry Site = new ToolEntry
+                    {
+                        Text = "Site",
+                        Image = "construction"
+                    };
+                    Site.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        Site site = new Site(_job);
+                        Navigation.PushAsync(site);
+                        //if (_job.ID == Guid.Empty)
+                        //{
+                        //    JobSelectionPage jobSelectionPage = new JobSelectionPage(true);
+                        //    jobSelectionPage.OnItemSelected += (async () =>
+                        //    {
+                        //        if (jobSelectionPage.Job.ID != Guid.Empty)
+                        //        {
+                        //            Job selectedJob = new Job();
+                        //            selectedJob.ID = jobSelectionPage.Job.ID;
+                        //            selectedJob.JobNumber = jobSelectionPage.Job.JobNumber;
+                        //            selectedJob.Name = jobSelectionPage.Job.Name;
+                        //            Site site = new Site(selectedJob);
+                        //            var previousPage = Navigation.NavigationStack.LastOrDefault();
+                        //            await Navigation.PushAsync(site);
+                        //            Navigation.RemovePage(previousPage);
+                        //        }
+                        //    });
+                        //    Navigation.PushAsync(jobSelectionPage);
+                        //}
+                    });
+                    toolEntries.Add(Site);
 
-                //Site
-                ToolEntry Site = new ToolEntry
-                {
-                    Text = "Site",
-                    Image = "construction"
-                };
-                Site.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    Site site = new Site(_job);
-                    Navigation.PushAsync(site);
-                    //if (_job.ID == Guid.Empty)
-                    //{
-                    //    JobSelectionPage jobSelectionPage = new JobSelectionPage(true);
-                    //    jobSelectionPage.OnItemSelected += (async () =>
-                    //    {
-                    //        if (jobSelectionPage.Job.ID != Guid.Empty)
-                    //        {
-                    //            Job selectedJob = new Job();
-                    //            selectedJob.ID = jobSelectionPage.Job.ID;
-                    //            selectedJob.JobNumber = jobSelectionPage.Job.JobNumber;
-                    //            selectedJob.Name = jobSelectionPage.Job.Name;
-                    //            Site site = new Site(selectedJob);
-                    //            var previousPage = Navigation.NavigationStack.LastOrDefault();
-                    //            await Navigation.PushAsync(site);
-                    //            Navigation.RemovePage(previousPage);
-                    //        }
-                    //    });
-                    //    Navigation.PushAsync(jobSelectionPage);
-                    //}
-                });
-                toolEntries.Add(Site);
+                    //Store Requis
+                    ToolEntry StoreRequis = new ToolEntry
+                    {
+                        Text = "Store Requis",
+                        Image = "storerequis"
+                    };
+                    StoreRequis.IsVisible = PRSSecurity.CanView<Requisition>();
+                    StoreRequis.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        var storeRequisList = new StoreRequiList();
+                        Navigation.PushAsync(storeRequisList);
+                    });
+                    toolEntries.Add(StoreRequis);
 
-                //Store Requis
-                ToolEntry StoreRequis = new ToolEntry
-                {
-                    Text = "Store Requis",
-                    Image = "storerequis"
-                };
-                StoreRequis.IsVisible = PRSSecurity.CanView<Requisition>();
-                StoreRequis.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    var storeRequisList = new StoreRequiList();
-                    Navigation.PushAsync(storeRequisList);
-                });
-                toolEntries.Add(StoreRequis);
+                    //Tasks
+                    ToolEntry Tasks = new ToolEntry
+                    {
+                        Text = "Tasks",
+                        Image = "tasks"
+                    };
+                    Tasks.IsVisible = PRSSecurity.IsAllowed<CanViewTasks>();
+                    Tasks.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        var tasksForm = new TasksList();
+                        Navigation.PushAsync(tasksForm);
+                    });
+                    toolEntries.Add(Tasks);
 
-                //Tasks
-                ToolEntry Tasks = new ToolEntry
-                {
-                    Text = "Tasks",
-                    Image = "tasks"
-                };
-                Tasks.IsVisible = PRSSecurity.IsAllowed<CanViewTasks>();
-                Tasks.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    var tasksForm = new TasksList();
-                    Navigation.PushAsync(tasksForm);
-                });
-                toolEntries.Add(Tasks);
+                    //Warehousing
+                    ToolEntry Warehousing = new ToolEntry
+                    {
+                        Text = "Warehousing",
+                        Image = "newwarehousing"
+                    };
+                    Warehousing.IsVisible = PRSSecurity.CanView<StockWarehouse>();
+                    Warehousing.OnTapped += ((object sender, EventArgs e) =>
+                    {
+                        Warehousing2 locations = new Warehousing2();
+                        Navigation.PushAsync(locations);
+                    });
+                    toolEntries.Add(Warehousing);
 
-                //Warehousing
-                ToolEntry Warehousing = new ToolEntry
-                {
-                    Text = "Warehousing",
-                    Image = "newwarehousing"
-                };
-                Warehousing.IsVisible = PRSSecurity.CanView<StockWarehouse>();
-                Warehousing.OnTapped += ((object sender, EventArgs e) =>
-                {
-                    Warehousing2 locations = new Warehousing2();
-                    Navigation.PushAsync(locations);
+                    AddChildren();
                 });
-                toolEntries.Add(Warehousing);
-
-                AddChildren();
-            });
             }
             catch { }
         }

+ 3 - 18
prs.mobile/comal.timesheets/SetoutsScreen.xaml.cs

@@ -99,7 +99,7 @@ namespace comal.timesheets
                 setoutsList.Children.Add(item);
             }
 
-            titleLbl.Text = "Setouts (" +  setoutsList.Children.Count().ToString() + ")";
+            titleLbl.Text = "Setouts (" + setoutsList.Children.Count().ToString() + ")";
 
         }
 
@@ -173,7 +173,7 @@ namespace comal.timesheets
                     {
                         child.IsVisible = true;
                         count++;
-                    }                       
+                    }
                     else
                         child.IsVisible = false;
                 }
@@ -242,20 +242,5 @@ namespace comal.timesheets
         }
     }
 
-    public class MiniManufacturingPacket
-    {
-        public Guid ID { get; set; }
-        public Guid OrderID { get; set; }
-        public Guid SetoutID { get; set; }
-        public string Serial { get; set; }
-        public string Location { get; set; }
-        public MiniManufacturingPacket()
-        {
-            ID = Guid.Empty;
-            OrderID = Guid.Empty;
-            Serial = "";
-            Location = "";
-            SetoutID = Guid.Empty;
-        }
-    }
+
 }

+ 31 - 1
prs.mobile/comal.timesheets/Site/Site.xaml

@@ -140,7 +140,6 @@
                     </Grid>
                 </Frame>
 
-
                 <!--PurchaseOrders-->
                 <Frame BorderColor="#15C7C1"  Margin="5" CornerRadius="15"  Padding="5" HasShadow="False" x:Name="PurchaseOrdersFrame"
                        IsVisible="false">
@@ -171,6 +170,37 @@
 
                     </Grid>
                 </Frame>
+
+                <!--Site Manufacturing-->
+                <Frame BorderColor="#15C7C1"  Margin="5" CornerRadius="15"  Padding="5" HasShadow="False" x:Name="SiteManufacturingFrame"
+                       >
+                    <Frame.GestureRecognizers>
+                        <TapGestureRecognizer Tapped="SiteManufacturing_Tapped"/>
+                    </Frame.GestureRecognizers>
+                    <Grid>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="40"/>
+                            <RowDefinition Height="60"/>
+                        </Grid.RowDefinitions>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="3*"/>
+                        </Grid.ColumnDefinitions>
+
+                        <ImageButton Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" CornerRadius="10" Margin="5"
+                     HorizontalOptions="Center" VerticalOptions="Center" Source="setoutt.png" Aspect="AspectFit" Clicked="SiteManufacturing_Tapped"
+                         />
+
+                        <Label Grid.Row="0" Grid.Column="1" VerticalOptions="Center" FontAttributes="Bold" FontSize="Medium"
+                               Text="Site Setouts / Manufacturing"
+                      />
+
+                        <Label Grid.Row="1" Grid.Column="1" VerticalOptions="Start" LineBreakMode="WordWrap"
+                               Text="View Setouts / Manufacturing Packets"
+                     />
+
+                    </Grid>
+                </Frame>
             </StackLayout>
         </ScrollView>
     </ContentPage.Content>

+ 7 - 1
prs.mobile/comal.timesheets/Site/Site.xaml.cs

@@ -33,7 +33,7 @@ namespace comal.timesheets
             {
                 selectJobBtn.Text = job.JobNumber + " " + job.Name;
             }
-            
+
 
             //if (Security.IsAllowed<CanViewGeneralJobDocuments>())
             //    GeneralDocumentsFrame.IsVisible = true;
@@ -186,5 +186,11 @@ namespace comal.timesheets
 
             //}
         }
+
+        private void SiteManufacturing_Tapped(object sender, EventArgs e)
+        {
+            SiteManufacturing setoutsScreen = new SiteManufacturing(job.ID);
+            Navigation.PushAsync(setoutsScreen);
+        }
     }
 }

+ 129 - 0
prs.mobile/comal.timesheets/SiteManufacturing.xaml

@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             x:Class="comal.timesheets.SiteManufacturing">
+
+    <!-- Title Area -->
+    <NavigationPage.TitleView>
+        <Grid Margin="0" Padding="0">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="*"/>
+                <ColumnDefinition Width="1.5*"/>
+                <ColumnDefinition Width="*"/>
+            </Grid.ColumnDefinitions>
+            <Button Grid.Column="0" HorizontalOptions="Start" VerticalOptions="Center" TextColor="White" BackgroundColor="Transparent" Margin="0" Padding="0"
+                Text="Exit" Clicked="ExitBtn_Clicked"/>
+            <Label Grid.Column="1"  Text="Packets" VerticalOptions="Center" x:Name="titleLbl"
+                   HorizontalOptions="Center" HorizontalTextAlignment="Center" TextColor="White" FontSize="Medium" FontAttributes="Bold"/>
+        </Grid>
+    </NavigationPage.TitleView>
+
+    <!-- Main Content -->
+    <ContentPage.Content>
+        <Grid RowSpacing="0" ColumnSpacing="0">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+
+            <!-- Row 0 -->
+            <Grid Grid.Row="0" RowSpacing="0" ColumnSpacing="0">
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="50"/>
+                    <RowDefinition Height="auto"/>
+                    <RowDefinition Height="auto"/>
+                    <RowDefinition Height="auto"/>
+                </Grid.RowDefinitions>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="auto"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+
+                <!-- Inner Row 0 Job Select Button-->
+                <Button Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" x:Name="jobBtn" Clicked="JobsBtn_Clicked" Margin="5, 5, 5, 5"
+                        HorizontalOptions="FillAndExpand" VerticalOptions="Center" TextColor="White" FontAttributes="Bold"
+                        Text="Select Job" CornerRadius="5" BackgroundColor="#15C7C1"/>
+
+                <!-- Inner Row 1 Serial Search-->
+                <Label Grid.Row="1" Grid.Column="0" Text="Filter Serial:" FontAttributes="Bold"
+                       VerticalOptions="Center" Margin="10, 0, 2.5, 2.5"/>
+
+                <Entry Grid.Row="1" Grid.Column="1" Placeholder="Search" x:Name="serialSearchEnt" BackgroundColor="LightYellow"
+                       TextChanged="SerialSearchEnt_Changed" Margin="5, 0, 5, 5"
+                       HorizontalOptions="FillAndExpand" VerticalOptions="Center"/>
+
+                <!-- Inner Row 2 Location Search-->
+                <Label Grid.Row="2" Grid.Column="0" Text="Filter Location:" FontAttributes="Bold"
+                       VerticalOptions="Center" Margin="10, 2.5, 2.5, 2.5"/>
+
+                <Entry Grid.Row="2" Grid.Column="1" Placeholder="Search" x:Name="locationSearchEnt" BackgroundColor="LightYellow"
+                       TextChanged="LocationSearchEnt_Changed" Margin="5, 2.5, 5, 5"
+                       HorizontalOptions="FillAndExpand" VerticalOptions="Center"/>
+
+                <!-- Inner Row 3 Setout Search-->
+                <Label Grid.Row="3" Grid.Column="0" Text="Filter Setout:" FontAttributes="Bold"
+                       VerticalOptions="Center" Margin="10, 2.5, 2.5, 2.5"/>
+
+                <Entry Grid.Row="3" Grid.Column="1" Placeholder="Search" x:Name="setoutSearchEnt" BackgroundColor="LightYellow"
+                       TextChanged="SetoutSearchEnt_Changed" Margin="5, 2.5, 5, 5"
+                       HorizontalOptions="FillAndExpand" VerticalOptions="Center"/>
+            </Grid>
+
+            <!-- Outer Row 1 -->
+            <Grid Grid.Row="1" RowSpacing="0" ColumnSpacing="0" Margin="0" Padding="0">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*" x:Name="loadingCol"/>
+                    <ColumnDefinition Width="0" x:Name="listCol"/>
+                </Grid.ColumnDefinitions>
+
+                <!--Column 0 For Loading Label (swaps with ListView depending on loading status) -->
+                <Label Grid.Column="0" x:Name="loadingLbl" HorizontalOptions="Center" VerticalOptions="Center"
+                       FontAttributes="Bold" FontSize="Large"
+                       Text="Choose a Job to view packets"/>
+
+                <!--Column 1 for List View-->
+                <ListView Grid.Column="1" HasUnevenRows="True" x:Name="listView">
+                    <ListView.ItemTemplate>
+                        <DataTemplate>
+                            <ViewCell Tapped="Packet_Tapped">
+                                <Frame HasShadow="False" Margin="2, 1, 2, 1">
+                                    <Grid RowSpacing="0">
+                                        <Grid.RowDefinitions>
+                                            <RowDefinition Height="auto"/>
+                                            <RowDefinition Height="auto"/>
+                                            <RowDefinition Height="auto"/>
+                                        </Grid.RowDefinitions>
+                                        <Grid.ColumnDefinitions>
+                                            <ColumnDefinition Width="*"/>
+                                            <ColumnDefinition Width="50"/>
+                                        </Grid.ColumnDefinitions>
+
+                                        <Label Grid.Row="0" Grid.Column="0" Text="{Binding Serial}"
+                                           Margin="0"
+                                           FontAttributes="Bold" VerticalOptions="Center"/>
+                                        <Label Grid.Row="1" Grid.Column="0" Text="{Binding Location}" 
+                                           Margin="0"
+                                           VerticalOptions="Center"/>
+                                        <Label Grid.Row="2" Grid.Column="0" Text="{Binding Setout}" 
+                                           Margin="0"
+                                           VerticalOptions="Center"/>
+
+
+                                        <Image Grid.Row="0" Grid.RowSpan="2"  Grid.Column="1" HeightRequest="50" WidthRequest="50"
+                                                Source="pdficon.png" HorizontalOptions="End" VerticalOptions="Center">
+                                            <Image.GestureRecognizers>
+                                                <TapGestureRecognizer Tapped="PDFs_Tapped" CommandParameter="{Binding .}"/>
+                                            </Image.GestureRecognizers>
+                                        </Image>
+
+                                    </Grid>
+                                </Frame>
+                            </ViewCell>
+                        </DataTemplate>
+                    </ListView.ItemTemplate>
+                </ListView>
+            </Grid>
+
+        </Grid>
+    </ContentPage.Content>
+</ContentPage>

+ 376 - 0
prs.mobile/comal.timesheets/SiteManufacturing.xaml.cs

@@ -0,0 +1,376 @@
+using comal.timesheets.CustomControls;
+using comal.timesheets.Data_Classes;
+using Comal.Classes;
+using InABox.Clients;
+using InABox.Core;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+namespace comal.timesheets
+{
+    [XamlCompilation(XamlCompilationOptions.Compile)]
+    public partial class SiteManufacturing : ContentPage
+    {
+        #region Constructor / Fields
+        List<MiniManufacturingPacket> packets = new List<MiniManufacturingPacket>();
+        Guid JobID = new Guid();
+
+        public SiteManufacturing(Guid jobid = new Guid())
+        {
+            InitializeComponent();
+            NavigationPage.SetHasBackButton(this, false);
+            JobID = jobid;
+            if (JobID != Guid.Empty)
+                QueryJobAndLoadScreen();
+        }
+        #endregion
+
+        #region Loading
+        private void QueryJobAndLoadScreen()
+        {
+            Job job = new Client<Job>().Query(new Filter<Job>(x => x.ID).IsEqualTo(JobID)).Rows.FirstOrDefault().ToObject<Job>();
+            JobShell jobShell = new JobShell()
+            {
+                ID = JobID,
+                Name = job.Name,
+                JobNumber = job.JobNumber
+            };
+            LoadFromJob(jobShell);
+        }
+
+        private void LoadFromJob(JobShell job)
+        {
+            RefreshOnJobChange(job);
+            LoadPackets();
+        }
+
+        private void JobsBtn_Clicked(object sender, EventArgs e)
+        {
+            JobSelectionPage page = new JobSelectionPage();
+            page.OnItemSelected += () =>
+            {
+                LoadFromJob(page.Job);
+            };
+            Navigation.PushAsync(page);
+        }
+
+        private void LoadPackets()
+        {
+            Task.Run(() =>
+            {
+                QueryAndAddPackets();
+
+                Device.BeginInvokeOnMainThread(() =>
+                {
+                    ShowList();
+                    RefreshOnListChange(packets);
+                });
+            });
+        }
+
+        private void RefreshOnJobChange(JobShell job)
+        {
+            packets.Clear();
+            RefreshOnListChange(packets);
+            locationSearchEnt.Text = "";
+            serialSearchEnt.Text = "";
+            setoutSearchEnt.Text = "";
+
+            JobID = job.ID;
+            jobBtn.Text = job.JobNumber + " " + job.Name;
+
+            ShowLoading();
+        }
+
+        private void ShowLoading()
+        {
+            loadingLbl.Text = "Loading...";
+            loadingCol.Width = new GridLength(1, GridUnitType.Star);
+            loadingLbl.IsVisible = true;
+
+            listCol.Width = 0;
+            listView.IsVisible = false;
+        }
+
+        private void ShowList()
+        {
+            listCol.Width = new GridLength(1, GridUnitType.Star);
+            listView.IsVisible = true;
+
+            loadingCol.Width = 0;
+            loadingLbl.IsVisible = false;
+        }
+
+
+        private void QueryAndAddPackets()
+        {
+            CoreTable packetstable = QueryPackets();
+
+            foreach (CoreRow row in packetstable.Rows)
+                CreateAndAddPacket(row);
+        }
+
+        private CoreTable QueryPackets()
+        {
+            return new Client<ManufacturingPacket>().Query(
+
+                        new Filter<ManufacturingPacket>(
+                        x => x.SetoutLink.JobLink.ID).IsEqualTo(JobID)
+                        .And(x => x.Serial).IsNotEqualTo(null)
+                        .And(x => x.Location).IsNotEqualTo(null)
+                        ,
+
+                        new Columns<ManufacturingPacket>(
+                        x => x.ID,
+                        x => x.OrderItem.ID,
+                        x => x.Serial,
+                        x => x.Location,
+                        x => x.SetoutLink.ID,
+                        x => x.SetoutLink.Number
+                        ));
+        }
+
+        private void CreateAndAddPacket(CoreRow row)
+        {
+            packets.Add(new MiniManufacturingPacket
+            {
+                ID = row.Get<ManufacturingPacket, Guid>(x => x.ID),
+                OrderID = row.Get<ManufacturingPacket, Guid>(x => x.OrderItem.ID),
+                Serial = "Serial: " + row.Get<ManufacturingPacket, string>(x => x.Serial),
+                Location = "Location: " + row.Get<ManufacturingPacket, string>(x => x.Location),
+                SetoutID = row.Get<ManufacturingPacket, Guid>(x => x.SetoutLink.ID),
+                Setout = "Setout: " + row.Get<ManufacturingPacket, string>(x => x.SetoutLink.Number)
+            });
+        }
+        #endregion
+
+        #region Taps
+        private void ExitBtn_Clicked(object sender, EventArgs e)
+        {
+            Navigation.PopAsync();
+        }
+        private void Packet_Tapped(object sender, EventArgs e)
+        {
+            try
+            {
+                MiniManufacturingPacket packet = listView.SelectedItem as MiniManufacturingPacket;
+                ManufacturingPacketPopup popup = new ManufacturingPacketPopup(packet.ID, packet.OrderID);
+                Navigation.PushAsync(popup);
+            }
+            catch (Exception ex)
+            {
+                DisplayAlert("Error", ex.Message, "OK");
+            }
+        }
+
+        private void PDFs_Tapped(object sender, EventArgs e)
+        {
+            try
+            {
+                var item = ((TappedEventArgs)e).Parameter as MiniManufacturingPacket;
+                if (item == null) return;
+
+                Dictionary<string, Guid> fileNameIDS = new Dictionary<string, Guid>();
+
+                Filter<SetoutDocument> filter = new Filter<SetoutDocument>(x => x.EntityLink.ID).IsEqualTo(item.SetoutID)
+                    .And(x => x.Superceded).IsEqualTo(DateTime.MinValue);
+
+                CoreTable table = new Client<SetoutDocument>().Query
+                    (
+                    filter,
+                    new Columns<SetoutDocument>(x => x.DocumentLink.ID, x => x.DocumentLink.FileName)
+                    );
+                if (table.Rows.Any())
+                {
+                    foreach (CoreRow row in table.Rows)
+                    {
+                        if (!fileNameIDS.ContainsKey(row.Get<string>("DocumentLink.FileName")))
+                            fileNameIDS.Add(row.Get<string>("DocumentLink.FileName"), row.Get<Guid>("DocumentLink.ID"));
+                    }
+                    PDFList list = new PDFList(fileNameIDS);
+                    Navigation.PushAsync(list);
+                }
+                else
+                    DisplayAlert("Alert", "No Drawings found", "OK");
+            }
+            catch (Exception ex)
+            {
+                DisplayAlert("Error", ex.Message, "OK");
+            }
+        }
+        #endregion
+
+        #region Searching
+
+        List<MiniManufacturingPacket> locationSearchList = new List<MiniManufacturingPacket>();
+        List<MiniManufacturingPacket> serialSearchList = new List<MiniManufacturingPacket>();
+        List<MiniManufacturingPacket> setoutSearchList = new List<MiniManufacturingPacket>();
+
+        private void LocationSearchEnt_Changed(object sender, EventArgs e)
+        {
+            locationSearchList.Clear();
+
+            if (!string.IsNullOrWhiteSpace(locationSearchEnt.Text))
+                locationSearchList = CreateLocationSearchList(packets);
+
+            RunSearch(locationSearchEnt.Text);
+        }
+
+        private void SerialSearchEnt_Changed(object sender, EventArgs e)
+        {
+            serialSearchList.Clear();
+
+            if (!string.IsNullOrWhiteSpace(serialSearchEnt.Text))
+                serialSearchList = CreateSerialSearchList(packets);
+
+            RunSearch(serialSearchEnt.Text);
+        }
+
+        private void SetoutSearchEnt_Changed(object sender, EventArgs e)
+        {
+            setoutSearchList.Clear();
+
+            if (!string.IsNullOrWhiteSpace(setoutSearchEnt.Text))
+                setoutSearchList = CreateSetoutSearchList(packets);
+
+            RunSearch(setoutSearchEnt.Text);
+        }
+
+        private void RunSearch(string search)
+        {
+            List<MiniManufacturingPacket> searchList = new List<MiniManufacturingPacket>();
+
+            if (locationSearchList.Count > 0 && serialSearchList.Count > 0 && setoutSearchList.Count > 0)
+            {
+                searchList = CreateLocationSearchList(packets);
+                searchList = CreateSerialSearchList(searchList);
+                searchList = CreateSetoutSearchList(searchList);
+            }
+            else if (locationSearchList.Count > 0 && serialSearchList.Count > 0)
+            {
+                searchList = CreateLocationSearchList(packets);
+                searchList = CreateSerialSearchList(searchList);
+            }
+            else if (locationSearchList.Count > 0 && setoutSearchList.Count > 0)
+            {
+                searchList = CreateLocationSearchList(packets);
+                searchList = CreateSetoutSearchList(searchList);
+            }
+            else if (serialSearchList.Count > 0 && setoutSearchList.Count > 0)
+            {
+                searchList = CreateSerialSearchList(packets);
+                searchList = CreateSetoutSearchList(searchList);
+            }
+            else if (locationSearchList.Count > 0 && serialSearchList.Count == 0 && setoutSearchList.Count == 0)
+            {
+                searchList = CreateLocationSearchList(packets);
+            }
+            else if (serialSearchList.Count > 0 && locationSearchList.Count == 0 && setoutSearchList.Count == 0)
+            {
+                searchList = CreateSerialSearchList(packets);
+            }
+            else if (setoutSearchList.Count > 0 && serialSearchList.Count == 0 && locationSearchList.Count == 0)
+            {
+                searchList = CreateSetoutSearchList(packets);
+            }
+
+            if (searchList.Count > 0)
+                RefreshOnListChange(searchList);
+            else
+                RefreshOnListChange(packets);
+        }
+
+        private List<MiniManufacturingPacket> CreateLocationSearchList(List<MiniManufacturingPacket> sublist)
+        {
+            string search = locationSearchEnt.Text;
+            List<MiniManufacturingPacket> returnList = new List<MiniManufacturingPacket>();
+            var list = sublist.Where(
+                   x => x.Location.Contains(search)
+                   || x.Location.Contains(SearchUtils.UpperCaseFirst(search))
+                   || x.Location.Contains(SearchUtils.LowerCaseFirst(search))
+                   || x.Location.Contains(search.ToLower())
+                   || x.Location.Contains(search.ToUpper())
+                   );
+            foreach (var v in list)
+            {
+                returnList.Add(v);
+            }
+
+            return returnList;
+        }
+
+        private List<MiniManufacturingPacket> CreateSerialSearchList(List<MiniManufacturingPacket> sublist)
+        {
+            string search = serialSearchEnt.Text;
+            List<MiniManufacturingPacket> returnList = new List<MiniManufacturingPacket>();
+            var list = sublist.Where(
+                x => x.Serial.Contains(search)
+                || x.Serial.Contains(SearchUtils.UpperCaseFirst(search))
+                || x.Serial.Contains(SearchUtils.LowerCaseFirst(search))
+                || x.Serial.Contains(search.ToLower())
+                || x.Serial.Contains(search.ToUpper())
+            );
+
+            foreach (var v in list)
+            {
+                returnList.Add(v);
+            }
+            return returnList;
+        }
+
+        private List<MiniManufacturingPacket> CreateSetoutSearchList(List<MiniManufacturingPacket> sublist)
+        {
+            string search = setoutSearchEnt.Text;
+            List<MiniManufacturingPacket> returnList = new List<MiniManufacturingPacket>();
+            var list = sublist.Where(
+                x => x.Setout.Contains(search)
+                || x.Setout.Contains(SearchUtils.UpperCaseFirst(search))
+                || x.Setout.Contains(SearchUtils.LowerCaseFirst(search))
+                || x.Setout.Contains(search.ToLower())
+                || x.Setout.Contains(search.ToUpper())
+                );
+
+            foreach (var v in list)
+            {
+                returnList.Add(v);
+            }
+            return returnList;
+        }
+
+        private void RefreshOnListChange(IEnumerable<MiniManufacturingPacket> list)
+        {
+            listView.ItemsSource = null;
+            listView.ItemsSource = list;
+            titleLbl.Text = "Packets (" + list.Count() + ")";
+        }
+        #endregion
+    }
+
+    #region Classes
+    /// <summary>
+    /// ViewModel class for SiteManufacturing Module
+    /// </summary>
+    public class MiniManufacturingPacket
+    {
+        public Guid ID { get; set; }
+        public Guid OrderID { get; set; }
+        public Guid SetoutID { get; set; }
+        public string Serial { get; set; }
+        public string Location { get; set; }
+        public string Setout { get; set; }
+        public MiniManufacturingPacket()
+        {
+            ID = Guid.Empty;
+            OrderID = Guid.Empty;
+            Serial = "";
+            Location = "";
+            SetoutID = Guid.Empty;
+            Setout = "";
+        }
+    }
+    #endregion
+}

+ 10 - 0
prs.mobile/comal.timesheets/comal.timesheets.projitems

@@ -229,6 +229,10 @@
       <DependentUpon>SetoutsScreen.xaml</DependentUpon>
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="$(MSBuildThisFileDirectory)SiteManufacturing.xaml.cs">
+      <DependentUpon>SiteManufacturing.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
     <Compile Include="$(MSBuildThisFileDirectory)Site\JobDocViewer.xaml.cs">
       <DependentUpon>JobDocViewer.xaml</DependentUpon>
       <SubType>Code</SubType>
@@ -996,4 +1000,10 @@
       <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
     </EmbeddedResource>
   </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="$(MSBuildThisFileDirectory)SiteManufacturing.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
+    </EmbeddedResource>
+  </ItemGroup>
 </Project>