| @ -13,7 +13,6 @@ hosts | |||||||
| LICENSE | LICENSE | ||||||
| *.testsettings | *.testsettings | ||||||
| vsts-docs | vsts-docs | ||||||
| test |  | ||||||
| ServiceFabric | ServiceFabric | ||||||
| readme | readme | ||||||
| k8s | k8s | ||||||
| @ -30,3 +29,4 @@ cli-linux | |||||||
| **/bower_components/ | **/bower_components/ | ||||||
| **/wwwroot/lib/ | **/wwwroot/lib/ | ||||||
| global.json | global.json | ||||||
|  | src/Web/WebSPA/wwwroot/ | ||||||
							
								
								
									
										204
									
								
								eShopOnContainers-MobileApps.sln
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						| @ -16,8 +16,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile Apps", "Mobile Apps" | |||||||
| EndProject | EndProject | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{A857AD10-40FF-4303-BEC2-FF1C58D5735E}" | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{A857AD10-40FF-4303-BEC2-FF1C58D5735E}" | ||||||
| EndProject | EndProject | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Core", "src\Mobile\eShopOnContainers\eShopOnContainers.Core\eShopOnContainers.Core.csproj", "{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Droid", "src\Mobile\eShopOnContainers\eShopOnContainers.Droid\eShopOnContainers.Droid.csproj", "{62DBB163-9CA9-4818-B48B-13233DF37C24}" | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Droid", "src\Mobile\eShopOnContainers\eShopOnContainers.Droid\eShopOnContainers.Droid.csproj", "{62DBB163-9CA9-4818-B48B-13233DF37C24}" | ||||||
| EndProject | EndProject | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.iOS", "src\Mobile\eShopOnContainers\eShopOnContainers.iOS\eShopOnContainers.iOS.csproj", "{6EEB23DC-7063-4444-9AF8-90DF24F549C0}" | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.iOS", "src\Mobile\eShopOnContainers\eShopOnContainers.iOS\eShopOnContainers.iOS.csproj", "{6EEB23DC-7063-4444-9AF8-90DF24F549C0}" | ||||||
| @ -30,14 +28,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targets", "Targets", "{9CC7 | |||||||
| EndProject | EndProject | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile Apps", "Mobile Apps", "{B7B1D395-4E06-4036-BE86-C216756B9367}" | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile Apps", "Mobile Apps", "{B7B1D395-4E06-4036-BE86-C216756B9367}" | ||||||
| EndProject | EndProject | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.UnitTests", "src\Mobile\eShopOnContainers\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj", "{6E4285E7-7611-4440-A1B5-3513EBB13807}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Droid", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.Droid\eShopOnContainers.TestRunner.Droid.csproj", "{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}" | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Droid", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.Droid\eShopOnContainers.TestRunner.Droid.csproj", "{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}" | ||||||
| EndProject | EndProject | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.iOS", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.iOS\eShopOnContainers.TestRunner.iOS.csproj", "{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}" | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.iOS", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.iOS\eShopOnContainers.TestRunner.iOS.csproj", "{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}" | ||||||
| EndProject | EndProject | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Windows", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.Windows\eShopOnContainers.TestRunner.Windows.csproj", "{A7337243-33B8-463A-87AD-944B75EFD820}" | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Windows", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.Windows\eShopOnContainers.TestRunner.Windows.csproj", "{A7337243-33B8-463A-87AD-944B75EFD820}" | ||||||
| EndProject | EndProject | ||||||
|  | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.UnitTests", "src\Mobile\eShopOnContainers\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj", "{FDD910BC-DF0F-483D-B7D5-C7D831855172}" | ||||||
|  | EndProject | ||||||
|  | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Core", "src\Mobile\eShopOnContainers\eShopOnContainers.Core\eShopOnContainers.Core.csproj", "{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}" | ||||||
|  | EndProject | ||||||
| Global | Global | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
| 		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU | 		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU | ||||||
| @ -66,54 +66,6 @@ Global | |||||||
| 		Release|x86 = Release|x86 | 		Release|x86 = Release|x86 | ||||||
| 	EndGlobalSection | 	EndGlobalSection | ||||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU | 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU | 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU | 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU | ||||||
| @ -283,54 +235,6 @@ Global | |||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.ActiveCfg = Release|x86 | 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.ActiveCfg = Release|x86 | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Build.0 = Release|x86 | 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Build.0 = Release|x86 | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Deploy.0 = Release|x86 | 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Deploy.0 = Release|x86 | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU | 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU | 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU | 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU | ||||||
| @ -500,23 +404,119 @@ Global | |||||||
| 		{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.ActiveCfg = Release|x86 | 		{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.ActiveCfg = Release|x86 | ||||||
| 		{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.Build.0 = Release|x86 | 		{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.Build.0 = Release|x86 | ||||||
| 		{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.Deploy.0 = Release|x86 | 		{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.Deploy.0 = Release|x86 | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|ARM.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|x64.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Ad-Hoc|x86.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|Any CPU.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|Any CPU.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|ARM.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|ARM.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|iPhone.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|iPhone.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|x64.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|x64.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|x86.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.AppStore|x86.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|ARM.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|ARM.Build.0 = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|iPhone.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|iPhone.Build.0 = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|x64.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|x64.Build.0 = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|x86.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Debug|x86.Build.0 = Debug|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|Any CPU.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|ARM.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|ARM.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|iPhone.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|iPhone.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|iPhoneSimulator.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|x64.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|x64.Build.0 = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|x86.ActiveCfg = Release|Any CPU | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172}.Release|x86.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|ARM.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|x64.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Ad-Hoc|x86.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|Any CPU.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|Any CPU.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|ARM.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|ARM.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|iPhone.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|iPhone.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|x64.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|x64.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|x86.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.AppStore|x86.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|ARM.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|ARM.Build.0 = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|iPhone.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|iPhone.Build.0 = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|x64.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|x64.Build.0 = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|x86.ActiveCfg = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Debug|x86.Build.0 = Debug|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|Any CPU.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|ARM.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|ARM.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|iPhone.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|iPhone.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|x64.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|x64.Build.0 = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|x86.ActiveCfg = Release|Any CPU | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}.Release|x86.Build.0 = Release|Any CPU | ||||||
| 	EndGlobalSection | 	EndGlobalSection | ||||||
| 	GlobalSection(SolutionProperties) = preSolution | 	GlobalSection(SolutionProperties) = preSolution | ||||||
| 		HideSolutionNode = FALSE | 		HideSolutionNode = FALSE | ||||||
| 	EndGlobalSection | 	EndGlobalSection | ||||||
| 	GlobalSection(NestedProjects) = preSolution | 	GlobalSection(NestedProjects) = preSolution | ||||||
| 		{F61357CE-1CC2-410E-8776-B16EEBC98EB8} = {932D8224-11F6-4D07-B109-DA28AD288A63} | 		{F61357CE-1CC2-410E-8776-B16EEBC98EB8} = {932D8224-11F6-4D07-B109-DA28AD288A63} | ||||||
| 		{BA96A12C-4EE3-46C4-BB3F-F811B554CD01} = {778289CA-31F7-4464-8C2A-612EE846F8A7} |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24} = {9CC7814B-72A6-465B-A61C-57B512DEE303} | 		{62DBB163-9CA9-4818-B48B-13233DF37C24} = {9CC7814B-72A6-465B-A61C-57B512DEE303} | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0} = {9CC7814B-72A6-465B-A61C-57B512DEE303} | 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0} = {9CC7814B-72A6-465B-A61C-57B512DEE303} | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B} = {9CC7814B-72A6-465B-A61C-57B512DEE303} | 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B} = {9CC7814B-72A6-465B-A61C-57B512DEE303} | ||||||
| 		{778289CA-31F7-4464-8C2A-612EE846F8A7} = {F61357CE-1CC2-410E-8776-B16EEBC98EB8} | 		{778289CA-31F7-4464-8C2A-612EE846F8A7} = {F61357CE-1CC2-410E-8776-B16EEBC98EB8} | ||||||
| 		{9CC7814B-72A6-465B-A61C-57B512DEE303} = {F61357CE-1CC2-410E-8776-B16EEBC98EB8} | 		{9CC7814B-72A6-465B-A61C-57B512DEE303} = {F61357CE-1CC2-410E-8776-B16EEBC98EB8} | ||||||
| 		{B7B1D395-4E06-4036-BE86-C216756B9367} = {A857AD10-40FF-4303-BEC2-FF1C58D5735E} | 		{B7B1D395-4E06-4036-BE86-C216756B9367} = {A857AD10-40FF-4303-BEC2-FF1C58D5735E} | ||||||
| 		{6E4285E7-7611-4440-A1B5-3513EBB13807} = {B7B1D395-4E06-4036-BE86-C216756B9367} |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1} = {B7B1D395-4E06-4036-BE86-C216756B9367} | 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1} = {B7B1D395-4E06-4036-BE86-C216756B9367} | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3} = {B7B1D395-4E06-4036-BE86-C216756B9367} | 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3} = {B7B1D395-4E06-4036-BE86-C216756B9367} | ||||||
| 		{A7337243-33B8-463A-87AD-944B75EFD820} = {B7B1D395-4E06-4036-BE86-C216756B9367} | 		{A7337243-33B8-463A-87AD-944B75EFD820} = {B7B1D395-4E06-4036-BE86-C216756B9367} | ||||||
|  | 		{FDD910BC-DF0F-483D-B7D5-C7D831855172} = {B7B1D395-4E06-4036-BE86-C216756B9367} | ||||||
|  | 		{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7} = {778289CA-31F7-4464-8C2A-612EE846F8A7} | ||||||
| 	EndGlobalSection | 	EndGlobalSection | ||||||
| 	GlobalSection(ExtensibilityGlobals) = postSolution | 	GlobalSection(ExtensibilityGlobals) = postSolution | ||||||
| 		SolutionGuid = {8A9E878A-C296-4615-97AB-7A4505148872} | 		SolutionGuid = {8A9E878A-C296-4615-97AB-7A4505148872} | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ or using AKS instead of ACS | |||||||
| >``` | >``` | ||||||
| * An `Azure Blob storage`. It is needed for storing the kubernetes config file used by the hosted agent to access to Kubernetes cluster. Example: | * An `Azure Blob storage`. It is needed for storing the kubernetes config file used by the hosted agent to access to Kubernetes cluster. Example: | ||||||
| 
 | 
 | ||||||
| <img src="./img/k8s/blob_creation.png"> | <img src="./img/blob_creation.png"> | ||||||
| 
 | 
 | ||||||
| * Upload the `kubernetes config file` to the blob storage previously created. Execute the following command which will download the config file into the directory `c:\Users\<User>\.kube\` and then, upload it to your blob storage:  | * Upload the `kubernetes config file` to the blob storage previously created. Execute the following command which will download the config file into the directory `c:\Users\<User>\.kube\` and then, upload it to your blob storage:  | ||||||
| 
 | 
 | ||||||
| @ -37,7 +37,7 @@ or using AKS instead of ACS | |||||||
| >``` | >``` | ||||||
| >https://eshopk8s.blob.core.windows.net/k8s-config/config | >https://eshopk8s.blob.core.windows.net/k8s-config/config | ||||||
| >``` | >``` | ||||||
| <img src="./img/k8s/get_kubectlconfig_task.png"> | <img src="./img/get_kubectlconfig_task.png"> | ||||||
| 
 | 
 | ||||||
| 3. Create a powershell task to execute the k8s deployment script. For example: | 3. Create a powershell task to execute the k8s deployment script. For example: | ||||||
| 
 | 
 | ||||||
| @ -63,4 +63,4 @@ or using AKS instead of ACS | |||||||
| 
 | 
 | ||||||
|  You can use additional parameters (i.e. pass registry and user/password to use custom registry instead of DockerHub. Plase, refer to [README.k8s.md](./README.k8s.md) for more info. |  You can use additional parameters (i.e. pass registry and user/password to use custom registry instead of DockerHub. Plase, refer to [README.k8s.md](./README.k8s.md) for more info. | ||||||
| 
 | 
 | ||||||
| <img src="./img/k8s/deploy_script_task.png"> | <img src="./img/deploy_script_task.png"> | ||||||
|  | |||||||
							
								
								
									
										212
									
								
								k8s/deploy.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @ -0,0 +1,212 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | # http://redsymbol.net/articles/unofficial-bash-strict-mode/ | ||||||
|  | set -euo pipefail | ||||||
|  | 
 | ||||||
|  | # This script is comparable to the PowerShell script deploy.ps1 but to be used from a Mac bash environment. | ||||||
|  | # There are, however, the following few differences/limitations: | ||||||
|  |   | ||||||
|  | # It assumes docker/container registry login was already performed | ||||||
|  | # It assumes K8s was given access to the registry—does not create any K8s secrets | ||||||
|  | # It does not support explicit kubectl config file (relies on kubectl config use-context to point kubectl at the right cluster/namespace) | ||||||
|  | # It always deploys infrastructure bits (redis, SQL Server etc) | ||||||
|  | # The script was tested only with Azure Container Registry (not Docker Hub, although it is expected to work with Docker Hub too) | ||||||
|  |   | ||||||
|  | # Feel free to submit a PR in order to improve it. | ||||||
|  | 
 | ||||||
|  | usage() | ||||||
|  | { | ||||||
|  |     cat <<END | ||||||
|  | deploy.sh: deploys eShopOnContainers application to Kubernetes cluster | ||||||
|  | Parameters: | ||||||
|  |   -r | --registry <container registry>  | ||||||
|  |     Specifies container registry (ACR) to use (required), e.g. myregistry.azurecr.io | ||||||
|  |   -t | --tag <docker image tag>  | ||||||
|  |     Default: newly created, date-based timestamp, with 1-minute resolution | ||||||
|  |   -b | --build-solution | ||||||
|  |     Force solution build before deployment (default: false) | ||||||
|  |   --skip-image-build | ||||||
|  |     Do not build images (default is to build all images) | ||||||
|  |   --skip-image-push | ||||||
|  |     Do not upload images to the container registry (just run the Kubernetes deployment portion) | ||||||
|  |     Default is to push images to container registry | ||||||
|  |   -h | --help | ||||||
|  |     Displays this help text and exits the script | ||||||
|  | 
 | ||||||
|  | It is assumed that the Kubernetes AKS cluster has been granted access to ACR registry. | ||||||
|  | For more info see  | ||||||
|  | https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-aks | ||||||
|  | 
 | ||||||
|  | WARNING! THE SCRIPT WILL COMPLETELY DESTROY ALL DEPLOYMENTS AND SERVICES VISIBLE | ||||||
|  | FROM THE CURRENT CONFIGURATION CONTEXT. | ||||||
|  | It is recommended that you create a separate namespace and confguration context | ||||||
|  | for the eShopOnContainers application, to isolate it from other applications on the cluster. | ||||||
|  | For more information see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ | ||||||
|  | You can use eshop-namespace.yaml file (in the same directory) to create the namespace. | ||||||
|  | 
 | ||||||
|  | END | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | image_tag=$(date '+%Y%m%d%H%M') | ||||||
|  | build_solution='' | ||||||
|  | container_registry='' | ||||||
|  | build_images='yes' | ||||||
|  | push_images='yes' | ||||||
|  | 
 | ||||||
|  | while [[ $# -gt 0 ]]; do | ||||||
|  |   case "$1" in | ||||||
|  |     -r | --registry ) | ||||||
|  |         container_registry="$2"; shift 2 ;; | ||||||
|  |     -t | --tag ) | ||||||
|  |         image_tag="$2"; shift 2 ;; | ||||||
|  |     -b | --build-solution ) | ||||||
|  |         build_solution='yes'; shift ;; | ||||||
|  |     --skip-image-build ) | ||||||
|  |         build_images=''; shift ;; | ||||||
|  |     --skip-image-push ) | ||||||
|  |         push_images=''; shift ;; | ||||||
|  |     -h | --help ) | ||||||
|  |         usage; exit 1 ;; | ||||||
|  |     *) | ||||||
|  |         echo "Unknown option $1" | ||||||
|  |         usage; exit 2 ;; | ||||||
|  |   esac | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | if [[ ! $container_registry ]]; then | ||||||
|  |     echo 'Container registry must be specified (e.g. myregistry.azurecr.io)' | ||||||
|  |     echo '' | ||||||
|  |     usage | ||||||
|  |     exit 3 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [[ $build_solution ]]; then | ||||||
|  |     echo "#################### Building eShopOnContainers solution ####################" | ||||||
|  |     dotnet publish -o obj/Docker/publish ../eShopOnContainers-ServicesAndWebApps.sln | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | export TAG=$image_tag | ||||||
|  | 
 | ||||||
|  | if [[ $build_images ]]; then | ||||||
|  |     echo "#################### Building eShopOnContainers Docker images ####################" | ||||||
|  |     docker-compose -p .. -f ../docker-compose.yml build | ||||||
|  | 
 | ||||||
|  |     # Remove temporary images | ||||||
|  |     docker rmi $(docker images -qf "dangling=true") | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [[ $push_images ]]; then | ||||||
|  |     echo "#################### Pushing images to registry ####################" | ||||||
|  |     services=(basket.api catalog.api identity.api ordering.api marketing.api payment.api locations.api webmvc webspa webstatus) | ||||||
|  | 
 | ||||||
|  |     for service in "${services[@]}" | ||||||
|  |     do | ||||||
|  |         echo "Pushing image for service $service..." | ||||||
|  |         docker tag "eshop/$service:$image_tag" "$container_registry/$service:$image_tag" | ||||||
|  |         docker push "$container_registry/$service:$image_tag" | ||||||
|  |     done | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | echo "#################### Cleaning up old deployment ####################" | ||||||
|  | kubectl delete deployments --all | ||||||
|  | kubectl delete services --all | ||||||
|  | kubectl delete configmap config-files || true | ||||||
|  | kubectl delete configmap urls || true | ||||||
|  | kubectl delete configmap externalcfg || true | ||||||
|  | 
 | ||||||
|  | echo "#################### Deploying infrastructure components ####################" | ||||||
|  | kubectl create configmap config-files --from-file=nginx-conf=nginx.conf | ||||||
|  | kubectl label configmap config-files app=eshop | ||||||
|  | kubectl create -f sql-data.yaml -f basket-data.yaml -f keystore-data.yaml -f rabbitmq.yaml -f nosql-data.yaml | ||||||
|  | 
 | ||||||
|  | echo "#################### Creating application service definitions ####################" | ||||||
|  | kubectl create -f services.yaml -f frontend.yaml | ||||||
|  | 
 | ||||||
|  | echo "#################### Waiting for Azure to provision external IP ####################" | ||||||
|  | 
 | ||||||
|  | ip_regex='([0-9]{1,3}\.){3}[0-9]{1,3}' | ||||||
|  | while true; do | ||||||
|  |     printf "." | ||||||
|  |     frontendUrl=$(kubectl get svc frontend -o=jsonpath="{.status.loadBalancer.ingress[0].ip}") | ||||||
|  |     if [[ $frontendUrl =~ $ip_regex ]]; then | ||||||
|  |         break | ||||||
|  |     fi | ||||||
|  |     sleep 5s | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | printf "\n" | ||||||
|  | externalDns=$frontendUrl | ||||||
|  | echo "Using $externalDns as the external DNS/IP of the K8s cluster" | ||||||
|  | 
 | ||||||
|  | echo "#################### Creating application configuration ####################" | ||||||
|  | 
 | ||||||
|  | # urls configmap | ||||||
|  | kubectl create configmap urls \ | ||||||
|  |     "--from-literal=BasketUrl=http://basket" \ | ||||||
|  |     "--from-literal=BasketHealthCheckUrl=http://basket/hc" \ | ||||||
|  |     "--from-literal=CatalogUrl=http://$externalDns/catalog-api" \ | ||||||
|  |     "--from-literal=CatalogHealthCheckUrl=http://catalog/hc" \ | ||||||
|  |     "--from-literal=PicBaseUrl=http://$externalDns/catalog-api/api/v1/catalog/items/[0]/pic/" \ | ||||||
|  |     "--from-literal=Marketing_PicBaseUrl=http://$externalDns/marketing-api/api/v1/campaigns/[0]/pic/" \ | ||||||
|  |     "--from-literal=IdentityUrl=http://$externalDns/identity" \ | ||||||
|  |     "--from-literal=IdentityHealthCheckUrl=http://identity/hc" \ | ||||||
|  |     "--from-literal=OrderingUrl=http://ordering" \ | ||||||
|  |     "--from-literal=OrderingHealthCheckUrl=http://ordering/hc" \ | ||||||
|  |     "--from-literal=MvcClientExternalUrl=http://$externalDns/webmvc" \ | ||||||
|  |     "--from-literal=WebMvcHealthCheckUrl=http://webmvc/hc" \ | ||||||
|  |     "--from-literal=MvcClientOrderingUrl=http://ordering" \ | ||||||
|  |     "--from-literal=MvcClientCatalogUrl=http://catalog" \ | ||||||
|  |     "--from-literal=MvcClientBasketUrl=http://basket" \ | ||||||
|  |     "--from-literal=MvcClientMarketingUrl=http://marketing" \ | ||||||
|  |     "--from-literal=MvcClientLocationsUrl=http://locations" \ | ||||||
|  |     "--from-literal=MarketingHealthCheckUrl=http://marketing/hc" \ | ||||||
|  |     "--from-literal=WebSpaHealthCheckUrl=http://webspa/hc" \ | ||||||
|  |     "--from-literal=SpaClientMarketingExternalUrl=http://$externalDns/marketing-api" \ | ||||||
|  |     "--from-literal=SpaClientOrderingExternalUrl=http://$externalDns/ordering-api" \ | ||||||
|  |     "--from-literal=SpaClientCatalogExternalUrl=http://$externalDns/catalog-api" \ | ||||||
|  |     "--from-literal=SpaClientBasketExternalUrl=http://$externalDns/basket-api" \ | ||||||
|  |     "--from-literal=SpaClientIdentityExternalUrl=http://$externalDns/identity" \ | ||||||
|  |     "--from-literal=SpaClientLocationsUrl=http://$externalDns/locations-api" \ | ||||||
|  |     "--from-literal=LocationsHealthCheckUrl=http://locations/hc" \ | ||||||
|  |     "--from-literal=SpaClientExternalUrl=http://$externalDns" \ | ||||||
|  |     "--from-literal=LocationApiClient=http://$externalDns/locations-api" \ | ||||||
|  |     "--from-literal=MarketingApiClient=http://$externalDns/marketing-api" \ | ||||||
|  |     "--from-literal=BasketApiClient=http://$externalDns/basket-api" \ | ||||||
|  |     "--from-literal=OrderingApiClient=http://$externalDns/ordering-api" \ | ||||||
|  |     "--from-literal=PaymentHealthCheckUrl=http://payment/hc" | ||||||
|  | 
 | ||||||
|  | kubectl label configmap urls app=eshop | ||||||
|  | 
 | ||||||
|  | # externalcfg configmap -- points to local infrastructure components (rabbitmq, SQL Server etc) | ||||||
|  | kubectl create -f conf_local.yml | ||||||
|  | 
 | ||||||
|  | # Create application pod deployments | ||||||
|  | kubectl create -f deployments.yaml | ||||||
|  | 
 | ||||||
|  | echo "#################### Deploying application pods ####################" | ||||||
|  | 
 | ||||||
|  | # update deployments with the correct image (with tag and/or registry) | ||||||
|  | kubectl set image deployments/basket "basket=$container_registry/basket.api:$image_tag" | ||||||
|  | kubectl set image deployments/catalog "catalog=$container_registry/catalog.api:$image_tag" | ||||||
|  | kubectl set image deployments/identity "identity=$container_registry/identity.api:$image_tag" | ||||||
|  | kubectl set image deployments/ordering "ordering=$container_registry/ordering.api:$image_tag" | ||||||
|  | kubectl set image deployments/marketing "marketing=$container_registry/marketing.api:$image_tag" | ||||||
|  | kubectl set image deployments/locations "locations=$container_registry/locations.api:$image_tag" | ||||||
|  | kubectl set image deployments/payment "payment=$container_registry/payment.api:$image_tag" | ||||||
|  | kubectl set image deployments/webmvc "webmvc=$container_registry/webmvc:$image_tag" | ||||||
|  | kubectl set image deployments/webstatus "webstatus=$container_registry/webstatus:$image_tag" | ||||||
|  | kubectl set image deployments/webspa "webspa=$container_registry/webspa:$image_tag" | ||||||
|  | 
 | ||||||
|  | kubectl rollout resume deployments/basket | ||||||
|  | kubectl rollout resume deployments/catalog | ||||||
|  | kubectl rollout resume deployments/identity | ||||||
|  | kubectl rollout resume deployments/ordering | ||||||
|  | kubectl rollout resume deployments/marketing | ||||||
|  | kubectl rollout resume deployments/locations | ||||||
|  | kubectl rollout resume deployments/payment | ||||||
|  | kubectl rollout resume deployments/webmvc | ||||||
|  | kubectl rollout resume deployments/webstatus | ||||||
|  | kubectl rollout resume deployments/webspa | ||||||
|  | 
 | ||||||
|  | echo "WebSPA is exposed at http://$externalDns, WebMVC at http://$externalDns/webmvc, WebStatus at http://$externalDns/webstatus" | ||||||
|  | echo "eShopOnContainers deployment is DONE" | ||||||
							
								
								
									
										5
									
								
								k8s/eshop-namespace.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,5 @@ | |||||||
|  | apiVersion: v1 | ||||||
|  | kind: Namespace | ||||||
|  | metadata: | ||||||
|  |   name: eshop | ||||||
|  |    | ||||||
| @ -27,7 +27,7 @@ spec: | |||||||
|     spec: |     spec: | ||||||
|       containers: |       containers: | ||||||
|       - name: nginx |       - name: nginx | ||||||
|         image: nginx:1.11.10-alpine |         image: nginx:1.13.8-alpine | ||||||
|         imagePullPolicy: IfNotPresent |         imagePullPolicy: IfNotPresent | ||||||
|         ports: |         ports: | ||||||
|         - containerPort: 8080 |         - containerPort: 8080 | ||||||
|  | |||||||
| Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB | 
| Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB | 
| Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB | 
| Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB | 
| @ -20,7 +20,7 @@ | |||||||
|     <PackageReference Include="System.Threading.Tasks.Parallel" Version="4.3.0" /> |     <PackageReference Include="System.Threading.Tasks.Parallel" Version="4.3.0" /> | ||||||
|     <PackageReference Include="System.Threading.Thread" Version="4.3.0" /> |     <PackageReference Include="System.Threading.Thread" Version="4.3.0" /> | ||||||
|     <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.4.0" /> |     <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.4.0" /> | ||||||
|     <PackageReference Include="WindowsAzure.Storage" Version="8.6.0" /> |     <PackageReference Include="WindowsAzure.Storage" Version="8.7.0" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
| 
 | 
 | ||||||
| </Project> | </Project> | ||||||
|  | |||||||
| @ -1,564 +0,0 @@ | |||||||
|  |  | ||||||
| Microsoft Visual Studio Solution File, Format Version 12.00 |  | ||||||
| # Visual Studio 14 |  | ||||||
| VisualStudioVersion = 14.0.25420.1 |  | ||||||
| MinimumVisualStudioVersion = 10.0.40219.1 |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Droid", "eShopOnContainers\eShopOnContainers.Droid\eShopOnContainers.Droid.csproj", "{62DBB163-9CA9-4818-B48B-13233DF37C24}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.iOS", "eShopOnContainers\eShopOnContainers.iOS\eShopOnContainers.iOS.csproj", "{6EEB23DC-7063-4444-9AF8-90DF24F549C0}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Core", "eShopOnContainers\eShopOnContainers.Core\eShopOnContainers.Core.csproj", "{65116D1C-145B-4693-ABDA-F0FB6F425191}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Windows", "eShopOnContainers\eShopOnContainers.Windows\eShopOnContainers.Windows.csproj", "{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}" |  | ||||||
| EndProject |  | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared Code", "Shared Code", "{65D002E7-E869-491C-ABA8-9650CEAF677A}" |  | ||||||
| EndProject |  | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targets", "Targets", "{8F848898-6B21-4905-AE2E-B3ABDEDA1963}" |  | ||||||
| EndProject |  | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{71D6317D-AF0F-46FE-91DA-B0556911FC4B}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.UnitTests", "eShopOnContainers\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj", "{F7B6A162-BC4D-4924-B16A-713F9B0344E7}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Droid", "eShopOnContainers\eShopOnContainers.TestRunner.Droid\eShopOnContainers.TestRunner.Droid.csproj", "{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.iOS", "eShopOnContainers\eShopOnContainers.TestRunner.iOS\eShopOnContainers.TestRunner.iOS.csproj", "{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Windows", "eShopOnContainers\eShopOnContainers.TestRunner.Windows\eShopOnContainers.TestRunner.Windows.csproj", "{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.UITests", "eShopOnContainers\eShopOnContainers.UITests\eShopOnContainers.UITests.csproj", "{E3B18084-842C-4B80-8E4A-A7E588EC3137}" |  | ||||||
| EndProject |  | ||||||
| Global |  | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution |  | ||||||
| 		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU |  | ||||||
| 		Ad-Hoc|ARM = Ad-Hoc|ARM |  | ||||||
| 		Ad-Hoc|iPhone = Ad-Hoc|iPhone |  | ||||||
| 		Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		Ad-Hoc|x64 = Ad-Hoc|x64 |  | ||||||
| 		Ad-Hoc|x86 = Ad-Hoc|x86 |  | ||||||
| 		AppStore|Any CPU = AppStore|Any CPU |  | ||||||
| 		AppStore|ARM = AppStore|ARM |  | ||||||
| 		AppStore|iPhone = AppStore|iPhone |  | ||||||
| 		AppStore|iPhoneSimulator = AppStore|iPhoneSimulator |  | ||||||
| 		AppStore|x64 = AppStore|x64 |  | ||||||
| 		AppStore|x86 = AppStore|x86 |  | ||||||
| 		Debug|Any CPU = Debug|Any CPU |  | ||||||
| 		Debug|ARM = Debug|ARM |  | ||||||
| 		Debug|iPhone = Debug|iPhone |  | ||||||
| 		Debug|iPhoneSimulator = Debug|iPhoneSimulator |  | ||||||
| 		Debug|x64 = Debug|x64 |  | ||||||
| 		Debug|x86 = Debug|x86 |  | ||||||
| 		Release|Any CPU = Release|Any CPU |  | ||||||
| 		Release|ARM = Release|ARM |  | ||||||
| 		Release|iPhone = Release|iPhone |  | ||||||
| 		Release|iPhoneSimulator = Release|iPhoneSimulator |  | ||||||
| 		Release|x64 = Release|x64 |  | ||||||
| 		Release|x86 = Release|x86 |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|Any CPU.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|ARM.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhone.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x64.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x86.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|ARM.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhone.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhone.Build.0 = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|x64.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|x86.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|Any CPU.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|Any CPU.Build.0 = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|ARM.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhone.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhone.Build.0 = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|x64.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|x86.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|Any CPU.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|Any CPU.Build.0 = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|ARM.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhone.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhone.Build.0 = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|x64.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|x86.ActiveCfg = Release|iPhone |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|Any CPU.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|ARM.Build.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhone.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhone.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x64.Build.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x86.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|Any CPU.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|Any CPU.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|ARM.Build.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhone.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhone.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhoneSimulator.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x64.Build.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x86.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|Any CPU.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|Any CPU.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|Any CPU.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.ActiveCfg = Debug|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.Build.0 = Debug|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.Deploy.0 = Debug|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.ActiveCfg = Debug|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.Build.0 = Debug|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.Deploy.0 = Debug|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x86.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x86.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x86.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|Any CPU.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|Any CPU.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|ARM.Build.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x64.Build.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.AppStore|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|Any CPU.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|ARM.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|iPhone.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|x64.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Debug|x86.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1}.Release|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|ARM.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|iPhone.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|iPhone.Build.0 = AppStore|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|x64.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.AppStore|x86.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|Any CPU.ActiveCfg = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|Any CPU.Build.0 = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|ARM.ActiveCfg = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|iPhone.ActiveCfg = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|iPhone.Build.0 = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|x64.ActiveCfg = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Debug|x86.ActiveCfg = Debug|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|Any CPU.ActiveCfg = Release|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|Any CPU.Build.0 = Release|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|ARM.ActiveCfg = Release|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|iPhone.ActiveCfg = Release|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|iPhone.Build.0 = Release|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|x64.ActiveCfg = Release|iPhone |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}.Release|x86.ActiveCfg = Release|iPhone |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|Any CPU.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|Any CPU.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|Any CPU.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|ARM.Build.0 = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|iPhone.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|iPhone.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|iPhone.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|x64.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|x86.Build.0 = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Ad-Hoc|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|Any CPU.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|Any CPU.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|Any CPU.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|ARM.Build.0 = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|iPhone.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|iPhone.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|iPhone.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|iPhoneSimulator.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|iPhoneSimulator.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|iPhoneSimulator.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|x64.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|x86.Build.0 = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.AppStore|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|Any CPU.ActiveCfg = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|Any CPU.Build.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|Any CPU.Deploy.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|ARM.ActiveCfg = Debug|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|ARM.Build.0 = Debug|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|ARM.Deploy.0 = Debug|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|iPhone.ActiveCfg = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|iPhone.Build.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|iPhone.Deploy.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|iPhoneSimulator.Build.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|x64.ActiveCfg = Debug|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|x64.Build.0 = Debug|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|x64.Deploy.0 = Debug|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|x86.ActiveCfg = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|x86.Build.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Debug|x86.Deploy.0 = Debug|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|Any CPU.Build.0 = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|ARM.Build.0 = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|x64.Build.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|x86.Build.0 = Release|x86 |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F}.Release|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(SolutionProperties) = preSolution |  | ||||||
| 		HideSolutionNode = FALSE |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(NestedProjects) = preSolution |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24} = {8F848898-6B21-4905-AE2E-B3ABDEDA1963} |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0} = {8F848898-6B21-4905-AE2E-B3ABDEDA1963} |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191} = {65D002E7-E869-491C-ABA8-9650CEAF677A} |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B} = {8F848898-6B21-4905-AE2E-B3ABDEDA1963} |  | ||||||
| 		{F7B6A162-BC4D-4924-B16A-713F9B0344E7} = {71D6317D-AF0F-46FE-91DA-B0556911FC4B} |  | ||||||
| 		{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1} = {71D6317D-AF0F-46FE-91DA-B0556911FC4B} |  | ||||||
| 		{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3} = {71D6317D-AF0F-46FE-91DA-B0556911FC4B} |  | ||||||
| 		{02680C26-CA1D-4D9D-A7E3-D66AF5BE6F2F} = {71D6317D-AF0F-46FE-91DA-B0556911FC4B} |  | ||||||
| 		{E3B18084-842C-4B80-8E4A-A7E588EC3137} = {71D6317D-AF0F-46FE-91DA-B0556911FC4B} |  | ||||||
| 	EndGlobalSection |  | ||||||
| EndGlobal |  | ||||||
| @ -1,275 +0,0 @@ | |||||||
|  |  | ||||||
| Microsoft Visual Studio Solution File, Format Version 12.00 |  | ||||||
| # Visual Studio 14 |  | ||||||
| VisualStudioVersion = 14.0.25420.1 |  | ||||||
| MinimumVisualStudioVersion = 10.0.40219.1 |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Droid", "eShopOnContainers\eShopOnContainers.Droid\eShopOnContainers.Droid.csproj", "{62DBB163-9CA9-4818-B48B-13233DF37C24}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.iOS", "eShopOnContainers\eShopOnContainers.iOS\eShopOnContainers.iOS.csproj", "{6EEB23DC-7063-4444-9AF8-90DF24F549C0}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Core", "eShopOnContainers\eShopOnContainers.Core\eShopOnContainers.Core.csproj", "{65116D1C-145B-4693-ABDA-F0FB6F425191}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.Windows", "eShopOnContainers\eShopOnContainers.Windows\eShopOnContainers.Windows.csproj", "{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}" |  | ||||||
| EndProject |  | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared Code", "Shared Code", "{65D002E7-E869-491C-ABA8-9650CEAF677A}" |  | ||||||
| EndProject |  | ||||||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targets", "Targets", "{8F848898-6B21-4905-AE2E-B3ABDEDA1963}" |  | ||||||
| EndProject |  | ||||||
| Global |  | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution |  | ||||||
| 		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU |  | ||||||
| 		Ad-Hoc|ARM = Ad-Hoc|ARM |  | ||||||
| 		Ad-Hoc|iPhone = Ad-Hoc|iPhone |  | ||||||
| 		Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		Ad-Hoc|x64 = Ad-Hoc|x64 |  | ||||||
| 		Ad-Hoc|x86 = Ad-Hoc|x86 |  | ||||||
| 		AppStore|Any CPU = AppStore|Any CPU |  | ||||||
| 		AppStore|ARM = AppStore|ARM |  | ||||||
| 		AppStore|iPhone = AppStore|iPhone |  | ||||||
| 		AppStore|iPhoneSimulator = AppStore|iPhoneSimulator |  | ||||||
| 		AppStore|x64 = AppStore|x64 |  | ||||||
| 		AppStore|x86 = AppStore|x86 |  | ||||||
| 		Debug|Any CPU = Debug|Any CPU |  | ||||||
| 		Debug|ARM = Debug|ARM |  | ||||||
| 		Debug|iPhone = Debug|iPhone |  | ||||||
| 		Debug|iPhoneSimulator = Debug|iPhoneSimulator |  | ||||||
| 		Debug|x64 = Debug|x64 |  | ||||||
| 		Debug|x86 = Debug|x86 |  | ||||||
| 		Release|Any CPU = Release|Any CPU |  | ||||||
| 		Release|ARM = Release|ARM |  | ||||||
| 		Release|iPhone = Release|iPhone |  | ||||||
| 		Release|iPhoneSimulator = Release|iPhoneSimulator |  | ||||||
| 		Release|x64 = Release|x64 |  | ||||||
| 		Release|x86 = Release|x86 |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.AppStore|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|Any CPU.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|ARM.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhone.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x64.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Debug|x86.Deploy.0 = Debug|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|Any CPU.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|ARM.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhone.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x64.Deploy.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24}.Release|x86.Deploy.0 = Release|Any CPU |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|ARM.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhone.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhone.Build.0 = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|x64.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.AppStore|x86.ActiveCfg = AppStore|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|Any CPU.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|Any CPU.Build.0 = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|ARM.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhone.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhone.Build.0 = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|x64.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Debug|x86.ActiveCfg = Debug|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|Any CPU.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|ARM.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhone.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhone.Build.0 = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|x64.ActiveCfg = Release|iPhone |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0}.Release|x86.ActiveCfg = Release|iPhone |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Ad-Hoc|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.AppStore|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|ARM.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|ARM.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhone.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhone.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x64.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x64.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x86.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Debug|x86.Build.0 = Debug|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|ARM.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|ARM.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhone.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhone.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|iPhoneSimulator.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x64.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x64.Build.0 = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x86.ActiveCfg = Release|Any CPU |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191}.Release|x86.Build.0 = Release|Any CPU |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|Any CPU.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|ARM.Build.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhone.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhone.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x64.Build.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x86.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Ad-Hoc|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|Any CPU.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|Any CPU.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|ARM.Build.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhone.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhone.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhoneSimulator.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x64.Build.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x86.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.AppStore|x86.Deploy.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|Any CPU.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|Any CPU.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|Any CPU.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.ActiveCfg = Debug|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.Build.0 = Debug|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.Deploy.0 = Debug|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.ActiveCfg = Debug|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.Build.0 = Debug|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.Deploy.0 = Debug|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x86.ActiveCfg = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x86.Build.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x86.Deploy.0 = Debug|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|Any CPU.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|ARM.ActiveCfg = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|ARM.Build.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|ARM.Deploy.0 = Release|ARM |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|iPhone.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|iPhoneSimulator.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x64.Build.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x64.Deploy.0 = Release|x64 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.ActiveCfg = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Build.0 = Release|x86 |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Release|x86.Deploy.0 = Release|x86 |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(SolutionProperties) = preSolution |  | ||||||
| 		HideSolutionNode = FALSE |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(NestedProjects) = preSolution |  | ||||||
| 		{62DBB163-9CA9-4818-B48B-13233DF37C24} = {8F848898-6B21-4905-AE2E-B3ABDEDA1963} |  | ||||||
| 		{6EEB23DC-7063-4444-9AF8-90DF24F549C0} = {8F848898-6B21-4905-AE2E-B3ABDEDA1963} |  | ||||||
| 		{65116D1C-145B-4693-ABDA-F0FB6F425191} = {65D002E7-E869-491C-ABA8-9650CEAF677A} |  | ||||||
| 		{C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B} = {8F848898-6B21-4905-AE2E-B3ABDEDA1963} |  | ||||||
| 	EndGlobalSection |  | ||||||
| EndGlobal |  | ||||||
| @ -1,12 +1,11 @@ | |||||||
| using System; | using eShopOnContainers.Core.Models.Location; | ||||||
| using System.Globalization; |  | ||||||
| using eShopOnContainers.Core.Helpers; |  | ||||||
| using eShopOnContainers.Services; |  | ||||||
| using eShopOnContainers.Core.ViewModels.Base; |  | ||||||
| using System.Threading.Tasks; |  | ||||||
| using eShopOnContainers.Core.Models.Location; |  | ||||||
| using eShopOnContainers.Core.Services.Location; | using eShopOnContainers.Core.Services.Location; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using eShopOnContainers.Services; | ||||||
| using Plugin.Geolocator; | using Plugin.Geolocator; | ||||||
|  | using System.Globalization; | ||||||
|  | using System.Threading.Tasks; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using Xamarin.Forms.Xaml; | using Xamarin.Forms.Xaml; | ||||||
| 
 | 
 | ||||||
| @ -15,14 +14,13 @@ namespace eShopOnContainers | |||||||
| { | { | ||||||
|     public partial class App : Application |     public partial class App : Application | ||||||
|     { |     { | ||||||
|         public bool UseMockServices { get; set; } |         ISettingsService _settingsService; | ||||||
| 
 | 
 | ||||||
|         public App() |         public App() | ||||||
|         { |         { | ||||||
|             InitializeComponent(); |             InitializeComponent(); | ||||||
| 
 | 
 | ||||||
|             InitApp(); |             InitApp(); | ||||||
| 
 |  | ||||||
|             if (Device.RuntimePlatform == Device.UWP) |             if (Device.RuntimePlatform == Device.UWP) | ||||||
|             { |             { | ||||||
|                 InitNavigation(); |                 InitNavigation(); | ||||||
| @ -31,8 +29,9 @@ namespace eShopOnContainers | |||||||
| 
 | 
 | ||||||
|         private void InitApp() |         private void InitApp() | ||||||
|         { |         { | ||||||
|             UseMockServices = Settings.UseMocks; |             _settingsService = ViewModelLocator.Resolve<ISettingsService>(); | ||||||
|             ViewModelLocator.RegisterDependencies(UseMockServices); |             if (!_settingsService.UseMocks) | ||||||
|  |                 ViewModelLocator.UpdateDependencies(_settingsService.UseMocks); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private Task InitNavigation() |         private Task InitNavigation() | ||||||
| @ -41,7 +40,6 @@ namespace eShopOnContainers | |||||||
|             return navigationService.InitializeAsync(); |             return navigationService.InitializeAsync(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|         protected override async void OnStart() |         protected override async void OnStart() | ||||||
|         { |         { | ||||||
|             base.OnStart(); |             base.OnStart(); | ||||||
| @ -51,12 +49,12 @@ namespace eShopOnContainers | |||||||
|                 await InitNavigation(); |                 await InitNavigation(); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (Settings.AllowGpsLocation && !Settings.UseFakeLocation) |             if (_settingsService.AllowGpsLocation && !_settingsService.UseFakeLocation) | ||||||
|             { |             { | ||||||
|                 await GetGpsLocation(); |                 await GetGpsLocation(); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (!Settings.UseMocks && !string.IsNullOrEmpty(Settings.AuthAccessToken)) |             if (!_settingsService.UseMocks && !string.IsNullOrEmpty(_settingsService.AuthAccessToken)) | ||||||
|             { |             { | ||||||
|                 await SendCurrentLocation(); |                 await SendCurrentLocation(); | ||||||
|             } |             } | ||||||
| @ -80,12 +78,12 @@ namespace eShopOnContainers | |||||||
| 
 | 
 | ||||||
|                 var position = await locator.GetPositionAsync(); |                 var position = await locator.GetPositionAsync(); | ||||||
| 
 | 
 | ||||||
|                 Settings.Latitude = position.Latitude.ToString(); |                 _settingsService.Latitude = position.Latitude.ToString(); | ||||||
|                 Settings.Longitude = position.Longitude.ToString(); |                 _settingsService.Longitude = position.Longitude.ToString(); | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|                 Settings.AllowGpsLocation = false; |                 _settingsService.AllowGpsLocation = false; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -93,13 +91,12 @@ namespace eShopOnContainers | |||||||
|         { |         { | ||||||
|             var location = new Location |             var location = new Location | ||||||
|             { |             { | ||||||
|                 Latitude = double.Parse(Settings.Latitude, CultureInfo.InvariantCulture), |                 Latitude = double.Parse(_settingsService.Latitude, CultureInfo.InvariantCulture), | ||||||
|                 Longitude = double.Parse(Settings.Longitude, CultureInfo.InvariantCulture) |                 Longitude = double.Parse(_settingsService.Longitude, CultureInfo.InvariantCulture) | ||||||
|             }; |             }; | ||||||
| 
 | 
 | ||||||
|             var locationService = ViewModelLocator.Resolve<ILocationService>(); |             var locationService = ViewModelLocator.Resolve<ILocationService>(); | ||||||
|             await locationService.UpdateUserLocation(location, |             await locationService.UpdateUserLocation(location, _settingsService.AuthAccessToken); | ||||||
|                 Settings.AuthAccessToken); |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1,6 +1,6 @@ | |||||||
| using System.Linq; | using eShopOnContainers.Core.Effects; | ||||||
|  | using System.Linq; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using eShopOnContainers.Core.Effects; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Behaviors | namespace eShopOnContainers.Core.Behaviors | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,8 +1,4 @@ | |||||||
| using System; | using System.Threading.Tasks; | ||||||
| using System.Collections.Generic; |  | ||||||
| using System.Linq; |  | ||||||
| using System.Text; |  | ||||||
| using System.Threading.Tasks; |  | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,90 +0,0 @@ | |||||||
| using Plugin.Settings; |  | ||||||
| using Plugin.Settings.Abstractions; |  | ||||||
| 
 |  | ||||||
| namespace eShopOnContainers.Core.Helpers |  | ||||||
| { |  | ||||||
|     /// <summary> |  | ||||||
|     /// This is the Settings static class that can be used in your Core solution or in any |  | ||||||
|     /// of your client applications. All settings are laid out the same exact way with getters |  | ||||||
|     /// and setters.  |  | ||||||
|     /// </summary> |  | ||||||
|     public static class Settings |  | ||||||
|     { |  | ||||||
|         private static ISettings AppSettings |  | ||||||
|         { |  | ||||||
|             get |  | ||||||
|             { |  | ||||||
|                 return CrossSettings.Current; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         #region Setting Constants |  | ||||||
| 
 |  | ||||||
|         private const string AccessToken = "access_token"; |  | ||||||
|         private const string IdToken = "id_token"; |  | ||||||
|         private const string IdUseMocks = "use_mocks"; |  | ||||||
|         private const string IdUrlBase = "url_base"; |  | ||||||
|         private const string IdUseFakeLocation = "use_fake_location"; |  | ||||||
|         private const string IdLatitude = "latitude"; |  | ||||||
|         private const string IdLongitude = "longitude"; |  | ||||||
|         private const string IdAllowGpsLocation = "allow_gps_location"; |  | ||||||
|         private static readonly string AccessTokenDefault = string.Empty; |  | ||||||
|         private static readonly string IdTokenDefault = string.Empty; |  | ||||||
| 		private static readonly bool UseMocksDefault = true; |  | ||||||
|         private static readonly bool UseFakeLocationDefault = false; |  | ||||||
|         private static readonly bool AllowGpsLocationDefault = false; |  | ||||||
|         private static readonly double FakeLatitudeDefault = 47.604610d; |  | ||||||
|         private static readonly double FakeLongitudeDefault = -122.315752d; |  | ||||||
|         private static readonly string UrlBaseDefault = GlobalSetting.Instance.BaseEndpoint; |  | ||||||
| 
 |  | ||||||
|         #endregion |  | ||||||
| 
 |  | ||||||
|         public static string AuthAccessToken |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<string>(AccessToken, AccessTokenDefault); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<string>(AccessToken, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static string AuthIdToken |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<string>(IdToken, IdTokenDefault); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<string>(IdToken, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static bool UseMocks |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<bool>(IdUseMocks, UseMocksDefault); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<bool>(IdUseMocks, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static string UrlBase |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<string>(IdUrlBase, UrlBaseDefault); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<string>(IdUrlBase, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static bool UseFakeLocation |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<bool>(IdUseFakeLocation, UseFakeLocationDefault); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<bool>(IdUseFakeLocation, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static string Latitude |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<string>(IdLatitude, FakeLatitudeDefault.ToString()); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<string>(IdLatitude, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static string Longitude |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<string>(IdLongitude, FakeLongitudeDefault.ToString()); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<string>(IdLongitude, value); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static bool AllowGpsLocation |  | ||||||
|         { |  | ||||||
|             get => AppSettings.GetValueOrDefault<bool>(IdAllowGpsLocation, AllowGpsLocationDefault); |  | ||||||
|             set => AppSettings.AddOrUpdateValue<bool>(IdAllowGpsLocation, value); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,7 +1,7 @@ | |||||||
| namespace eShopOnContainers.Core.Models.Marketing | using System; | ||||||
| { |  | ||||||
|     using System; |  | ||||||
| 
 | 
 | ||||||
|  | namespace eShopOnContainers.Core.Models.Marketing | ||||||
|  | { | ||||||
|     public class Campaign |     public class Campaign | ||||||
|     { |     { | ||||||
|         public int Id { get; set; } |         public int Id { get; set; } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| namespace eShopOnContainers.Core.Models.Marketing | using System; | ||||||
| { |  | ||||||
|     using System; |  | ||||||
| 
 | 
 | ||||||
|  | namespace eShopOnContainers.Core.Models.Marketing | ||||||
|  | { | ||||||
|     public class CampaignItem |     public class CampaignItem | ||||||
|     { |     { | ||||||
|         public int Id { get; set; } |         public int Id { get; set; } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| namespace eShopOnContainers.Core.Models.Marketing | using System.Collections.Generic; | ||||||
| { |  | ||||||
|     using System.Collections.Generic; |  | ||||||
| 
 | 
 | ||||||
|  | namespace eShopOnContainers.Core.Models.Marketing | ||||||
|  | { | ||||||
|     public class CampaignRoot |     public class CampaignRoot | ||||||
|     { |     { | ||||||
|         public int PageIndex { get; set; } |         public int PageIndex { get; set; } | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| using System; | using Newtonsoft.Json; | ||||||
|  | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using Newtonsoft.Json; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Models.Orders | namespace eShopOnContainers.Core.Models.Orders | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,30 +0,0 @@ | |||||||
| using System.Resources; |  | ||||||
| using System.Reflection; |  | ||||||
| using System.Runtime.CompilerServices; |  | ||||||
| using System.Runtime.InteropServices; |  | ||||||
| 
 |  | ||||||
| // General Information about an assembly is controlled through the following  |  | ||||||
| // set of attributes. Change these attribute values to modify the information |  | ||||||
| // associated with an assembly. |  | ||||||
| [assembly: AssemblyTitle("eShopOnContainers.Core")] |  | ||||||
| [assembly: AssemblyDescription("")] |  | ||||||
| [assembly: AssemblyConfiguration("")] |  | ||||||
| [assembly: AssemblyCompany("")] |  | ||||||
| [assembly: AssemblyProduct("eShopOnContainers.Core")] |  | ||||||
| [assembly: AssemblyCopyright("Copyright ©  2014")] |  | ||||||
| [assembly: AssemblyTrademark("")] |  | ||||||
| [assembly: AssemblyCulture("")] |  | ||||||
| [assembly: NeutralResourcesLanguage("en")] |  | ||||||
| 
 |  | ||||||
| // Version information for an assembly consists of the following four values: |  | ||||||
| // |  | ||||||
| //      Major Version |  | ||||||
| //      Minor Version  |  | ||||||
| //      Build Number |  | ||||||
| //      Revision |  | ||||||
| // |  | ||||||
| // You can specify all the values or you can default the Build and Revision Numbers  |  | ||||||
| // by using the '*' as shown below: |  | ||||||
| // [assembly: AssemblyVersion("1.0.*")] |  | ||||||
| [assembly: AssemblyVersion("1.0.0.0")] |  | ||||||
| [assembly: AssemblyFileVersion("1.0.0.0")] |  | ||||||
| @ -2,18 +2,21 @@ | |||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using eShopOnContainers.Core.Services.RequestProvider; | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
| using eShopOnContainers.Core.Models.Basket; | using eShopOnContainers.Core.Models.Basket; | ||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Services.FixUri; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.Basket | namespace eShopOnContainers.Core.Services.Basket | ||||||
| { | { | ||||||
|     public class BasketService : IBasketService |     public class BasketService : IBasketService | ||||||
|     { |     { | ||||||
|         private readonly IRequestProvider _requestProvider; |         private readonly IRequestProvider _requestProvider; | ||||||
|  |         private readonly IFixUriService _fixUriService; | ||||||
|  | 
 | ||||||
|         private const string ApiUrlBase = "api/v1/basket"; |         private const string ApiUrlBase = "api/v1/basket"; | ||||||
| 
 | 
 | ||||||
|         public BasketService(IRequestProvider requestProvider) |         public BasketService(IRequestProvider requestProvider, IFixUriService fixUriService) | ||||||
|         { |         { | ||||||
|             _requestProvider = requestProvider; |             _requestProvider = requestProvider; | ||||||
|  |             _fixUriService = fixUriService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public async Task<CustomerBasket> GetBasketAsync(string guidUser, string token) |         public async Task<CustomerBasket> GetBasketAsync(string guidUser, string token) | ||||||
| @ -28,8 +31,7 @@ namespace eShopOnContainers.Core.Services.Basket | |||||||
|             CustomerBasket basket = |             CustomerBasket basket = | ||||||
|                     await _requestProvider.GetAsync<CustomerBasket>(uri, token); |                     await _requestProvider.GetAsync<CustomerBasket>(uri, token); | ||||||
| 
 | 
 | ||||||
|             ServicesHelper.FixBasketItemPictureUri(basket?.Items); |             _fixUriService.FixBasketItemPictureUri(basket?.Items); | ||||||
| 
 |  | ||||||
|             return basket; |             return basket; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -41,9 +43,7 @@ namespace eShopOnContainers.Core.Services.Basket | |||||||
|             }; |             }; | ||||||
| 
 | 
 | ||||||
|             var uri = builder.ToString(); |             var uri = builder.ToString(); | ||||||
| 
 |  | ||||||
|             var result = await _requestProvider.PostAsync(uri, customerBasket, token); |             var result = await _requestProvider.PostAsync(uri, customerBasket, token); | ||||||
| 
 |  | ||||||
|             return result; |             return result; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -55,7 +55,6 @@ namespace eShopOnContainers.Core.Services.Basket | |||||||
|             }; |             }; | ||||||
| 
 | 
 | ||||||
|             var uri = builder.ToString(); |             var uri = builder.ToString(); | ||||||
| 
 |  | ||||||
|             await _requestProvider.PostAsync(uri, basketCheckout, token); |             await _requestProvider.PostAsync(uri, basketCheckout, token); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -67,7 +66,6 @@ namespace eShopOnContainers.Core.Services.Basket | |||||||
|             }; |             }; | ||||||
| 
 | 
 | ||||||
|             var uri = builder.ToString(); |             var uri = builder.ToString(); | ||||||
| 
 |  | ||||||
|             await _requestProvider.DeleteAsync(uri, token); |             await _requestProvider.DeleteAsync(uri, token); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -5,29 +5,28 @@ using eShopOnContainers.Core.Models.Catalog; | |||||||
| using eShopOnContainers.Core.Services.RequestProvider; | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
| using eShopOnContainers.Core.Extensions; | using eShopOnContainers.Core.Extensions; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Services.FixUri; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.Catalog | namespace eShopOnContainers.Core.Services.Catalog | ||||||
| { | { | ||||||
|     public class CatalogService : ICatalogService |     public class CatalogService : ICatalogService | ||||||
|     { |     { | ||||||
|         private readonly IRequestProvider _requestProvider; |         private readonly IRequestProvider _requestProvider; | ||||||
|  |         private readonly IFixUriService _fixUriService; | ||||||
| 
 | 
 | ||||||
|         public CatalogService(IRequestProvider requestProvider) |         public CatalogService(IRequestProvider requestProvider, IFixUriService fixUriService) | ||||||
|         { |         { | ||||||
|             _requestProvider = requestProvider; |             _requestProvider = requestProvider; | ||||||
|  |             _fixUriService = fixUriService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public async Task<ObservableCollection<CatalogItem>> FilterAsync(int catalogBrandId, int catalogTypeId) |         public async Task<ObservableCollection<CatalogItem>> FilterAsync(int catalogBrandId, int catalogTypeId) | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); | ||||||
| 
 |  | ||||||
|             builder.Path = string.Format("api/v1/catalog/items/type/{0}/brand/{1}", catalogTypeId, catalogBrandId); |             builder.Path = string.Format("api/v1/catalog/items/type/{0}/brand/{1}", catalogTypeId, catalogBrandId); | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 | 
 | ||||||
|             CatalogRoot catalog = |             CatalogRoot catalog = await _requestProvider.GetAsync<CatalogRoot>(uri); | ||||||
|                     await _requestProvider.GetAsync<CatalogRoot>(uri); |  | ||||||
| 
 | 
 | ||||||
|             if (catalog?.Data != null) |             if (catalog?.Data != null) | ||||||
|                 return catalog?.Data.ToObservableCollection(); |                 return catalog?.Data.ToObservableCollection(); | ||||||
| @ -38,18 +37,14 @@ namespace eShopOnContainers.Core.Services.Catalog | |||||||
|         public async Task<ObservableCollection<CatalogItem>> GetCatalogAsync() |         public async Task<ObservableCollection<CatalogItem>> GetCatalogAsync() | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); | ||||||
| 
 |  | ||||||
|             builder.Path = "api/v1/catalog/items"; |             builder.Path = "api/v1/catalog/items"; | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 | 
 | ||||||
|             CatalogRoot catalog = |             CatalogRoot catalog = await _requestProvider.GetAsync<CatalogRoot>(uri); | ||||||
|                 await _requestProvider.GetAsync<CatalogRoot>(uri); |  | ||||||
| 
 | 
 | ||||||
|             if (catalog?.Data != null) |             if (catalog?.Data != null) | ||||||
|             { |             { | ||||||
|                 ServicesHelper.FixCatalogItemPictureUri(catalog?.Data); |                 _fixUriService.FixCatalogItemPictureUri(catalog?.Data); | ||||||
| 
 |  | ||||||
|                 return catalog?.Data.ToObservableCollection(); |                 return catalog?.Data.ToObservableCollection(); | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
| @ -59,13 +54,10 @@ namespace eShopOnContainers.Core.Services.Catalog | |||||||
|         public async Task<ObservableCollection<CatalogBrand>> GetCatalogBrandAsync() |         public async Task<ObservableCollection<CatalogBrand>> GetCatalogBrandAsync() | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); | ||||||
| 
 |  | ||||||
|             builder.Path = "api/v1/catalog/catalogbrands"; |             builder.Path = "api/v1/catalog/catalogbrands"; | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 | 
 | ||||||
|             IEnumerable<CatalogBrand> brands = |             IEnumerable<CatalogBrand> brands = await _requestProvider.GetAsync<IEnumerable<CatalogBrand>>(uri); | ||||||
|                    await _requestProvider.GetAsync<IEnumerable<CatalogBrand>>(uri); |  | ||||||
| 
 | 
 | ||||||
|             if (brands != null) |             if (brands != null) | ||||||
|                 return brands?.ToObservableCollection(); |                 return brands?.ToObservableCollection(); | ||||||
| @ -76,13 +68,10 @@ namespace eShopOnContainers.Core.Services.Catalog | |||||||
|         public async Task<ObservableCollection<CatalogType>> GetCatalogTypeAsync() |         public async Task<ObservableCollection<CatalogType>> GetCatalogTypeAsync() | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.CatalogEndpoint); | ||||||
| 
 |  | ||||||
|             builder.Path = "api/v1/catalog/catalogtypes"; |             builder.Path = "api/v1/catalog/catalogtypes"; | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 | 
 | ||||||
|             IEnumerable<CatalogType> types = |             IEnumerable<CatalogType> types = await _requestProvider.GetAsync<IEnumerable<CatalogType>>(uri); | ||||||
|                     await _requestProvider.GetAsync<IEnumerable<CatalogType>>(uri); |  | ||||||
| 
 | 
 | ||||||
|             if (types != null) |             if (types != null) | ||||||
|                 return types.ToObservableCollection(); |                 return types.ToObservableCollection(); | ||||||
|  | |||||||
| @ -0,0 +1,10 @@ | |||||||
|  | namespace eShopOnContainers.Core.Services.Dependency | ||||||
|  | { | ||||||
|  |     public class DependencyService : IDependencyService | ||||||
|  |     { | ||||||
|  |         public T Get<T>() where T : class | ||||||
|  |         { | ||||||
|  |             return Xamarin.Forms.DependencyService.Get<T>(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,7 @@ | |||||||
|  | namespace eShopOnContainers.Core.Services.Dependency | ||||||
|  | { | ||||||
|  |     public interface IDependencyService | ||||||
|  |     { | ||||||
|  |         T Get<T>() where T : class; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -6,14 +6,22 @@ using System; | |||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using System.Diagnostics; | using System.Diagnostics; | ||||||
| using System.Text.RegularExpressions; | using System.Text.RegularExpressions; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Helpers | namespace eShopOnContainers.Core.Services.FixUri | ||||||
| { | { | ||||||
|     public static class ServicesHelper |     public class FixUriService : IFixUriService | ||||||
|     { |     { | ||||||
|         private static Regex IpRegex = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"); |         private readonly ISettingsService _settingsService; | ||||||
| 
 | 
 | ||||||
|         public static void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems) |         private Regex IpRegex = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"); | ||||||
|  | 
 | ||||||
|  |         public FixUriService(ISettingsService settingsService) | ||||||
|  |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems) | ||||||
|         { |         { | ||||||
|             if (catalogItems == null) |             if (catalogItems == null) | ||||||
|             { |             { | ||||||
| @ -23,12 +31,12 @@ namespace eShopOnContainers.Core.Helpers | |||||||
|             try |             try | ||||||
|             { |             { | ||||||
|                 if (!ViewModelLocator.UseMockService |                 if (!ViewModelLocator.UseMockService | ||||||
|                     && Settings.UrlBase != GlobalSetting.DefaultEndpoint) |                     && _settingsService.UrlBase != GlobalSetting.DefaultEndpoint) | ||||||
|                 { |                 { | ||||||
|                     foreach (var catalogItem in catalogItems) |                     foreach (var catalogItem in catalogItems) | ||||||
|                     { |                     { | ||||||
|                         MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri); |                         MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri); | ||||||
|                         MatchCollection localResult = IpRegex.Matches(Settings.UrlBase); |                         MatchCollection localResult = IpRegex.Matches(_settingsService.UrlBase); | ||||||
| 
 | 
 | ||||||
|                         if (serverResult.Count != -1 && localResult.Count != -1) |                         if (serverResult.Count != -1 && localResult.Count != -1) | ||||||
|                         { |                         { | ||||||
| @ -46,7 +54,7 @@ namespace eShopOnContainers.Core.Helpers | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public static void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems) |         public void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems) | ||||||
|         { |         { | ||||||
|             if (basketItems == null) |             if (basketItems == null) | ||||||
|             { |             { | ||||||
| @ -56,12 +64,12 @@ namespace eShopOnContainers.Core.Helpers | |||||||
|             try |             try | ||||||
|             { |             { | ||||||
|                 if (!ViewModelLocator.UseMockService |                 if (!ViewModelLocator.UseMockService | ||||||
|                     && Settings.UrlBase != GlobalSetting.DefaultEndpoint) |                     && _settingsService.UrlBase != GlobalSetting.DefaultEndpoint) | ||||||
|                 { |                 { | ||||||
|                     foreach (var basketItem in basketItems) |                     foreach (var basketItem in basketItems) | ||||||
|                     { |                     { | ||||||
|                         MatchCollection serverResult = IpRegex.Matches(basketItem.PictureUrl); |                         MatchCollection serverResult = IpRegex.Matches(basketItem.PictureUrl); | ||||||
|                         MatchCollection localResult = IpRegex.Matches(Settings.UrlBase); |                         MatchCollection localResult = IpRegex.Matches(_settingsService.UrlBase); | ||||||
| 
 | 
 | ||||||
|                         if (serverResult.Count != -1 && localResult.Count != -1) |                         if (serverResult.Count != -1 && localResult.Count != -1) | ||||||
|                         { |                         { | ||||||
| @ -78,7 +86,7 @@ namespace eShopOnContainers.Core.Helpers | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public static void FixCampaignItemPictureUri(IEnumerable<CampaignItem> campaignItems) |         public void FixCampaignItemPictureUri(IEnumerable<CampaignItem> campaignItems) | ||||||
|         { |         { | ||||||
|             if (campaignItems == null) |             if (campaignItems == null) | ||||||
|             { |             { | ||||||
| @ -88,12 +96,12 @@ namespace eShopOnContainers.Core.Helpers | |||||||
|             try |             try | ||||||
|             { |             { | ||||||
|                 if (!ViewModelLocator.UseMockService |                 if (!ViewModelLocator.UseMockService | ||||||
|                     && Settings.UrlBase != GlobalSetting.DefaultEndpoint) |                     && _settingsService.UrlBase != GlobalSetting.DefaultEndpoint) | ||||||
|                 { |                 { | ||||||
|                     foreach (var campaignItem in campaignItems) |                     foreach (var campaignItem in campaignItems) | ||||||
|                     { |                     { | ||||||
|                         MatchCollection serverResult = IpRegex.Matches(campaignItem.PictureUri); |                         MatchCollection serverResult = IpRegex.Matches(campaignItem.PictureUri); | ||||||
|                         MatchCollection localResult = IpRegex.Matches(Settings.UrlBase); |                         MatchCollection localResult = IpRegex.Matches(_settingsService.UrlBase); | ||||||
| 
 | 
 | ||||||
|                         if (serverResult.Count != -1 && localResult.Count != -1) |                         if (serverResult.Count != -1 && localResult.Count != -1) | ||||||
|                         { |                         { | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | using System.Collections.Generic; | ||||||
|  | using eShopOnContainers.Core.Models.Basket; | ||||||
|  | using eShopOnContainers.Core.Models.Catalog; | ||||||
|  | using eShopOnContainers.Core.Models.Marketing; | ||||||
|  | 
 | ||||||
|  | namespace eShopOnContainers.Core.Services.FixUri | ||||||
|  | { | ||||||
|  |     public interface IFixUriService | ||||||
|  |     { | ||||||
|  |         void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems); | ||||||
|  |         void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems); | ||||||
|  |         void FixCampaignItemPictureUri(IEnumerable<CampaignItem> campaignItems); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | using System; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Linq; | ||||||
|  | using System.Net; | ||||||
|  | 
 | ||||||
|  | namespace eShopOnContainers.Core.Services.Identity | ||||||
|  | { | ||||||
|  |     public class AuthorizeRequest | ||||||
|  |     { | ||||||
|  |         readonly Uri _authorizeEndpoint; | ||||||
|  | 
 | ||||||
|  |         public AuthorizeRequest(string authorizeEndpoint) | ||||||
|  |         { | ||||||
|  |             _authorizeEndpoint = new Uri(authorizeEndpoint); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string Create(IDictionary<string, string> values) | ||||||
|  |         { | ||||||
|  |             var queryString = string.Join("&", values.Select(kvp => string.Format("{0}={1}", WebUtility.UrlEncode(kvp.Key), WebUtility.UrlEncode(kvp.Value))).ToArray()); | ||||||
|  |             return string.Format("{0}?{1}", _authorizeEndpoint.AbsoluteUri, queryString); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -7,7 +7,6 @@ using eShopOnContainers.Core.Services.RequestProvider; | |||||||
| using eShopOnContainers.Core.Models.Token; | using eShopOnContainers.Core.Models.Token; | ||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Helpers; | ||||||
| using IdentityModel; | using IdentityModel; | ||||||
| using IdentityModel.Client; |  | ||||||
| using PCLCrypto; | using PCLCrypto; | ||||||
| using static PCLCrypto.WinRTCrypto; | using static PCLCrypto.WinRTCrypto; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,10 +1,9 @@ | |||||||
| namespace eShopOnContainers.Core.Services.Location | using System.Threading.Tasks; | ||||||
| { |  | ||||||
|     using System.Threading.Tasks; |  | ||||||
|     using Models.Location; |  | ||||||
| 
 | 
 | ||||||
|  | namespace eShopOnContainers.Core.Services.Location | ||||||
|  | {     | ||||||
|     public interface ILocationService |     public interface ILocationService | ||||||
|     { |     { | ||||||
|         Task UpdateUserLocation(Location newLocReq, string token); |         Task UpdateUserLocation(eShopOnContainers.Core.Models.Location.Location newLocReq, string token); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1,10 +1,9 @@ | |||||||
| namespace eShopOnContainers.Core.Services.Location | using System; | ||||||
| { | using System.Threading.Tasks; | ||||||
|     using System; | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
|     using System.Threading.Tasks; |  | ||||||
|     using Models.Location; |  | ||||||
|     using RequestProvider; |  | ||||||
| 
 | 
 | ||||||
|  | namespace eShopOnContainers.Core.Services.Location | ||||||
|  | { | ||||||
|     public class LocationService : ILocationService |     public class LocationService : ILocationService | ||||||
|     { |     { | ||||||
|         private readonly IRequestProvider _requestProvider; |         private readonly IRequestProvider _requestProvider; | ||||||
| @ -14,7 +13,7 @@ | |||||||
|             _requestProvider = requestProvider; |             _requestProvider = requestProvider; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public async Task UpdateUserLocation(Location newLocReq, string token) |         public async Task UpdateUserLocation(eShopOnContainers.Core.Models.Location.Location newLocReq, string token) | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.LocationEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.LocationEndpoint); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,9 +1,9 @@ | |||||||
| using System; | using eShopOnContainers.Core.Models.Marketing; | ||||||
|  | using System; | ||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| using System.Threading.Tasks; |  | ||||||
| using System.Linq; | using System.Linq; | ||||||
|  | using System.Threading.Tasks; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using eShopOnContainers.Core.Models.Marketing; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.Marketing | namespace eShopOnContainers.Core.Services.Marketing | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,37 +1,35 @@ | |||||||
| using System; | using eShopOnContainers.Core.Extensions; | ||||||
|  | using eShopOnContainers.Core.Models.Marketing; | ||||||
|  | using eShopOnContainers.Core.Services.FixUri; | ||||||
|  | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
|  | using System; | ||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using eShopOnContainers.Core.Models.Marketing; |  | ||||||
| using eShopOnContainers.Core.Services.RequestProvider; |  | ||||||
| using eShopOnContainers.Core.Extensions; |  | ||||||
| using eShopOnContainers.Core.Helpers; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.Marketing | namespace eShopOnContainers.Core.Services.Marketing | ||||||
| { | { | ||||||
|     public class CampaignService : ICampaignService |     public class CampaignService : ICampaignService | ||||||
|     { |     { | ||||||
|         private readonly IRequestProvider _requestProvider; |         private readonly IRequestProvider _requestProvider; | ||||||
|  |         private readonly IFixUriService _fixUriService; | ||||||
| 
 | 
 | ||||||
|         public CampaignService(IRequestProvider requestProvider) |         public CampaignService(IRequestProvider requestProvider, IFixUriService fixUriService) | ||||||
|         { |         { | ||||||
|             _requestProvider = requestProvider; |             _requestProvider = requestProvider; | ||||||
|  |             _fixUriService = fixUriService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string token) |         public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string token) | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint); | ||||||
| 
 |  | ||||||
|             builder.Path = "api/v1/campaigns/user"; |             builder.Path = "api/v1/campaigns/user"; | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 | 
 | ||||||
|             CampaignRoot campaign = |             CampaignRoot campaign = await _requestProvider.GetAsync<CampaignRoot>(uri, token); | ||||||
|                 await _requestProvider.GetAsync<CampaignRoot>(uri, token); |  | ||||||
| 
 | 
 | ||||||
|             if (campaign?.Data != null) |             if (campaign?.Data != null) | ||||||
|             { |             { | ||||||
|                 ServicesHelper.FixCampaignItemPictureUri(campaign?.Data); |                 _fixUriService.FixCampaignItemPictureUri(campaign?.Data); | ||||||
| 
 |  | ||||||
|                 return campaign?.Data.ToObservableCollection(); |                 return campaign?.Data.ToObservableCollection(); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
| @ -41,11 +39,8 @@ namespace eShopOnContainers.Core.Services.Marketing | |||||||
|         public async Task<CampaignItem> GetCampaignByIdAsync(int campaignId, string token) |         public async Task<CampaignItem> GetCampaignByIdAsync(int campaignId, string token) | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint); | ||||||
| 
 |  | ||||||
|             builder.Path = $"api/v1/campaigns/{campaignId}"; |             builder.Path = $"api/v1/campaigns/{campaignId}"; | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 |  | ||||||
|             return await _requestProvider.GetAsync<CampaignItem>(uri, token); |             return await _requestProvider.GetAsync<CampaignItem>(uri, token); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| using System.Collections.ObjectModel; | using eShopOnContainers.Core.Models.Marketing; | ||||||
|  | using System.Collections.ObjectModel; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using eShopOnContainers.Core.Models.Marketing; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.Marketing | namespace eShopOnContainers.Core.Services.Marketing | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.ViewModels; | using eShopOnContainers.Core.ViewModels; | ||||||
| using eShopOnContainers.Core.Views; |  | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using eShopOnContainers.Core.Views; | ||||||
| using System; | using System; | ||||||
| using System.Globalization; | using System.Globalization; | ||||||
| using System.Reflection; | using System.Reflection; | ||||||
| @ -12,6 +12,8 @@ namespace eShopOnContainers.Services | |||||||
| { | { | ||||||
|     public class NavigationService : INavigationService |     public class NavigationService : INavigationService | ||||||
|     { |     { | ||||||
|  |         private readonly ISettingsService _settingsService; | ||||||
|  | 
 | ||||||
|         public ViewModelBase PreviousPageViewModel |         public ViewModelBase PreviousPageViewModel | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
| @ -22,9 +24,14 @@ namespace eShopOnContainers.Services | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         public NavigationService(ISettingsService settingsService) | ||||||
|  |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         public Task InitializeAsync() |         public Task InitializeAsync() | ||||||
|         { |         { | ||||||
|             if(string.IsNullOrEmpty(Settings.AuthAccessToken)) |             if (string.IsNullOrEmpty(_settingsService.AuthAccessToken)) | ||||||
|                 return NavigateToAsync<LoginViewModel>(); |                 return NavigateToAsync<LoginViewModel>(); | ||||||
|             else |             else | ||||||
|                 return NavigateToAsync<MainViewModel>(); |                 return NavigateToAsync<MainViewModel>(); | ||||||
|  | |||||||
| @ -2,7 +2,6 @@ | |||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| namespace eShopOnContainers.Core.Services.Order | namespace eShopOnContainers.Core.Services.Order | ||||||
| { | { | ||||||
|     public interface IOrderService |     public interface IOrderService | ||||||
|  | |||||||
| @ -1,10 +1,9 @@ | |||||||
| using eShopOnContainers.Core.Models.Basket; | using eShopOnContainers.Core.Models.Basket; | ||||||
|  | using eShopOnContainers.Core.Models.Orders; | ||||||
| using eShopOnContainers.Core.Services.RequestProvider; | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
| using System; | using System; | ||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| using System.Net.Http; |  | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using eShopOnContainers.Core.Models.Orders; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.Order | namespace eShopOnContainers.Core.Services.Order | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,9 +1,5 @@ | |||||||
| using System; | using System; | ||||||
| using System.Collections.Generic; |  | ||||||
| using System.Linq; |  | ||||||
| using System.Net.Http; | using System.Net.Http; | ||||||
| using System.Text; |  | ||||||
| using System.Threading.Tasks; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.RequestProvider | namespace eShopOnContainers.Core.Services.RequestProvider | ||||||
| { | { | ||||||
|  | |||||||
| @ -2,11 +2,11 @@ | |||||||
| using Newtonsoft.Json; | using Newtonsoft.Json; | ||||||
| using Newtonsoft.Json.Converters; | using Newtonsoft.Json.Converters; | ||||||
| using Newtonsoft.Json.Serialization; | using Newtonsoft.Json.Serialization; | ||||||
|  | using System; | ||||||
| using System.Net; | using System.Net; | ||||||
| using System.Net.Http; | using System.Net.Http; | ||||||
| using System.Net.Http.Headers; | using System.Net.Http.Headers; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using System; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.RequestProvider | namespace eShopOnContainers.Core.Services.RequestProvider | ||||||
| { | { | ||||||
|  | |||||||
| @ -0,0 +1,14 @@ | |||||||
|  | namespace eShopOnContainers.Core.Services.Settings | ||||||
|  | { | ||||||
|  |     public interface ISettingsService | ||||||
|  |     { | ||||||
|  |         string AuthAccessToken { get; set; } | ||||||
|  |         string AuthIdToken { get; set; } | ||||||
|  |         bool UseMocks { get; set; } | ||||||
|  |         string UrlBase { get; set; } | ||||||
|  |         bool UseFakeLocation { get; set; } | ||||||
|  |         string Latitude { get; set; } | ||||||
|  |         string Longitude { get; set; } | ||||||
|  |         bool AllowGpsLocation { get; set; } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | namespace eShopOnContainers.Core.Services.Settings | ||||||
|  | { | ||||||
|  |     public interface ISettingsServiceImplementation | ||||||
|  |     { | ||||||
|  |         bool GetValueOrDefault(string key, bool defaultValue); | ||||||
|  |         string GetValueOrDefault(string key, string defaultValue); | ||||||
|  | 
 | ||||||
|  |         bool AddOrUpdateValue(string key, bool value); | ||||||
|  |         bool AddOrUpdateValue(string key, string value); | ||||||
|  | 
 | ||||||
|  |         void Remove(string key); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,88 @@ | |||||||
|  | using eShopOnContainers.Core.Services.Dependency; | ||||||
|  | 
 | ||||||
|  | namespace eShopOnContainers.Core.Services.Settings | ||||||
|  | { | ||||||
|  |     public class SettingsService : ISettingsService | ||||||
|  |     { | ||||||
|  |         private readonly ISettingsServiceImplementation _settingsService; | ||||||
|  | 
 | ||||||
|  |         ISettingsServiceImplementation AppSettings | ||||||
|  |         { | ||||||
|  |             get { return _settingsService; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public SettingsService(IDependencyService dependencyService) | ||||||
|  |         { | ||||||
|  |             _settingsService = dependencyService.Get<ISettingsServiceImplementation>(); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         #region Setting Constants | ||||||
|  | 
 | ||||||
|  |         private const string AccessToken = "access_token"; | ||||||
|  |         private const string IdToken = "id_token"; | ||||||
|  |         private const string IdUseMocks = "use_mocks"; | ||||||
|  |         private const string IdUrlBase = "url_base"; | ||||||
|  |         private const string IdUseFakeLocation = "use_fake_location"; | ||||||
|  |         private const string IdLatitude = "latitude"; | ||||||
|  |         private const string IdLongitude = "longitude"; | ||||||
|  |         private const string IdAllowGpsLocation = "allow_gps_location"; | ||||||
|  |         private readonly string AccessTokenDefault = string.Empty; | ||||||
|  |         private readonly string IdTokenDefault = string.Empty; | ||||||
|  |         private readonly bool UseMocksDefault = true; | ||||||
|  |         private readonly bool UseFakeLocationDefault = false; | ||||||
|  |         private readonly bool AllowGpsLocationDefault = false; | ||||||
|  |         private readonly double FakeLatitudeDefault = 47.604610d; | ||||||
|  |         private readonly double FakeLongitudeDefault = -122.315752d; | ||||||
|  |         private readonly string UrlBaseDefault = GlobalSetting.Instance.BaseEndpoint; | ||||||
|  | 
 | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         public string AuthAccessToken | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(AccessToken, AccessTokenDefault); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(AccessToken, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string AuthIdToken | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdToken, IdTokenDefault); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdToken, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool UseMocks | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdUseMocks, UseMocksDefault); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdUseMocks, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string UrlBase | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdUrlBase, UrlBaseDefault); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdUrlBase, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool UseFakeLocation | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdUseFakeLocation, UseFakeLocationDefault); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdUseFakeLocation, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string Latitude | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdLatitude, FakeLatitudeDefault.ToString()); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdLatitude, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string Longitude | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdLongitude, FakeLongitudeDefault.ToString()); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdLongitude, value); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool AllowGpsLocation | ||||||
|  |         { | ||||||
|  |             get => AppSettings.GetValueOrDefault(IdAllowGpsLocation, AllowGpsLocationDefault); | ||||||
|  |             set => AppSettings.AddOrUpdateValue(IdAllowGpsLocation, value); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -1,5 +1,5 @@ | |||||||
| using System; | using eShopOnContainers.Core.Models.User; | ||||||
| using eShopOnContainers.Core.Models.User; | using System; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.User | namespace eShopOnContainers.Core.Services.User | ||||||
| @ -29,7 +29,6 @@ namespace eShopOnContainers.Core.Services.User | |||||||
|         public async Task<UserInfo> GetUserInfoAsync(string authToken) |         public async Task<UserInfo> GetUserInfoAsync(string authToken) | ||||||
|         { |         { | ||||||
|             await Task.Delay(500); |             await Task.Delay(500); | ||||||
| 
 |  | ||||||
|             return MockUserInfo; |             return MockUserInfo; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| using eShopOnContainers.Core.Services.RequestProvider; | using eShopOnContainers.Core.Models.User; | ||||||
|  | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
| using System; | using System; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using eShopOnContainers.Core.Models.User; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Services.User | namespace eShopOnContainers.Core.Services.User | ||||||
| { | { | ||||||
| @ -17,12 +17,8 @@ namespace eShopOnContainers.Core.Services.User | |||||||
|         public async Task<UserInfo> GetUserInfoAsync(string authToken) |         public async Task<UserInfo> GetUserInfoAsync(string authToken) | ||||||
|         { |         { | ||||||
|             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.UserInfoEndpoint); |             UriBuilder builder = new UriBuilder(GlobalSetting.Instance.UserInfoEndpoint); | ||||||
| 
 |  | ||||||
|             string uri = builder.ToString(); |             string uri = builder.ToString(); | ||||||
| 
 |             var userInfo = await _requestProvider.GetAsync<UserInfo>(uri, authToken); | ||||||
|             var userInfo = |  | ||||||
|                 await _requestProvider.GetAsync<UserInfo>(uri, authToken); |  | ||||||
| 
 |  | ||||||
|             return userInfo; |             return userInfo; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
							
								
								
									
										4303
									
								
								src/Mobile/eShopOnContainers/eShopOnContainers.Core/TinyIoC/TinyIoC.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @ -1,4 +1,4 @@ | |||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Services; | using eShopOnContainers.Services; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| 
 | 
 | ||||||
| @ -29,7 +29,7 @@ namespace eShopOnContainers.Core.ViewModels.Base | |||||||
|         { |         { | ||||||
|             DialogService = ViewModelLocator.Resolve<IDialogService>(); |             DialogService = ViewModelLocator.Resolve<IDialogService>(); | ||||||
|             NavigationService = ViewModelLocator.Resolve<INavigationService>(); |             NavigationService = ViewModelLocator.Resolve<INavigationService>(); | ||||||
|             GlobalSetting.Instance.BaseEndpoint = Settings.UrlBase; |             GlobalSetting.Instance.BaseEndpoint = ViewModelLocator.Resolve<ISettingsService>().UrlBase; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public virtual Task InitializeAsync(object navigationData) |         public virtual Task InitializeAsync(object navigationData) | ||||||
|  | |||||||
| @ -1,24 +1,27 @@ | |||||||
| using Autofac; | using eShopOnContainers.Core.Services.Basket; | ||||||
|  | using eShopOnContainers.Core.Services.Catalog; | ||||||
|  | using eShopOnContainers.Core.Services.Dependency; | ||||||
|  | using eShopOnContainers.Core.Services.FixUri; | ||||||
|  | using eShopOnContainers.Core.Services.Identity; | ||||||
|  | using eShopOnContainers.Core.Services.Location; | ||||||
|  | using eShopOnContainers.Core.Services.Marketing; | ||||||
|  | using eShopOnContainers.Core.Services.OpenUrl; | ||||||
|  | using eShopOnContainers.Core.Services.Order; | ||||||
|  | using eShopOnContainers.Core.Services.RequestProvider; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Core.Services.User; | ||||||
| using eShopOnContainers.Services; | using eShopOnContainers.Services; | ||||||
| using System; | using System; | ||||||
| using System.Globalization; | using System.Globalization; | ||||||
| using System.Reflection; | using System.Reflection; | ||||||
| using eShopOnContainers.Core.Services.Catalog; | using TinyIoC; | ||||||
| using eShopOnContainers.Core.Services.OpenUrl; |  | ||||||
| using eShopOnContainers.Core.Services.RequestProvider; |  | ||||||
| using eShopOnContainers.Core.Services.Basket; |  | ||||||
| using eShopOnContainers.Core.Services.Identity; |  | ||||||
| using eShopOnContainers.Core.Services.Order; |  | ||||||
| using eShopOnContainers.Core.Services.User; |  | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using eShopOnContainers.Core.Services.Location; |  | ||||||
| using eShopOnContainers.Core.Services.Marketing; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels.Base | namespace eShopOnContainers.Core.ViewModels.Base | ||||||
| { | { | ||||||
|     public static class ViewModelLocator |     public static class ViewModelLocator | ||||||
|     { |     { | ||||||
| 		private static IContainer _container; |         private static TinyIoCContainer _container; | ||||||
| 
 | 
 | ||||||
|         public static readonly BindableProperty AutoWireViewModelProperty = |         public static readonly BindableProperty AutoWireViewModelProperty = | ||||||
|             BindableProperty.CreateAttached("AutoWireViewModel", typeof(bool), typeof(ViewModelLocator), default(bool), propertyChanged: OnAutoWireViewModelChanged); |             BindableProperty.CreateAttached("AutoWireViewModel", typeof(bool), typeof(ViewModelLocator), default(bool), propertyChanged: OnAutoWireViewModelChanged); | ||||||
| @ -35,59 +38,70 @@ namespace eShopOnContainers.Core.ViewModels.Base | |||||||
| 
 | 
 | ||||||
|         public static bool UseMockService { get; set; } |         public static bool UseMockService { get; set; } | ||||||
| 
 | 
 | ||||||
| 		public static void RegisterDependencies(bool useMockServices) |         static ViewModelLocator() | ||||||
|         { |         { | ||||||
| 			var builder = new ContainerBuilder(); |             _container = new TinyIoCContainer(); | ||||||
| 
 | 
 | ||||||
|             // View models |             // View models | ||||||
| 			builder.RegisterType<BasketViewModel>(); |             _container.Register<BasketViewModel>(); | ||||||
| 			builder.RegisterType<CatalogViewModel>(); |             _container.Register<CatalogViewModel>(); | ||||||
| 			builder.RegisterType<CheckoutViewModel>(); |             _container.Register<CheckoutViewModel>(); | ||||||
| 			builder.RegisterType<LoginViewModel>(); |             _container.Register<LoginViewModel>(); | ||||||
| 			builder.RegisterType<MainViewModel>(); |             _container.Register<MainViewModel>(); | ||||||
| 			builder.RegisterType<OrderDetailViewModel>(); |             _container.Register<OrderDetailViewModel>(); | ||||||
| 			builder.RegisterType<ProfileViewModel>(); |             _container.Register<ProfileViewModel>(); | ||||||
| 			builder.RegisterType<SettingsViewModel>(); |             _container.Register<SettingsViewModel>(); | ||||||
| 		    builder.RegisterType<CampaignViewModel>(); |             _container.Register<CampaignViewModel>(); | ||||||
| 		    builder.RegisterType<CampaignDetailsViewModel>(); |             _container.Register<CampaignDetailsViewModel>(); | ||||||
| 
 | 
 | ||||||
|             // Services |             // Services | ||||||
|             builder.RegisterType<NavigationService>().As<INavigationService>().SingleInstance(); |             _container.Register<INavigationService, NavigationService>().AsSingleton(); | ||||||
| 			builder.RegisterType<DialogService>().As<IDialogService>(); |             _container.Register<IDialogService, DialogService>(); | ||||||
| 			builder.RegisterType<OpenUrlService>().As<IOpenUrlService>(); |             _container.Register<IOpenUrlService, OpenUrlService>(); | ||||||
| 			builder.RegisterType<IdentityService>().As<IIdentityService>(); |             _container.Register<IIdentityService, IdentityService>(); | ||||||
| 			builder.RegisterType<RequestProvider>().As<IRequestProvider>(); |             _container.Register<IRequestProvider, RequestProvider>(); | ||||||
|             builder.RegisterType<LocationService>().As<ILocationService>().SingleInstance(); |             _container.Register<IDependencyService, Services.Dependency.DependencyService>(); | ||||||
|  |             _container.Register<ISettingsService, SettingsService>().AsSingleton(); | ||||||
|  |             _container.Register<IFixUriService, FixUriService>().AsSingleton(); | ||||||
|  |             _container.Register<ILocationService, LocationService>().AsSingleton(); | ||||||
|  |             _container.Register<ICatalogService, CatalogMockService>().AsSingleton(); | ||||||
|  |             _container.Register<IBasketService, BasketMockService>().AsSingleton(); | ||||||
|  |             _container.Register<IOrderService, OrderMockService>().AsSingleton(); | ||||||
|  |             _container.Register<IUserService, UserMockService>().AsSingleton(); | ||||||
|  |             _container.Register<ICampaignService, CampaignMockService>().AsSingleton(); | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|  |         public static void UpdateDependencies(bool useMockServices) | ||||||
|  |         { | ||||||
|  |             // Change injected dependencies | ||||||
|             if (useMockServices) |             if (useMockServices) | ||||||
|             { |             { | ||||||
| 				builder.RegisterInstance(new CatalogMockService()).As<ICatalogService>(); |                 _container.Register<ICatalogService, CatalogMockService>().AsSingleton(); | ||||||
| 				builder.RegisterInstance(new BasketMockService()).As<IBasketService>(); |                 _container.Register<IBasketService, BasketMockService>().AsSingleton(); | ||||||
| 				builder.RegisterInstance(new OrderMockService()).As<IOrderService>(); |                 _container.Register<IOrderService, OrderMockService>().AsSingleton(); | ||||||
| 				builder.RegisterInstance(new UserMockService()).As<IUserService>(); |                 _container.Register<IUserService, UserMockService>().AsSingleton(); | ||||||
| 			    builder.RegisterInstance(new CampaignMockService()).As<ICampaignService>(); |                 _container.Register<ICampaignService, CampaignMockService>().AsSingleton(); | ||||||
| 
 | 
 | ||||||
|                 UseMockService = true; |                 UseMockService = true; | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
| 				builder.RegisterType<CatalogService>().As<ICatalogService>().SingleInstance(); |                 _container.Register<ICatalogService, CatalogService>().AsSingleton(); | ||||||
| 				builder.RegisterType<BasketService>().As<IBasketService>().SingleInstance(); |                 _container.Register<IBasketService, BasketService>().AsSingleton(); | ||||||
| 				builder.RegisterType<OrderService>().As<IOrderService>().SingleInstance(); |                 _container.Register<IOrderService, OrderService>().AsSingleton(); | ||||||
| 				builder.RegisterType<UserService>().As<IUserService>().SingleInstance(); |                 _container.Register<IUserService, UserService>().AsSingleton(); | ||||||
| 			    builder.RegisterType<CampaignService>().As<ICampaignService>().SingleInstance(); |                 _container.Register<ICampaignService, CampaignService>().AsSingleton(); | ||||||
| 
 | 
 | ||||||
|                 UseMockService = false; |                 UseMockService = false; | ||||||
|             } |             } | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
| 			if (_container != null) |         public static void RegisterSingleton<TInterface, T>() where TInterface : class where T : class, TInterface | ||||||
|         { |         { | ||||||
| 				_container.Dispose(); |             _container.Register<TInterface, T>().AsSingleton(); | ||||||
| 			} |  | ||||||
| 			_container = builder.Build(); |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 		public static T Resolve<T>() |         public static T Resolve<T>() where T : class | ||||||
|         { |         { | ||||||
|             return _container.Resolve<T>(); |             return _container.Resolve<T>(); | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Models.Basket; | ||||||
| using eShopOnContainers.Core.Models.Basket; |  | ||||||
| using eShopOnContainers.Core.Models.Catalog; | using eShopOnContainers.Core.Models.Catalog; | ||||||
| using eShopOnContainers.Core.Services.Basket; | using eShopOnContainers.Core.Services.Basket; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.Services.User; | using eShopOnContainers.Core.Services.User; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| @ -18,13 +18,16 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         private ObservableCollection<BasketItem> _basketItems; |         private ObservableCollection<BasketItem> _basketItems; | ||||||
|         private decimal _total; |         private decimal _total; | ||||||
| 
 | 
 | ||||||
|  |         private ISettingsService _settingsService; | ||||||
|         private IBasketService _basketService; |         private IBasketService _basketService; | ||||||
|         private IUserService _userService; |         private IUserService _userService; | ||||||
| 
 | 
 | ||||||
|         public BasketViewModel( |         public BasketViewModel( | ||||||
|  |             ISettingsService settingsService, | ||||||
|             IBasketService basketService, |             IBasketService basketService, | ||||||
|             IUserService userService) |             IUserService userService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _basketService = basketService; |             _basketService = basketService; | ||||||
|             _userService = userService; |             _userService = userService; | ||||||
|         } |         } | ||||||
| @ -68,7 +71,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|             if (BasketItems == null) |             if (BasketItems == null) | ||||||
|                 BasketItems = new ObservableCollection<BasketItem>(); |                 BasketItems = new ObservableCollection<BasketItem>(); | ||||||
| 
 | 
 | ||||||
|             var authToken = Settings.AuthAccessToken; |             var authToken = _settingsService.AuthAccessToken; | ||||||
|             var userInfo = await _userService.GetUserInfoAsync(authToken); |             var userInfo = await _userService.GetUserInfoAsync(authToken); | ||||||
| 
 | 
 | ||||||
|             // Update Basket |             // Update Basket | ||||||
| @ -114,16 +117,13 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         private async Task AddItemAsync(BasketItem item) |         private async Task AddItemAsync(BasketItem item) | ||||||
|         { |         { | ||||||
|             BadgeCount++; |             BadgeCount++; | ||||||
| 
 |  | ||||||
|             await AddBasketItemAsync(item); |             await AddBasketItemAsync(item); | ||||||
| 
 |  | ||||||
|             RaisePropertyChanged(() => BasketItems); |             RaisePropertyChanged(() => BasketItems); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private async Task AddBasketItemAsync(BasketItem item) |         private async Task AddBasketItemAsync(BasketItem item) | ||||||
|         { |         { | ||||||
|             BasketItems.Add(item); |             BasketItems.Add(item); | ||||||
| 
 |  | ||||||
|             await ReCalculateTotalAsync(); |             await ReCalculateTotalAsync(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -141,7 +141,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                 Total += (orderItem.Quantity * orderItem.UnitPrice); |                 Total += (orderItem.Quantity * orderItem.UnitPrice); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             var authToken = Settings.AuthAccessToken; |             var authToken = _settingsService.AuthAccessToken; | ||||||
|             var userInfo = await _userService.GetUserInfoAsync(authToken); |             var userInfo = await _userService.GetUserInfoAsync(authToken); | ||||||
| 
 | 
 | ||||||
|             await _basketService.UpdateBasketAsync(new CustomerBasket |             await _basketService.UpdateBasketAsync(new CustomerBasket | ||||||
|  | |||||||
| @ -1,21 +1,26 @@ | |||||||
| using System.Threading.Tasks; | using eShopOnContainers.Core.Models.Marketing; | ||||||
|  | using eShopOnContainers.Core.Services.Marketing; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using System.Threading.Tasks; | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; |  | ||||||
| using eShopOnContainers.Core.Helpers; |  | ||||||
| using eShopOnContainers.Core.Models.Marketing; |  | ||||||
| using eShopOnContainers.Core.Services.Marketing; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
|     public class CampaignDetailsViewModel : ViewModelBase |     public class CampaignDetailsViewModel : ViewModelBase | ||||||
|     { |     { | ||||||
|         private CampaignItem _campaign; |         private readonly ISettingsService _settingsService; | ||||||
|         private bool _isDetailsSite; |  | ||||||
|         private readonly ICampaignService _campaignService; |         private readonly ICampaignService _campaignService; | ||||||
| 
 | 
 | ||||||
|         public CampaignDetailsViewModel(ICampaignService campaignService) |         private CampaignItem _campaign; | ||||||
|  |         private bool _isDetailsSite; | ||||||
|  | 
 | ||||||
|  |         public ICommand EnableDetailsSiteCommand => new Command(EnableDetailsSite); | ||||||
|  | 
 | ||||||
|  |         public CampaignDetailsViewModel(ISettingsService settingsService, ICampaignService campaignService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _campaignService = campaignService; |             _campaignService = campaignService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -44,16 +49,12 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|             if (navigationData is int) |             if (navigationData is int) | ||||||
|             { |             { | ||||||
|                 IsBusy = true; |                 IsBusy = true; | ||||||
| 
 |  | ||||||
|                 // Get campaign by id |                 // Get campaign by id | ||||||
|                 Campaign = await _campaignService.GetCampaignByIdAsync((int)navigationData, Settings.AuthAccessToken); |                 Campaign = await _campaignService.GetCampaignByIdAsync((int)navigationData, _settingsService.AuthAccessToken); | ||||||
| 
 |  | ||||||
|                 IsBusy = false; |                 IsBusy = false; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public ICommand EnableDetailsSiteCommand => new Command(EnableDetailsSite); |  | ||||||
| 
 |  | ||||||
|         private void EnableDetailsSite() |         private void EnableDetailsSite() | ||||||
|         { |         { | ||||||
|             IsDetailsSite = true; |             IsDetailsSite = true; | ||||||
|  | |||||||
| @ -1,21 +1,24 @@ | |||||||
| using System.Threading.Tasks; | using eShopOnContainers.Core.Models.Marketing; | ||||||
|  | using eShopOnContainers.Core.Services.Marketing; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using System.Collections.ObjectModel; | ||||||
|  | using System.Threading.Tasks; | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using System.Collections.ObjectModel; |  | ||||||
| using eShopOnContainers.Core.Models.Marketing; |  | ||||||
| using eShopOnContainers.Core.Services.Marketing; |  | ||||||
| using eShopOnContainers.Core.ViewModels.Base; |  | ||||||
| using eShopOnContainers.Core.Helpers; |  | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
|     public class CampaignViewModel : ViewModelBase |     public class CampaignViewModel : ViewModelBase | ||||||
|     { |     { | ||||||
|         private ObservableCollection<CampaignItem> _campaigns; |         private readonly ISettingsService _settingsService; | ||||||
|         private readonly ICampaignService _campaignService; |         private readonly ICampaignService _campaignService; | ||||||
| 
 | 
 | ||||||
|         public CampaignViewModel(ICampaignService campaignService) |         private ObservableCollection<CampaignItem> _campaigns; | ||||||
|  | 
 | ||||||
|  |         public CampaignViewModel(ISettingsService settingsService, ICampaignService campaignService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _campaignService = campaignService; |             _campaignService = campaignService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -34,10 +37,8 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         public override async Task InitializeAsync(object navigationData) |         public override async Task InitializeAsync(object navigationData) | ||||||
|         { |         { | ||||||
|             IsBusy = true; |             IsBusy = true; | ||||||
| 
 |  | ||||||
|             // Get campaigns by user |             // Get campaigns by user | ||||||
|             Campaigns = await _campaignService.GetAllCampaignsAsync(Settings.AuthAccessToken); |             Campaigns = await _campaignService.GetAllCampaignsAsync(_settingsService.AuthAccessToken); | ||||||
| 
 |  | ||||||
|             IsBusy = false; |             IsBusy = false; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,10 +1,10 @@ | |||||||
| using System.Threading.Tasks; | using eShopOnContainers.Core.Models.Catalog; | ||||||
|  | using eShopOnContainers.Core.Services.Catalog; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| using Xamarin.Forms; | using System.Threading.Tasks; | ||||||
| using eShopOnContainers.Core.Models.Catalog; |  | ||||||
| using eShopOnContainers.Core.Services.Catalog; |  | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
|  | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,18 +1,18 @@ | |||||||
| using eShopOnContainers.Core.Models.Navigation; | using eShopOnContainers.Core.Models.Basket; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.Models.Navigation; | ||||||
| using System.Windows.Input; |  | ||||||
| using Xamarin.Forms; |  | ||||||
| using System.Threading.Tasks; |  | ||||||
| using eShopOnContainers.Core.Models.Orders; | using eShopOnContainers.Core.Models.Orders; | ||||||
| using System; | using eShopOnContainers.Core.Models.User; | ||||||
| using System.Collections.ObjectModel; |  | ||||||
| using eShopOnContainers.Core.Models.Basket; |  | ||||||
| using System.Collections.Generic; |  | ||||||
| using eShopOnContainers.Core.Services.Basket; | using eShopOnContainers.Core.Services.Basket; | ||||||
| using eShopOnContainers.Core.Services.Order; | using eShopOnContainers.Core.Services.Order; | ||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.Services.User; | using eShopOnContainers.Core.Services.User; | ||||||
| using eShopOnContainers.Core.Models.User; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using System; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Collections.ObjectModel; | ||||||
|  | using System.Threading.Tasks; | ||||||
|  | using System.Windows.Input; | ||||||
|  | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
| @ -22,15 +22,18 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         private Order _order; |         private Order _order; | ||||||
|         private Address _shippingAddress; |         private Address _shippingAddress; | ||||||
| 
 | 
 | ||||||
|  |         private ISettingsService _settingsService; | ||||||
|         private IBasketService _basketService; |         private IBasketService _basketService; | ||||||
|         private IOrderService _orderService; |         private IOrderService _orderService; | ||||||
|         private IUserService _userService; |         private IUserService _userService; | ||||||
| 
 | 
 | ||||||
|         public CheckoutViewModel( |         public CheckoutViewModel( | ||||||
|  |             ISettingsService settingsService, | ||||||
|             IBasketService basketService, |             IBasketService basketService, | ||||||
|             IOrderService orderService, |             IOrderService orderService, | ||||||
|             IUserService userService) |             IUserService userService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _basketService = basketService; |             _basketService = basketService; | ||||||
|             _orderService = orderService; |             _orderService = orderService; | ||||||
|             _userService = userService; |             _userService = userService; | ||||||
| @ -79,7 +82,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|                 OrderItems = orderItems; |                 OrderItems = orderItems; | ||||||
| 
 | 
 | ||||||
|                 var authToken = Settings.AuthAccessToken;        |                 var authToken = _settingsService.AuthAccessToken; | ||||||
|                 var userInfo = await _userService.GetUserInfoAsync(authToken); |                 var userInfo = await _userService.GetUserInfoAsync(authToken); | ||||||
| 
 | 
 | ||||||
|                 // Create Shipping Address |                 // Create Shipping Address | ||||||
| @ -122,7 +125,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                     Total = CalculateTotal(CreateOrderItems(orderItems)) |                     Total = CalculateTotal(CreateOrderItems(orderItems)) | ||||||
|                 }; |                 }; | ||||||
| 
 | 
 | ||||||
|                 if (Settings.UseMocks) |                 if (_settingsService.UseMocks) | ||||||
|                 { |                 { | ||||||
|                     // Get number of orders |                     // Get number of orders | ||||||
|                     var orders = await _orderService.GetOrdersAsync(authToken); |                     var orders = await _orderService.GetOrdersAsync(authToken); | ||||||
| @ -140,7 +143,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         { |         { | ||||||
|             try |             try | ||||||
|             { |             { | ||||||
|                 var authToken = Settings.AuthAccessToken; |                 var authToken = _settingsService.AuthAccessToken; | ||||||
| 
 | 
 | ||||||
|                 var basket = _orderService.MapOrderToBasket(Order); |                 var basket = _orderService.MapOrderToBasket(Order); | ||||||
|                 basket.RequestId = Guid.NewGuid(); |                 basket.RequestId = Guid.NewGuid(); | ||||||
| @ -148,7 +151,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                 // Create basket checkout |                 // Create basket checkout | ||||||
|                 await _basketService.CheckoutAsync(basket, authToken); |                 await _basketService.CheckoutAsync(basket, authToken); | ||||||
| 
 | 
 | ||||||
|                 if (Settings.UseMocks) |                 if (_settingsService.UseMocks) | ||||||
|                 { |                 { | ||||||
|                     await _orderService.CreateOrderAsync(Order, authToken); |                     await _orderService.CreateOrderAsync(Order, authToken); | ||||||
|                 } |                 } | ||||||
| @ -201,7 +204,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         { |         { | ||||||
|             decimal total = 0; |             decimal total = 0; | ||||||
| 
 | 
 | ||||||
|             foreach(var orderItem in orderItems) |             foreach (var orderItem in orderItems) | ||||||
|             { |             { | ||||||
|                 total += (orderItem.Quantity * orderItem.UnitPrice); |                 total += (orderItem.Quantity * orderItem.UnitPrice); | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| using eShopOnContainers.Core.Helpers; | using eShopOnContainers.Core.Models.User; | ||||||
| using eShopOnContainers.Core.Models.User; |  | ||||||
| using eShopOnContainers.Core.Services.Identity; | using eShopOnContainers.Core.Services.Identity; | ||||||
| using eShopOnContainers.Core.Services.OpenUrl; | using eShopOnContainers.Core.Services.OpenUrl; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.Validations; | using eShopOnContainers.Core.Validations; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using IdentityModel.Client; | using IdentityModel.Client; | ||||||
| @ -22,13 +22,16 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         private bool _isLogin; |         private bool _isLogin; | ||||||
|         private string _authUrl; |         private string _authUrl; | ||||||
| 
 | 
 | ||||||
|  |         private ISettingsService _settingsService; | ||||||
|         private IOpenUrlService _openUrlService; |         private IOpenUrlService _openUrlService; | ||||||
|         private IIdentityService _identityService; |         private IIdentityService _identityService; | ||||||
| 
 | 
 | ||||||
|         public LoginViewModel( |         public LoginViewModel( | ||||||
|  |             ISettingsService settingsService, | ||||||
|             IOpenUrlService openUrlService, |             IOpenUrlService openUrlService, | ||||||
|             IIdentityService identityService) |             IIdentityService identityService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _openUrlService = openUrlService; |             _openUrlService = openUrlService; | ||||||
|             _identityService = identityService; |             _identityService = identityService; | ||||||
| 
 | 
 | ||||||
| @ -133,7 +136,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|         public override Task InitializeAsync(object navigationData) |         public override Task InitializeAsync(object navigationData) | ||||||
|         { |         { | ||||||
|             if(navigationData is LogoutParameter) |             if (navigationData is LogoutParameter) | ||||||
|             { |             { | ||||||
|                 var logoutParameter = (LogoutParameter)navigationData; |                 var logoutParameter = (LogoutParameter)navigationData; | ||||||
| 
 | 
 | ||||||
| @ -173,7 +176,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|             if (isAuthenticated) |             if (isAuthenticated) | ||||||
|             { |             { | ||||||
|                 Settings.AuthAccessToken = GlobalSetting.Instance.AuthToken; |                 _settingsService.AuthAccessToken = GlobalSetting.Instance.AuthToken; | ||||||
| 
 | 
 | ||||||
|                 await NavigationService.NavigateToAsync<MainViewModel>(); |                 await NavigationService.NavigateToAsync<MainViewModel>(); | ||||||
|                 await NavigationService.RemoveLastFromBackStackAsync(); |                 await NavigationService.RemoveLastFromBackStackAsync(); | ||||||
| @ -202,7 +205,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|         private void Logout() |         private void Logout() | ||||||
|         { |         { | ||||||
|             var authIdToken = Settings.AuthIdToken; |             var authIdToken = _settingsService.AuthIdToken; | ||||||
|             var logoutRequest = _identityService.CreateLogoutRequest(authIdToken); |             var logoutRequest = _identityService.CreateLogoutRequest(authIdToken); | ||||||
| 
 | 
 | ||||||
|             if (!string.IsNullOrEmpty(logoutRequest)) |             if (!string.IsNullOrEmpty(logoutRequest)) | ||||||
| @ -211,13 +214,13 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                 LoginUrl = logoutRequest; |                 LoginUrl = logoutRequest; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (Settings.UseMocks) |             if (_settingsService.UseMocks) | ||||||
|             { |             { | ||||||
|                 Settings.AuthAccessToken = string.Empty; |                 _settingsService.AuthAccessToken = string.Empty; | ||||||
|                 Settings.AuthIdToken = string.Empty;  |                 _settingsService.AuthIdToken = string.Empty; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             Settings.UseFakeLocation = false; |             _settingsService.UseFakeLocation = false; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private async Task NavigateAsync(string url) |         private async Task NavigateAsync(string url) | ||||||
| @ -226,8 +229,8 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|             if (unescapedUrl.Equals(GlobalSetting.Instance.LogoutCallback)) |             if (unescapedUrl.Equals(GlobalSetting.Instance.LogoutCallback)) | ||||||
|             { |             { | ||||||
|                 Settings.AuthAccessToken = string.Empty; |                 _settingsService.AuthAccessToken = string.Empty; | ||||||
|                 Settings.AuthIdToken = string.Empty; |                 _settingsService.AuthIdToken = string.Empty; | ||||||
|                 IsLogin = false; |                 IsLogin = false; | ||||||
|                 LoginUrl = _identityService.CreateAuthorizationRequest(); |                 LoginUrl = _identityService.CreateAuthorizationRequest(); | ||||||
|             } |             } | ||||||
| @ -241,8 +244,8 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|                     if (!string.IsNullOrWhiteSpace(accessToken)) |                     if (!string.IsNullOrWhiteSpace(accessToken)) | ||||||
|                     { |                     { | ||||||
|                         Settings.AuthAccessToken = accessToken; |                         _settingsService.AuthAccessToken = accessToken; | ||||||
|                         Settings.AuthIdToken = authResponse.IdentityToken; |                         _settingsService.AuthIdToken = authResponse.IdentityToken; | ||||||
|                         await NavigationService.NavigateToAsync<MainViewModel>(); |                         await NavigationService.NavigateToAsync<MainViewModel>(); | ||||||
|                         await NavigationService.RemoveLastFromBackStackAsync(); |                         await NavigationService.RemoveLastFromBackStackAsync(); | ||||||
|                     } |                     } | ||||||
| @ -281,7 +284,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|         public void InvalidateMock() |         public void InvalidateMock() | ||||||
|         { |         { | ||||||
|             IsMock = Settings.UseMocks; |             IsMock = _settingsService.UseMocks; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1,8 +1,8 @@ | |||||||
| using System.Threading.Tasks; | using eShopOnContainers.Core.Models.Navigation; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using eShopOnContainers.Core.Models.Navigation; | using System.Threading.Tasks; | ||||||
| using Xamarin.Forms; |  | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
|  | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,23 +1,25 @@ | |||||||
| using System.Threading.Tasks; | using eShopOnContainers.Core.Models.Orders; | ||||||
| using eShopOnContainers.Core.Models.Orders; |  | ||||||
| using eShopOnContainers.Core.ViewModels.Base; |  | ||||||
| using eShopOnContainers.Core.Services.Order; | using eShopOnContainers.Core.Services.Order; | ||||||
| using System; | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using System.Threading.Tasks; | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
| using eShopOnContainers.Core.Helpers; |  | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
|     public class OrderDetailViewModel : ViewModelBase |     public class OrderDetailViewModel : ViewModelBase | ||||||
|     { |     { | ||||||
|  |         private readonly ISettingsService _settingsService; | ||||||
|         private readonly IOrderService _ordersService; |         private readonly IOrderService _ordersService; | ||||||
|  | 
 | ||||||
|         private Order _order; |         private Order _order; | ||||||
|         private bool _isSubmittedOrder; |         private bool _isSubmittedOrder; | ||||||
|         private string _orderStatusText; |         private string _orderStatusText; | ||||||
| 
 | 
 | ||||||
|         public OrderDetailViewModel(IOrderService ordersService) |         public OrderDetailViewModel(ISettingsService settingsService, IOrderService ordersService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _ordersService = ordersService; |             _ordersService = ordersService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -63,7 +65,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                 var order = navigationData as Order; |                 var order = navigationData as Order; | ||||||
| 
 | 
 | ||||||
|                 // Get order detail info |                 // Get order detail info | ||||||
|                 var authToken = Settings.AuthAccessToken; |                 var authToken = _settingsService.AuthAccessToken; | ||||||
|                 Order = await _ordersService.GetOrderAsync(order.OrderNumber, authToken); |                 Order = await _ordersService.GetOrderAsync(order.OrderNumber, authToken); | ||||||
|                 IsSubmittedOrder = Order.OrderStatus == OrderStatus.Submitted; |                 IsSubmittedOrder = Order.OrderStatus == OrderStatus.Submitted; | ||||||
|                 OrderStatusText = Order.OrderStatus.ToString().ToUpper(); |                 OrderStatusText = Order.OrderStatus.ToString().ToUpper(); | ||||||
| @ -74,7 +76,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|         private async Task ToggleCancelOrderAsync() |         private async Task ToggleCancelOrderAsync() | ||||||
|         { |         { | ||||||
|             var authToken = Settings.AuthAccessToken; |             var authToken = _settingsService.AuthAccessToken; | ||||||
| 
 | 
 | ||||||
|             var result = await _ordersService.CancelOrderAsync(_order.OrderNumber, authToken); |             var result = await _ordersService.CancelOrderAsync(_order.OrderNumber, authToken); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,8 +1,8 @@ | |||||||
| using eShopOnContainers.Core.Extensions; | using eShopOnContainers.Core.Extensions; | ||||||
| using eShopOnContainers.Core.Helpers; |  | ||||||
| using eShopOnContainers.Core.Models.Orders; | using eShopOnContainers.Core.Models.Orders; | ||||||
| using eShopOnContainers.Core.Models.User; | using eShopOnContainers.Core.Models.User; | ||||||
| using eShopOnContainers.Core.Services.Order; | using eShopOnContainers.Core.Services.Order; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| @ -13,12 +13,13 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| { | { | ||||||
|     public class ProfileViewModel : ViewModelBase |     public class ProfileViewModel : ViewModelBase | ||||||
|     { |     { | ||||||
|  |         private readonly ISettingsService _settingsService; | ||||||
|  |         private readonly IOrderService _orderService; | ||||||
|         private ObservableCollection<Order> _orders; |         private ObservableCollection<Order> _orders; | ||||||
| 
 | 
 | ||||||
|         private IOrderService _orderService; |         public ProfileViewModel(ISettingsService settingsService, IOrderService orderService) | ||||||
| 
 |  | ||||||
|         public ProfileViewModel(IOrderService orderService) |  | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _orderService = orderService; |             _orderService = orderService; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -41,7 +42,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|             IsBusy = true; |             IsBusy = true; | ||||||
| 
 | 
 | ||||||
|             // Get orders |             // Get orders | ||||||
|             var authToken = Settings.AuthAccessToken; |             var authToken = _settingsService.AuthAccessToken; | ||||||
|             var orders = await _orderService.GetOrdersAsync(authToken); |             var orders = await _orderService.GetOrdersAsync(authToken); | ||||||
|             Orders = orders.ToObservableCollection(); |             Orders = orders.ToObservableCollection(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,17 +1,16 @@ | |||||||
| using System.Globalization; | using eShopOnContainers.Core.Models.Location; | ||||||
|  | using eShopOnContainers.Core.Models.User; | ||||||
|  | using eShopOnContainers.Core.Services.Location; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Core.ViewModels.Base; | ||||||
|  | using Plugin.Geolocator; | ||||||
|  | using System.Globalization; | ||||||
|  | using System.Threading.Tasks; | ||||||
|  | using System.Windows.Input; | ||||||
|  | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.ViewModels | namespace eShopOnContainers.Core.ViewModels | ||||||
| { | { | ||||||
|     using System.Windows.Input; |  | ||||||
|     using Xamarin.Forms; |  | ||||||
|     using System.Threading.Tasks; |  | ||||||
|     using Helpers; |  | ||||||
|     using Models.User; |  | ||||||
|     using Base; |  | ||||||
|     using Models.Location; |  | ||||||
|     using Services.Location; |  | ||||||
|     using Plugin.Geolocator; |  | ||||||
| 
 |  | ||||||
|     public class SettingsViewModel : ViewModelBase |     public class SettingsViewModel : ViewModelBase | ||||||
|     { |     { | ||||||
|         private string _titleUseAzureServices; |         private string _titleUseAzureServices; | ||||||
| @ -28,18 +27,20 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         private double _longitude; |         private double _longitude; | ||||||
|         private string _gpsWarningMessage; |         private string _gpsWarningMessage; | ||||||
| 
 | 
 | ||||||
|  |         private readonly ISettingsService _settingsService; | ||||||
|         private readonly ILocationService _locationService; |         private readonly ILocationService _locationService; | ||||||
| 
 | 
 | ||||||
|         public SettingsViewModel(ILocationService locationService) |         public SettingsViewModel(ISettingsService settingsService, ILocationService locationService) | ||||||
|         { |         { | ||||||
|  |             _settingsService = settingsService; | ||||||
|             _locationService = locationService; |             _locationService = locationService; | ||||||
| 
 | 
 | ||||||
|             _useAzureServices = !Settings.UseMocks; |             _useAzureServices = !_settingsService.UseMocks; | ||||||
|             _endpoint = Settings.UrlBase; |             _endpoint = _settingsService.UrlBase; | ||||||
|             _latitude = double.Parse(Settings.Latitude, CultureInfo.CurrentCulture); |             _latitude = double.Parse(_settingsService.Latitude, CultureInfo.CurrentCulture); | ||||||
|             _longitude = double.Parse(Settings.Longitude, CultureInfo.CurrentCulture); |             _longitude = double.Parse(_settingsService.Longitude, CultureInfo.CurrentCulture); | ||||||
|             _useFakeLocation = Settings.UseFakeLocation; |             _useFakeLocation = _settingsService.UseFakeLocation; | ||||||
|             _allowGpsLocation = Settings.AllowGpsLocation; |             _allowGpsLocation = _settingsService.AllowGpsLocation; | ||||||
|             _gpsWarningMessage = string.Empty; |             _gpsWarningMessage = string.Empty; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -146,7 +147,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|             { |             { | ||||||
|                 _endpoint = value; |                 _endpoint = value; | ||||||
| 
 | 
 | ||||||
|                 if(!string.IsNullOrEmpty(_endpoint)) |                 if (!string.IsNullOrEmpty(_endpoint)) | ||||||
|                 { |                 { | ||||||
|                     UpdateEndpoint(); |                     UpdateEndpoint(); | ||||||
|                 } |                 } | ||||||
| @ -194,7 +195,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public bool UserIsLogged => !string.IsNullOrEmpty(Settings.AuthAccessToken); |         public bool UserIsLogged => !string.IsNullOrEmpty(_settingsService.AuthAccessToken); | ||||||
| 
 | 
 | ||||||
|         public ICommand ToggleMockServicesCommand => new Command(async () => await ToggleMockServicesAsync()); |         public ICommand ToggleMockServicesCommand => new Command(async () => await ToggleMockServicesAsync()); | ||||||
| 
 | 
 | ||||||
| @ -215,7 +216,7 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|         private async Task ToggleMockServicesAsync() |         private async Task ToggleMockServicesAsync() | ||||||
|         { |         { | ||||||
| 			ViewModelLocator.RegisterDependencies(!UseAzureServices); |             ViewModelLocator.UpdateDependencies(!UseAzureServices); | ||||||
|             UpdateInfoUseAzureServices(); |             UpdateInfoUseAzureServices(); | ||||||
| 
 | 
 | ||||||
|             var previousPageViewModel = NavigationService.PreviousPageViewModel; |             var previousPageViewModel = NavigationService.PreviousPageViewModel; | ||||||
| @ -227,8 +228,9 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                     await Task.Delay(1000); |                     await Task.Delay(1000); | ||||||
|                     if (UseAzureServices) |                     if (UseAzureServices) | ||||||
|                     { |                     { | ||||||
| 						Settings.AuthAccessToken = string.Empty; |                         _settingsService.AuthAccessToken = string.Empty; | ||||||
| 						Settings.AuthIdToken = string.Empty; |                         _settingsService.AuthIdToken = string.Empty; | ||||||
|  | 
 | ||||||
|                         await NavigationService.NavigateToAsync<LoginViewModel>(new LogoutParameter { Logout = true }); |                         await NavigationService.NavigateToAsync<LoginViewModel>(new LogoutParameter { Logout = true }); | ||||||
|                         await NavigationService.RemoveBackStackAsync(); |                         await NavigationService.RemoveBackStackAsync(); | ||||||
|                     } |                     } | ||||||
| @ -238,20 +240,20 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
| 
 | 
 | ||||||
|         private void ToggleFakeLocationAsync() |         private void ToggleFakeLocationAsync() | ||||||
|         { |         { | ||||||
|             ViewModelLocator.RegisterDependencies(!UseAzureServices); |             ViewModelLocator.UpdateDependencies(!UseAzureServices); | ||||||
|             UpdateInfoFakeLocation(); |             UpdateInfoFakeLocation(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private async Task ToggleSendLocationAsync() |         private async Task ToggleSendLocationAsync() | ||||||
|         { |         { | ||||||
|             if (!Settings.UseMocks) |             if (!_settingsService.UseMocks) | ||||||
|             { |             { | ||||||
|                 var locationRequest = new Location |                 var locationRequest = new Location | ||||||
|                 { |                 { | ||||||
|                     Latitude = _latitude, |                     Latitude = _latitude, | ||||||
|                     Longitude = _longitude |                     Longitude = _longitude | ||||||
|                 }; |                 }; | ||||||
|                 var authToken = Settings.AuthAccessToken; |                 var authToken = _settingsService.AuthAccessToken; | ||||||
| 
 | 
 | ||||||
|                 await _locationService.UpdateUserLocation(locationRequest, authToken); |                 await _locationService.UpdateUserLocation(locationRequest, authToken); | ||||||
|             } |             } | ||||||
| @ -310,30 +312,30 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|         private void UpdateUseAzureServices() |         private void UpdateUseAzureServices() | ||||||
|         { |         { | ||||||
|             // Save use mocks services to local storage |             // Save use mocks services to local storage | ||||||
|             Settings.UseMocks = !_useAzureServices; |             _settingsService.UseMocks = !_useAzureServices; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void UpdateEndpoint() |         private void UpdateEndpoint() | ||||||
|         { |         { | ||||||
|             // Update remote endpoint (save to local storage) |             // Update remote endpoint (save to local storage) | ||||||
|             GlobalSetting.Instance.BaseEndpoint = Settings.UrlBase = _endpoint; |             GlobalSetting.Instance.BaseEndpoint = _settingsService.UrlBase = _endpoint; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void UpdateFakeLocation() |         private void UpdateFakeLocation() | ||||||
|         { |         { | ||||||
|             Settings.UseFakeLocation = _useFakeLocation; |             _settingsService.UseFakeLocation = _useFakeLocation; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void UpdateLatitude() |         private void UpdateLatitude() | ||||||
|         { |         { | ||||||
|             // Update fake latitude (save to local storage) |             // Update fake latitude (save to local storage) | ||||||
|             Settings.Latitude = _latitude.ToString(); |             _settingsService.Latitude = _latitude.ToString(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void UpdateLongitude() |         private void UpdateLongitude() | ||||||
|         { |         { | ||||||
|             // Update fake longitude (save to local storage) |             // Update fake longitude (save to local storage) | ||||||
|             Settings.Longitude = _longitude.ToString(); |             _settingsService.Longitude = _longitude.ToString(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void UpdateAllowGpsLocation() |         private void UpdateAllowGpsLocation() | ||||||
| @ -348,13 +350,13 @@ namespace eShopOnContainers.Core.ViewModels | |||||||
|                 } |                 } | ||||||
|                 else |                 else | ||||||
|                 { |                 { | ||||||
|                     Settings.AllowGpsLocation = _allowGpsLocation; |                     _settingsService.AllowGpsLocation = _allowGpsLocation; | ||||||
|                     GpsWarningMessage = string.Empty; |                     GpsWarningMessage = string.Empty; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|                 Settings.AllowGpsLocation = _allowGpsLocation; |                 _settingsService.AllowGpsLocation = _allowGpsLocation; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,8 +1,8 @@ | |||||||
| using System; | using eShopOnContainers.Core.ViewModels; | ||||||
| using SlideOverKit; |  | ||||||
| using Xamarin.Forms; |  | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using eShopOnContainers.Core.ViewModels; | using SlideOverKit; | ||||||
|  | using System; | ||||||
|  | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Core.Views | namespace eShopOnContainers.Core.Views | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,11 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <configuration> |  | ||||||
|   <runtime> |  | ||||||
|     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |  | ||||||
|       <dependentAssembly> |  | ||||||
|         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> |  | ||||||
|         <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> |  | ||||||
|       </dependentAssembly> |  | ||||||
|     </assemblyBinding> |  | ||||||
|   </runtime> |  | ||||||
| </configuration> |  | ||||||
| @ -1,277 +1,18 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <Project Sdk="Microsoft.NET.Sdk"> | ||||||
| <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 
 | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |     <TargetFramework>netstandard2.0</TargetFramework> | ||||||
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |  | ||||||
|     <ProjectGuid>{BA96A12C-4EE3-46C4-BB3F-F811B554CD01}</ProjectGuid> |  | ||||||
|     <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> |  | ||||||
|     <UseMSBuildEngine>true</UseMSBuildEngine> |  | ||||||
|     <OutputType>Library</OutputType> |  | ||||||
|     <RootNamespace>eShopOnContainers.Core</RootNamespace> |  | ||||||
|     <AssemblyName>eShopOnContainers.Core</AssemblyName> |  | ||||||
|     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> |  | ||||||
|     <TargetFrameworkProfile>Profile111</TargetFrameworkProfile> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |  | ||||||
|     <DebugSymbols>true</DebugSymbols> |  | ||||||
|     <DebugType>full</DebugType> |  | ||||||
|     <Optimize>false</Optimize> |  | ||||||
|     <OutputPath>bin\Debug</OutputPath> |  | ||||||
|     <DefineConstants>DEBUG;</DefineConstants> |  | ||||||
|     <ErrorReport>prompt</ErrorReport> |  | ||||||
|     <WarningLevel>4</WarningLevel> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |  | ||||||
|     <Optimize>true</Optimize> |  | ||||||
|     <OutputPath>bin\Release</OutputPath> |  | ||||||
|     <ErrorReport>prompt</ErrorReport> |  | ||||||
|     <WarningLevel>4</WarningLevel> |  | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  | 
 | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> |     <PackageReference Include="System.ComponentModel.Annotations" Version="4.4.1" /> | ||||||
|     <Compile Include="App.xaml.cs"> |     <PackageReference Include="Acr.UserDialogs" Version="6.5.1" /> | ||||||
|       <DependentUpon>App.xaml</DependentUpon> |     <PackageReference Include="SlideOverKit" Version="2.1.5" /> | ||||||
|     </Compile> |     <PackageReference Include="Newtonsoft.Json" Version="10.0.3" /> | ||||||
|     <Compile Include="Animations\FadeToAnimation.cs" /> |     <PackageReference Include="PCLCrypto" Version="2.0.147" /> | ||||||
|     <Compile Include="Animations\StoryBoard.cs" /> |     <PackageReference Include="Xam.Plugin.Geolocator" Version="3.0.4" /> | ||||||
|     <Compile Include="Animations\Base\AnimationBase.cs" /> |     <PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.3.4" /> | ||||||
|     <Compile Include="Animations\Base\EasingType.cs" /> |     <PackageReference Include="Xamarin.Forms" Version="2.5.0.122203" /> | ||||||
|     <Compile Include="Controls\AddBasketButton.xaml.cs"> |     <PackageReference Include="IdentityModel" Version="3.0.0" /> | ||||||
|       <DependentUpon>AddBasketButton.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Controls\CustomTabbedPage.cs" /> |  | ||||||
|     <Compile Include="Controls\ToggleButton.cs" /> |  | ||||||
|     <Compile Include="Behaviors\EventToCommandBehavior.cs" /> |  | ||||||
|     <Compile Include="Behaviors\LineColorBehavior.cs" /> |  | ||||||
|     <Compile Include="Behaviors\Base\BindableBehavior.cs" /> |  | ||||||
|     <Compile Include="Converters\CountToBoolConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\DatetimeConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\DoubleConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\FirstValidationErrorConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\ImageConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\InverseBoolConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\InverseCountToBoolConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\ItemsToHeightConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\ItemTappedEventArgsConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\StringNullOrEmptyBoolConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\ToUpperConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\WebNavigatedEventArgsConverter.cs" /> |  | ||||||
|     <Compile Include="Converters\WebNavigatingEventArgsConverter.cs" /> |  | ||||||
|     <Compile Include="Helpers\EasingHelper.cs" /> |  | ||||||
|     <Compile Include="Helpers\RandomNumberGenerator.cs" /> |  | ||||||
|     <Compile Include="Helpers\ServicesHelper.cs" /> |  | ||||||
|     <Compile Include="Helpers\Settings.cs" /> |  | ||||||
|     <Compile Include="Views\Templates\BasketItemTemplate.xaml.cs"> |  | ||||||
|       <DependentUpon>BasketItemTemplate.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\Templates\CampaignTemplate.xaml.cs"> |  | ||||||
|       <DependentUpon>CampaignTemplate.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\Templates\OrderItemTemplate.xaml.cs"> |  | ||||||
|       <DependentUpon>OrderItemTemplate.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\Templates\OrderTemplate.xaml.cs"> |  | ||||||
|       <DependentUpon>OrderTemplate.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\Templates\ProductTemplate.xaml.cs"> |  | ||||||
|       <DependentUpon>ProductTemplate.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\BasketView.xaml.cs"> |  | ||||||
|       <DependentUpon>BasketView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\CampaignDetailsView.xaml.cs"> |  | ||||||
|       <DependentUpon>CampaignDetailsView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\CampaignView.xaml.cs"> |  | ||||||
|       <DependentUpon>CampaignView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\CatalogView.xaml.cs"> |  | ||||||
|       <DependentUpon>CatalogView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\CheckoutView.xaml.cs"> |  | ||||||
|       <DependentUpon>CheckoutView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\CustomNavigationView.xaml.cs"> |  | ||||||
|       <DependentUpon>CustomNavigationView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\FiltersView.xaml.cs"> |  | ||||||
|       <DependentUpon>FiltersView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\LoginView.xaml.cs"> |  | ||||||
|       <DependentUpon>LoginView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\MainView.xaml.cs"> |  | ||||||
|       <DependentUpon>MainView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\OrderDetailView.xaml.cs"> |  | ||||||
|       <DependentUpon>OrderDetailView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\ProfileView.xaml.cs"> |  | ||||||
|       <DependentUpon>ProfileView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Views\SettingsView.xaml.cs"> |  | ||||||
|       <DependentUpon>SettingsView.xaml</DependentUpon> |  | ||||||
|     </Compile> |  | ||||||
|     <Compile Include="Extensions\ObservableExtension.cs" /> |  | ||||||
|     <Compile Include="Exceptions\ServiceAuthenticationException.cs" /> |  | ||||||
|     <Compile Include="Models\Basket\BasketCheckout.cs" /> |  | ||||||
|     <Compile Include="Models\Basket\BasketItem.cs" /> |  | ||||||
|     <Compile Include="Models\Basket\CustomerBasket.cs" /> |  | ||||||
|     <Compile Include="Models\Catalog\CatalogBrand.cs" /> |  | ||||||
|     <Compile Include="Models\Catalog\CatalogItem.cs" /> |  | ||||||
|     <Compile Include="Models\Catalog\CatalogRoot.cs" /> |  | ||||||
|     <Compile Include="Models\Catalog\CatalogType.cs" /> |  | ||||||
|     <Compile Include="Models\Location\Location.cs" /> |  | ||||||
|     <Compile Include="Models\Marketing\Campaign.cs" /> |  | ||||||
|     <Compile Include="Models\Marketing\CampaignItem.cs" /> |  | ||||||
|     <Compile Include="Models\Marketing\CampaignRoot.cs" /> |  | ||||||
|     <Compile Include="Models\Navigation\TabParameter.cs" /> |  | ||||||
|     <Compile Include="Models\Orders\CancelOrderCommand.cs" /> |  | ||||||
|     <Compile Include="Models\Orders\CardType.cs" /> |  | ||||||
|     <Compile Include="Models\Orders\Order.cs" /> |  | ||||||
|     <Compile Include="Models\Orders\OrderItem.cs" /> |  | ||||||
|     <Compile Include="Models\Orders\OrderStatus.cs" /> |  | ||||||
|     <Compile Include="Models\Token\UserToken.cs" /> |  | ||||||
|     <Compile Include="Models\User\Address.cs" /> |  | ||||||
|     <Compile Include="Models\User\LogoutParameter.cs" /> |  | ||||||
|     <Compile Include="Models\User\PaymentInfo.cs" /> |  | ||||||
|     <Compile Include="Models\User\UserInfo.cs" /> |  | ||||||
|     <Compile Include="Triggers\BeginAnimation.cs" /> |  | ||||||
|     <Compile Include="Services\Basket\BasketMockService.cs" /> |  | ||||||
|     <Compile Include="Services\Basket\BasketService.cs" /> |  | ||||||
|     <Compile Include="Services\Basket\IBasketService.cs" /> |  | ||||||
|     <Compile Include="Services\Catalog\CatalogMockService.cs" /> |  | ||||||
|     <Compile Include="Services\Catalog\CatalogService.cs" /> |  | ||||||
|     <Compile Include="Services\Catalog\ICatalogService.cs" /> |  | ||||||
|     <Compile Include="Services\Common\Common.cs" /> |  | ||||||
|     <Compile Include="Services\Dialog\DialogService.cs" /> |  | ||||||
|     <Compile Include="Services\Dialog\IDialogService.cs" /> |  | ||||||
|     <Compile Include="Services\Identity\IdentityService.cs" /> |  | ||||||
|     <Compile Include="Services\Identity\IIdentityService.cs" /> |  | ||||||
|     <Compile Include="Services\Location\ILocationService.cs" /> |  | ||||||
|     <Compile Include="Services\Location\LocationService.cs" /> |  | ||||||
|     <Compile Include="Services\Marketing\CampaignMockService.cs" /> |  | ||||||
|     <Compile Include="Services\Marketing\CampaignService.cs" /> |  | ||||||
|     <Compile Include="Services\Marketing\ICampaignService.cs" /> |  | ||||||
|     <Compile Include="Services\Navigation\INavigationService.cs" /> |  | ||||||
|     <Compile Include="Services\Navigation\NavigationService.cs" /> |  | ||||||
|     <Compile Include="Services\OpenUrl\IOpenUrlService.cs" /> |  | ||||||
|     <Compile Include="Services\OpenUrl\OpenUrlService.cs" /> |  | ||||||
|     <Compile Include="Services\Order\IOrderService.cs" /> |  | ||||||
|     <Compile Include="Services\Order\OrderMockService.cs" /> |  | ||||||
|     <Compile Include="Services\Order\OrderService.cs" /> |  | ||||||
|     <Compile Include="Services\RequestProvider\HttpRequestExceptionEx.cs" /> |  | ||||||
|     <Compile Include="Services\RequestProvider\IRequestProvider.cs" /> |  | ||||||
|     <Compile Include="Services\RequestProvider\RequestProvider.cs" /> |  | ||||||
|     <Compile Include="Services\User\IUserService.cs" /> |  | ||||||
|     <Compile Include="Services\User\UserMockService.cs" /> |  | ||||||
|     <Compile Include="Services\User\UserService.cs" /> |  | ||||||
|     <Compile Include="ViewModels\Base\ExtendedBindableObject.cs" /> |  | ||||||
|     <Compile Include="ViewModels\Base\MessageKeys.cs" /> |  | ||||||
|     <Compile Include="ViewModels\Base\ViewModelBase.cs" /> |  | ||||||
|     <Compile Include="ViewModels\Base\ViewModelLocator.cs" /> |  | ||||||
|     <Compile Include="ViewModels\BasketViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\CampaignDetailsViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\CampaignViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\CatalogViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\CheckoutViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\LoginViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\MainViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\OrderDetailViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\ProfileViewModel.cs" /> |  | ||||||
|     <Compile Include="ViewModels\SettingsViewModel.cs" /> |  | ||||||
|     <Compile Include="Effects\EntryLineColorEffect.cs" /> |  | ||||||
|     <Compile Include="Effects\ThemeEffects.cs" /> |  | ||||||
|     <Compile Include="Validations\IsNotNullOrEmptyRule.cs" /> |  | ||||||
|     <Compile Include="Validations\IValidationRule.cs" /> |  | ||||||
|     <Compile Include="Validations\IValidity.cs" /> |  | ||||||
|     <Compile Include="Validations\ValidatableObject.cs" /> |  | ||||||
|     <Compile Include="GlobalSettings.cs" /> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |  | ||||||
|     <None Include="app.config" /> |  | ||||||
|     <None Include="project.json" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <EmbeddedResource Include="App.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Controls\AddBasketButton.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\Templates\BasketItemTemplate.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\Templates\CampaignTemplate.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\Templates\OrderItemTemplate.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\Templates\OrderTemplate.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\Templates\ProductTemplate.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\BasketView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\CampaignDetailsView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\CampaignView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\CatalogView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\SettingsView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\ProfileView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\OrderDetailView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\MainView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\LoginView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\FiltersView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\CustomNavigationView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|     <EmbeddedResource Include="Views\CheckoutView.xaml"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> |  | ||||||
|     </EmbeddedResource> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup /> |  | ||||||
|   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.3.4.270\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.3.4.270\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> |  | ||||||
| </Project> | </Project> | ||||||
| @ -1,24 +0,0 @@ | |||||||
| { |  | ||||||
|   "dependencies": { |  | ||||||
|     "Acr.UserDialogs": "6.3.3", |  | ||||||
|     "Autofac": "4.5.0", |  | ||||||
|     "IdentityModel": "1.3.1", |  | ||||||
|     "Microsoft.Bcl": "1.1.10", |  | ||||||
|     "Microsoft.Bcl.Build": "1.0.21", |  | ||||||
|     "Microsoft.Net.Http": "2.2.29", |  | ||||||
|     "modernhttpclient": "2.4.2", |  | ||||||
|     "Newtonsoft.Json": "9.0.1", |  | ||||||
|     "PCLCrypto": "2.0.147", |  | ||||||
|     "SlideOverKit": "2.1.4", |  | ||||||
|     "Splat": "1.6.2", |  | ||||||
|     "System.ComponentModel.Annotations": "4.3.0", |  | ||||||
|     "Xam.Plugin.Geolocator": "3.0.4", |  | ||||||
|     "Xam.Plugins.Settings": "2.6.0.12-beta", |  | ||||||
|     "Xamarin.FFImageLoading": "2.2.9", |  | ||||||
|     "Xamarin.FFImageLoading.Forms": "2.2.9", |  | ||||||
|     "Xamarin.Forms": "2.5.0.91635" |  | ||||||
|   }, |  | ||||||
|   "frameworks": { |  | ||||||
|     ".NETPortable,Version=v4.5,Profile=Profile111": {} |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,15 +1,15 @@ | |||||||
| using Android.App; |  | ||||||
| using Android.OS; |  | ||||||
| using Android.Content.PM; |  | ||||||
| using Android.Views; |  | ||||||
| using Xamarin.Forms.Platform.Android; |  | ||||||
| using FFImageLoading.Forms.Droid; |  | ||||||
| using Acr.UserDialogs; | using Acr.UserDialogs; | ||||||
|  | using Android.App; | ||||||
| using Android.Content; | using Android.Content; | ||||||
|  | using Android.Content.PM; | ||||||
|  | using Android.OS; | ||||||
| using Android.Runtime; | using Android.Runtime; | ||||||
|  | using Android.Views; | ||||||
| using FFImageLoading; | using FFImageLoading; | ||||||
| using System; | using FFImageLoading.Forms.Droid; | ||||||
| using Plugin.Permissions; | using Plugin.Permissions; | ||||||
|  | using System; | ||||||
|  | using Xamarin.Forms.Platform.Android; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Droid.Activities | namespace eShopOnContainers.Droid.Activities | ||||||
| { | { | ||||||
| @ -34,7 +34,7 @@ namespace eShopOnContainers.Droid.Activities | |||||||
| 
 | 
 | ||||||
|             global::Xamarin.Forms.Forms.Init(this, bundle); |             global::Xamarin.Forms.Forms.Init(this, bundle); | ||||||
|             UserDialogs.Init(this); |             UserDialogs.Init(this); | ||||||
|             CachedImageRenderer.Init(); |             CachedImageRenderer.Init(false); | ||||||
|             LoadApplication(new App()); |             LoadApplication(new App()); | ||||||
| 
 | 
 | ||||||
|             Window window = this.Window; |             Window window = this.Window; | ||||||
| @ -56,6 +56,7 @@ namespace eShopOnContainers.Droid.Activities | |||||||
| 
 | 
 | ||||||
|         public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) |         public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) | ||||||
|         { |         { | ||||||
|  |             base.OnRequestPermissionsResult(requestCode, permissions, grantResults); | ||||||
|             PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults); |             PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,8 +1,8 @@ | |||||||
| using System; | using Android.Graphics; | ||||||
| using Xamarin.Forms; |  | ||||||
| using eShopOnContainers.Droid.Effects; |  | ||||||
| using Android.Views; | using Android.Views; | ||||||
| using Android.Graphics; | using eShopOnContainers.Droid.Effects; | ||||||
|  | using System; | ||||||
|  | using Xamarin.Forms; | ||||||
| 
 | 
 | ||||||
| [assembly: ExportEffect(typeof(CircleEffect), "CircleEffect")] | [assembly: ExportEffect(typeof(CircleEffect), "CircleEffect")] | ||||||
| namespace eShopOnContainers.Droid.Effects | namespace eShopOnContainers.Droid.Effects | ||||||
|  | |||||||
| @ -1,11 +1,10 @@ | |||||||
| using Xamarin.Forms; |  | ||||||
| using eShopOnContainers.Droid.Effects; |  | ||||||
| using Xamarin.Forms.Platform.Android; |  | ||||||
| using System; |  | ||||||
| using Android.Widget; | using Android.Widget; | ||||||
| using eShopOnContainers.Core.Behaviors; | using eShopOnContainers.Core.Behaviors; | ||||||
|  | using eShopOnContainers.Droid.Effects; | ||||||
|  | using System; | ||||||
| using System.ComponentModel; | using System.ComponentModel; | ||||||
| using System.Diagnostics; | using Xamarin.Forms; | ||||||
|  | using Xamarin.Forms.Platform.Android; | ||||||
| 
 | 
 | ||||||
| [assembly: ResolutionGroupName("eShopOnContainers")] | [assembly: ResolutionGroupName("eShopOnContainers")] | ||||||
| [assembly: ExportEffect(typeof(EntryLineColorEffect), "EntryLineColorEffect")] | [assembly: ExportEffect(typeof(EntryLineColorEffect), "EntryLineColorEffect")] | ||||||
| @ -52,7 +51,7 @@ namespace eShopOnContainers.Droid.Effects | |||||||
|             } |             } | ||||||
|             catch (Exception ex) |             catch (Exception ex) | ||||||
|             { |             { | ||||||
|                 Debug.WriteLine(ex.Message); |                 Console.WriteLine(ex.Message); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,44 +0,0 @@ | |||||||
| /* |  | ||||||
| // Helpers/Settings.cs This file was automatically added when you installed the Settings Plugin. If you are not using a PCL then comment this file back in to use it. |  | ||||||
| using Plugin.Settings; |  | ||||||
| using Plugin.Settings.Abstractions; |  | ||||||
| 
 |  | ||||||
| namespace eShopOnContainers.Droid.Helpers |  | ||||||
| { |  | ||||||
|   /// <summary> |  | ||||||
|   /// This is the Settings static class that can be used in your Core solution or in any |  | ||||||
|   /// of your client applications. All settings are laid out the same exact way with getters |  | ||||||
|   /// and setters.  |  | ||||||
|   /// </summary> |  | ||||||
|   public static class Settings |  | ||||||
|   { |  | ||||||
|     private static ISettings AppSettings |  | ||||||
|     { |  | ||||||
|       get |  | ||||||
|       { |  | ||||||
|         return CrossSettings.Current; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     #region Setting Constants |  | ||||||
| 
 |  | ||||||
|     private const string SettingsKey = "settings_key"; |  | ||||||
|     private static readonly string SettingsDefault = string.Empty; |  | ||||||
| 
 |  | ||||||
|     #endregion |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     public static string GeneralSettings |  | ||||||
|     { |  | ||||||
|       get |  | ||||||
|       { |  | ||||||
|         return AppSettings.GetValueOrDefault<string>(SettingsKey, SettingsDefault); |  | ||||||
|       } |  | ||||||
|       set |  | ||||||
|       { |  | ||||||
|         AppSettings.AddOrUpdateValue<string>(SettingsKey, value); |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|   } |  | ||||||
| }*/ |  | ||||||
| @ -1,8 +1,8 @@ | |||||||
| using System; |  | ||||||
| using Android.App; | using Android.App; | ||||||
| using Android.OS; | using Android.OS; | ||||||
| using Android.Runtime; | using Android.Runtime; | ||||||
| using Plugin.CurrentActivity; | using Plugin.CurrentActivity; | ||||||
|  | using System; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Droid | namespace eShopOnContainers.Droid | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,12 +1,12 @@ | |||||||
| using System; |  | ||||||
| using Android.Content; | using Android.Content; | ||||||
| using Android.Views; | using Android.Graphics; | ||||||
| using Android.Widget; |  | ||||||
| using Android.Graphics.Drawables; | using Android.Graphics.Drawables; | ||||||
| using Android.Views.Animations; |  | ||||||
| using Android.Graphics.Drawables.Shapes; | using Android.Graphics.Drawables.Shapes; | ||||||
| using Android.Util; | using Android.Util; | ||||||
| using Android.Graphics; | using Android.Views; | ||||||
|  | using Android.Views.Animations; | ||||||
|  | using Android.Widget; | ||||||
|  | using System; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.Droid.Renderers | namespace eShopOnContainers.Droid.Renderers | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,3 +1,4 @@ | |||||||
|  | using Android.Content; | ||||||
| using Android.Widget; | using Android.Widget; | ||||||
| using eShopOnContainers.Droid.Renderers; | using eShopOnContainers.Droid.Renderers; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| @ -8,6 +9,10 @@ namespace eShopOnContainers.Droid.Renderers | |||||||
| { | { | ||||||
|     public class CustomNavigationPageRenderer : NavigationPageRenderer |     public class CustomNavigationPageRenderer : NavigationPageRenderer | ||||||
|     { |     { | ||||||
|  |         public CustomNavigationPageRenderer(Context context) : base(context) | ||||||
|  |         { | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         protected override void OnLayout(bool changed, int l, int t, int r, int b) |         protected override void OnLayout(bool changed, int l, int t, int r, int b) | ||||||
|         { |         { | ||||||
|             base.OnLayout(changed, l, t, r, b); |             base.OnLayout(changed, l, t, r, b); | ||||||
|  | |||||||
| @ -1,17 +1,18 @@ | |||||||
|  | using Android.Content; | ||||||
|  | using Android.Graphics; | ||||||
|  | using Android.Support.Design.Widget; | ||||||
|  | using Android.Support.V4.View; | ||||||
|  | using Android.Views; | ||||||
|  | using Android.Widget; | ||||||
|  | using eShopOnContainers.Core.Controls; | ||||||
|  | using eShopOnContainers.Droid.Extensions; | ||||||
|  | using eShopOnContainers.Droid.Renderers; | ||||||
| using System; | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using Xamarin.Forms.Platform.Android.AppCompat; |  | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using Android.Support.Design.Widget; |  | ||||||
| using Android.Views; |  | ||||||
| using Android.Widget; |  | ||||||
| using Xamarin.Forms.Platform.Android; | using Xamarin.Forms.Platform.Android; | ||||||
| using eShopOnContainers.Droid.Extensions; | using Xamarin.Forms.Platform.Android.AppCompat; | ||||||
| using eShopOnContainers.Core.Controls; |  | ||||||
| using eShopOnContainers.Droid.Renderers; |  | ||||||
| using Android.Support.V4.View; |  | ||||||
| using Android.Graphics; |  | ||||||
| 
 | 
 | ||||||
| [assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))] | [assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))] | ||||||
| namespace eShopOnContainers.Droid.Renderers | namespace eShopOnContainers.Droid.Renderers | ||||||
| @ -26,6 +27,10 @@ namespace eShopOnContainers.Droid.Renderers | |||||||
|         private TabbedPage _tabbedPage; |         private TabbedPage _tabbedPage; | ||||||
|         private bool _firstTime = true; |         private bool _firstTime = true; | ||||||
| 
 | 
 | ||||||
|  |         public CustomTabbedPageRenderer(Context context) : base(context) | ||||||
|  |         { | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e) |         protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e) | ||||||
|         { |         { | ||||||
|             base.OnElementChanged(e); |             base.OnElementChanged(e); | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| using SlideOverKit.Droid; | using Android.Content; | ||||||
| using eShopOnContainers.Core.Views; | using eShopOnContainers.Core.Views; | ||||||
| using eShopOnContainers.Droid.Renderers; | using eShopOnContainers.Droid.Renderers; | ||||||
|  | using SlideOverKit.Droid; | ||||||
| using System; | using System; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
| using Xamarin.Forms.Platform.Android; | using Xamarin.Forms.Platform.Android; | ||||||
| @ -16,7 +17,7 @@ namespace eShopOnContainers.Droid.Renderers | |||||||
| 
 | 
 | ||||||
|         public Action<int, int, int, int> OnSizeChangedEvent { get; set; } |         public Action<int, int, int, int> OnSizeChangedEvent { get; set; } | ||||||
| 
 | 
 | ||||||
|         public SlideDownMenuPageRenderer() |         public SlideDownMenuPageRenderer(Context context) : base(context) | ||||||
|         { |         { | ||||||
|             new SlideOverKitDroidHandler().Init(this); |             new SlideOverKitDroidHandler().Init(this); | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -63,7 +63,6 @@ namespace eShopOnContainers.Droid | |||||||
| 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahText = global::eShopOnContainers.Droid.Resource.Styleable.ProgressWheel_ahText; | 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahText = global::eShopOnContainers.Droid.Resource.Styleable.ProgressWheel_ahText; | ||||||
| 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextColor = global::eShopOnContainers.Droid.Resource.Styleable.ProgressWheel_ahTextColor; | 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextColor = global::eShopOnContainers.Droid.Resource.Styleable.ProgressWheel_ahTextColor; | ||||||
| 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextSize = global::eShopOnContainers.Droid.Resource.Styleable.ProgressWheel_ahTextSize; | 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextSize = global::eShopOnContainers.Droid.Resource.Styleable.ProgressWheel_ahTextSize; | ||||||
| 			global::ModernHttpClient.Resource.String.library_name = global::eShopOnContainers.Droid.Resource.String.library_name; |  | ||||||
| 			global::PCLCrypto.Resource.String.ApplicationName = global::eShopOnContainers.Droid.Resource.String.ApplicationName; | 			global::PCLCrypto.Resource.String.ApplicationName = global::eShopOnContainers.Droid.Resource.String.ApplicationName; | ||||||
| 			global::PCLCrypto.Resource.String.Hello = global::eShopOnContainers.Droid.Resource.String.Hello; | 			global::PCLCrypto.Resource.String.Hello = global::eShopOnContainers.Droid.Resource.String.Hello; | ||||||
| 			global::Splat.Resource.String.library_name = global::eShopOnContainers.Droid.Resource.String.library_name; | 			global::Splat.Resource.String.library_name = global::eShopOnContainers.Droid.Resource.String.library_name; | ||||||
|  | |||||||
| @ -0,0 +1,149 @@ | |||||||
|  | using Android.App; | ||||||
|  | using Android.Content; | ||||||
|  | using Android.Preferences; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using eShopOnContainers.Droid.Services; | ||||||
|  | using System; | ||||||
|  | 
 | ||||||
|  | [assembly: Xamarin.Forms.Dependency(typeof(SettingsServiceImplementation))] | ||||||
|  | namespace eShopOnContainers.Droid.Services | ||||||
|  | { | ||||||
|  |     public class SettingsServiceImplementation : ISettingsServiceImplementation | ||||||
|  |     { | ||||||
|  |         #region Internal Implementation | ||||||
|  | 
 | ||||||
|  |         readonly object _locker = new object(); | ||||||
|  | 
 | ||||||
|  |         ISharedPreferences GetSharedPreference() | ||||||
|  |         { | ||||||
|  |             return PreferenceManager.GetDefaultSharedPreferences(Application.Context); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         bool AddOrUpdateValueInternal<T>(string key, T value) | ||||||
|  |         { | ||||||
|  |             if (Application.Context == null) | ||||||
|  |                 return false; | ||||||
|  | 
 | ||||||
|  |             if (value == null) | ||||||
|  |             { | ||||||
|  |                 Remove(key); | ||||||
|  |                 return true; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             var type = typeof(T); | ||||||
|  |             if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) | ||||||
|  |             { | ||||||
|  |                 type = Nullable.GetUnderlyingType(type); | ||||||
|  |             } | ||||||
|  |             var typeCode = Type.GetTypeCode(type); | ||||||
|  | 
 | ||||||
|  |             lock (_locker) | ||||||
|  |             { | ||||||
|  |                 using (var sharedPrefs = GetSharedPreference()) | ||||||
|  |                 { | ||||||
|  |                     using (var editor = sharedPrefs.Edit()) | ||||||
|  |                     { | ||||||
|  |                         switch (typeCode) | ||||||
|  |                         { | ||||||
|  |                             case TypeCode.Boolean: | ||||||
|  |                                 editor.PutBoolean(key, Convert.ToBoolean(value)); | ||||||
|  |                                 break; | ||||||
|  |                             case TypeCode.String: | ||||||
|  |                                 editor.PutString(key, Convert.ToString(value)); | ||||||
|  |                                 break; | ||||||
|  |                             default: | ||||||
|  |                                 throw new ArgumentException($"Value of type {typeCode} is not supported."); | ||||||
|  |                         } | ||||||
|  |                         editor.Commit(); | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             return true; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         T GetValueOrDefaultInternal<T>(string key, T defaultValue = default(T)) | ||||||
|  |         { | ||||||
|  |             if (Application.Context == null) | ||||||
|  |                 return defaultValue; | ||||||
|  | 
 | ||||||
|  |             if (!Contains(key)) | ||||||
|  |                 return defaultValue; | ||||||
|  | 
 | ||||||
|  |             lock (_locker) | ||||||
|  |             { | ||||||
|  |                 using (var sharedPrefs = GetSharedPreference()) | ||||||
|  |                 { | ||||||
|  |                     var type = typeof(T); | ||||||
|  |                     if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) | ||||||
|  |                     { | ||||||
|  |                         type = Nullable.GetUnderlyingType(type); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     object value = null; | ||||||
|  |                     var typeCode = Type.GetTypeCode(type); | ||||||
|  |                     switch (typeCode) | ||||||
|  |                     { | ||||||
|  |                         case TypeCode.Boolean: | ||||||
|  |                             value = sharedPrefs.GetBoolean(key, Convert.ToBoolean(defaultValue)); | ||||||
|  |                             break; | ||||||
|  |                         case TypeCode.String: | ||||||
|  |                             value = sharedPrefs.GetString(key, Convert.ToString(defaultValue)); | ||||||
|  |                             break; | ||||||
|  |                         default: | ||||||
|  |                             throw new ArgumentException($"Value of type {typeCode} is not supported."); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     return null != value ? (T)value : defaultValue; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         bool Contains(string key) | ||||||
|  |         { | ||||||
|  |             if (Application.Context == null) | ||||||
|  |                 return false; | ||||||
|  | 
 | ||||||
|  |             lock (_locker) | ||||||
|  |             { | ||||||
|  |                 using (var sharedPrefs = GetSharedPreference()) | ||||||
|  |                 { | ||||||
|  |                     if (sharedPrefs == null) | ||||||
|  |                         return false; | ||||||
|  |                     return sharedPrefs.Contains(key); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region ISettingsServiceImplementation | ||||||
|  | 
 | ||||||
|  |         public bool AddOrUpdateValue(string key, bool value) => AddOrUpdateValueInternal(key, value); | ||||||
|  | 
 | ||||||
|  |         public bool AddOrUpdateValue(string key, string value) => AddOrUpdateValueInternal(key, value); | ||||||
|  | 
 | ||||||
|  |         public bool GetValueOrDefault(string key, bool defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | ||||||
|  | 
 | ||||||
|  |         public string GetValueOrDefault(string key, string defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | ||||||
|  | 
 | ||||||
|  |         public void Remove(string key) | ||||||
|  |         { | ||||||
|  |             if (Application.Context == null) | ||||||
|  |                 return; | ||||||
|  | 
 | ||||||
|  |             lock (_locker) | ||||||
|  |             { | ||||||
|  |                 using (var sharedPrefs = GetSharedPreference()) | ||||||
|  |                 { | ||||||
|  |                     using (var editor = sharedPrefs.Edit()) | ||||||
|  |                     { | ||||||
|  |                         editor.Remove(key); | ||||||
|  |                         editor.Commit(); | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         #endregion | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -1,6 +1,7 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.props" Condition="Exists('..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.props')" /> | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||||
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||||||
| @ -44,6 +45,7 @@ | |||||||
|     <JavaMaximumHeapSize>1G</JavaMaximumHeapSize> |     <JavaMaximumHeapSize>1G</JavaMaximumHeapSize> | ||||||
|     <Debugger>Xamarin</Debugger> |     <Debugger>Xamarin</Debugger> | ||||||
|     <AndroidSupportedAbis>armeabi;armeabi-v7a;x86</AndroidSupportedAbis> |     <AndroidSupportedAbis>armeabi;armeabi-v7a;x86</AndroidSupportedAbis> | ||||||
|  |     <LangVersion>default</LangVersion> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||||||
|     <DebugType>pdbonly</DebugType> |     <DebugType>pdbonly</DebugType> | ||||||
| @ -56,189 +58,164 @@ | |||||||
|     <AndroidLinkMode>SdkOnly</AndroidLinkMode> |     <AndroidLinkMode>SdkOnly</AndroidLinkMode> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Reference Include="Acr.Support.Android, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\MonoAndroid10\Acr.Support.Android.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="AndHUD, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\AndHUD.1.2.0\lib\MonoAndroid\AndHUD.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.2.9\lib\MonoAndroid10\FFImageLoading.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.2.9\lib\MonoAndroid10\FFImageLoading.Platform.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="IdentityModel.Portable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\IdentityModel.1.3.1\lib\portable-net45+wp80+win8+wpa81\IdentityModel.Portable.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Microsoft.CSharp" /> |  | ||||||
|     <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\ModernHttpClient.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Mono.Android" /> |     <Reference Include="Mono.Android" /> | ||||||
|     <Reference Include="mscorlib" /> |     <Reference Include="mscorlib" /> | ||||||
|     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="OkHttp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\OkHttp.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PCLCrypto, Version=2.0.0.0, Culture=neutral, PublicKeyToken=d4421c8a4786956c, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\MonoAndroid23\PCLCrypto.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.BCrypt, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.Kernel32, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.NCrypt, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.Windows.Core, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.CurrentActivity, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Geolocator, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Geolocator.Abstractions, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Permissions, Version=1.1.6.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Plugin.Permissions.1.1.7\lib\MonoAndroid10\Plugin.Permissions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Permissions.Abstractions, Version=1.1.6.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Plugin.Permissions.1.1.7\lib\MonoAndroid10\Plugin.Permissions.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Settings, Version=2.6.0.12, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.2.6.0.12-beta\lib\MonoAndroid10\Plugin.Settings.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Settings.Abstractions, Version=2.6.0.12, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.2.6.0.12-beta\lib\MonoAndroid10\Plugin.Settings.Abstractions.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="SlideOverKit, Version=1.0.6135.18790, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.4\lib\MonoAndroid10\SlideOverKit.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="SlideOverKit.Droid, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.4\lib\MonoAndroid10\SlideOverKit.Droid.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Splat.1.6.2\lib\monoandroid\Splat.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System" /> |     <Reference Include="System" /> | ||||||
|     <Reference Include="System.Core" /> |     <Reference Include="System.Core" /> | ||||||
|     <Reference Include="System.Net.Http" /> |     <Reference Include="System.Net.Http" /> | ||||||
|     <Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Extensions.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Primitives.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.Xml.Linq" /> |     <Reference Include="System.Xml.Linq" /> | ||||||
|     <Reference Include="System.Xml" /> |     <Reference Include="System.Xml" /> | ||||||
|     <Reference Include="Validation, Version=2.2.0.0, Culture=neutral, PublicKeyToken=2fc06f0d701809a7, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.IO.Compression" /> |     <Reference Include="System.IO.Compression" /> | ||||||
|     <Reference Include="Autofac"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Autofac.4.5.0\lib\netstandard1.1\Autofac.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.UserDialogs"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.3.8\lib\MonoAndroid10\Acr.UserDialogs.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.UserDialogs.Interface"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.3.8\lib\MonoAndroid10\Acr.UserDialogs.Interface.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FormsViewGroup"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\FormsViewGroup.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Core"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Platform.Android"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Platform"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Xaml"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Forms"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.2.9\lib\MonoAndroid10\FFImageLoading.Forms.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Forms.Droid"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.2.9\lib\MonoAndroid10\FFImageLoading.Forms.Droid.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Vector.Drawable"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.v7.RecyclerView"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Annotations"> |     <Reference Include="Xamarin.Android.Support.Annotations"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Annotations.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Annotations.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Annotations.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Annotations.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.Compat"> |     <Reference Include="Xamarin.Android.Support.Compat"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.v7.CardView"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.CardView.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Media.Compat"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Core.UI"> |     <Reference Include="Xamarin.Android.Support.Core.UI"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.Core.Utils"> |     <Reference Include="Xamarin.Android.Support.Core.Utils"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.Exif"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Exif.dll</HintPath> | ||||||
|  |       <Private>True</Private> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.Media.Compat"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.Fragment"> |     <Reference Include="Xamarin.Android.Support.Fragment"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.Design"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Design.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Transition"> |     <Reference Include="Xamarin.Android.Support.Transition"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Transition.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Transition.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.v4"> |     <Reference Include="Xamarin.Android.Support.v4"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.v7.CardView"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.CardView.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.v7.Palette"> |     <Reference Include="Xamarin.Android.Support.v7.Palette"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.Palette.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.Palette.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.v7.RecyclerView"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.Vector.Drawable"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.v7.AppCompat"> |     <Reference Include="Xamarin.Android.Support.v7.AppCompat"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.Design"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Design.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.v7.MediaRouter"> |     <Reference Include="Xamarin.Android.Support.v7.MediaRouter"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="FFImageLoading"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\MonoAndroid10\FFImageLoading.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FFImageLoading.Platform"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\MonoAndroid10\FFImageLoading.Platform.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FFImageLoading.Forms"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\MonoAndroid10\FFImageLoading.Forms.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FFImageLoading.Forms.Droid"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\MonoAndroid10\FFImageLoading.Forms.Droid.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Acr.Support.Android"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\MonoAndroid10\Acr.Support.Android.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="AndHUD"> | ||||||
|  |       <HintPath>..\..\..\..\packages\AndHUD.1.2.0\lib\MonoAndroid\AndHUD.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Splat"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Splat.2.0.0\lib\MonoAndroid403\Splat.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Acr.UserDialogs"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\MonoAndroid10\Acr.UserDialogs.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Acr.UserDialogs.Interface"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\MonoAndroid10\Acr.UserDialogs.Interface.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.CurrentActivity"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Permissions.Abstractions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Plugin.Permissions.2.2.1\lib\MonoAndroid10\Plugin.Permissions.Abstractions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Permissions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Plugin.Permissions.2.2.1\lib\MonoAndroid10\Plugin.Permissions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="SlideOverKit"> | ||||||
|  |       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\MonoAndroid10\SlideOverKit.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="SlideOverKit.Droid"> | ||||||
|  |       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\MonoAndroid10\SlideOverKit.Droid.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Geolocator.Abstractions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.Abstractions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Geolocator"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="System.Net.Http.Extensions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.28\lib\monoandroid\System.Net.Http.Extensions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="System.Net.Http.Primitives"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.28\lib\monoandroid\System.Net.Http.Primitives.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Newtonsoft.Json"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="IdentityModel"> | ||||||
|  |       <HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.Windows.Core"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.Kernel32"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.BCrypt"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.NCrypt"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Validation"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PCLCrypto"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\MonoAndroid23\PCLCrypto.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FormsViewGroup"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\FormsViewGroup.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Core"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Platform.Android"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Platform"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Xaml"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Compile Include="Activities\MainActivity.cs" /> |     <Compile Include="Activities\MainActivity.cs" /> | ||||||
|     <Compile Include="Effects\EntryLineColorEffect.cs" /> |     <Compile Include="Effects\EntryLineColorEffect.cs" /> | ||||||
|     <Compile Include="Extensions\ViewExtensions.cs" /> |     <Compile Include="Extensions\ViewExtensions.cs" /> | ||||||
|     <Compile Include="Helpers\Settings.cs" /> |  | ||||||
|     <Compile Include="MainApplication.cs" /> |     <Compile Include="MainApplication.cs" /> | ||||||
|     <Compile Include="Renderers\BadgeView.cs" /> |     <Compile Include="Renderers\BadgeView.cs" /> | ||||||
|     <Compile Include="Renderers\CustomNavigationPageRenderer.cs" /> |     <Compile Include="Renderers\CustomNavigationPageRenderer.cs" /> | ||||||
| @ -249,6 +226,7 @@ | |||||||
|     <Compile Include="Effects\CircleEffect.cs" /> |     <Compile Include="Effects\CircleEffect.cs" /> | ||||||
|     <Compile Include="Effects\BaseContainerEffect.cs" /> |     <Compile Include="Effects\BaseContainerEffect.cs" /> | ||||||
|     <Compile Include="Activities\SplashActivity.cs" /> |     <Compile Include="Activities\SplashActivity.cs" /> | ||||||
|  |     <Compile Include="Services\SettingsServiceImplementation.cs" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <AndroidAsset Include="..\CommonResources\Fonts\Montserrat-Bold.ttf"> |     <AndroidAsset Include="..\CommonResources\Fonts\Montserrat-Bold.ttf"> | ||||||
| @ -261,7 +239,6 @@ | |||||||
|       <Link>Assets\SourceSansPro-Regular.ttf</Link> |       <Link>Assets\SourceSansPro-Regular.ttf</Link> | ||||||
|     </AndroidAsset> |     </AndroidAsset> | ||||||
|     <None Include="app.config" /> |     <None Include="app.config" /> | ||||||
|     <None Include="packages.config" /> |  | ||||||
|     <None Include="Resources\AboutResources.txt" /> |     <None Include="Resources\AboutResources.txt" /> | ||||||
|     <None Include="Assets\AboutAssets.txt" /> |     <None Include="Assets\AboutAssets.txt" /> | ||||||
|     <AndroidResource Include="Resources\drawable-xxhdpi\switch_off.png" /> |     <AndroidResource Include="Resources\drawable-xxhdpi\switch_off.png" /> | ||||||
| @ -281,6 +258,7 @@ | |||||||
|     <AndroidResource Include="Resources\drawable-hdpi\menu_filter.png" /> |     <AndroidResource Include="Resources\drawable-hdpi\menu_filter.png" /> | ||||||
|     <AndroidResource Include="Resources\drawable-xhdpi\menu_filter.png" /> |     <AndroidResource Include="Resources\drawable-xhdpi\menu_filter.png" /> | ||||||
|     <AndroidResource Include="Resources\drawable-xxhdpi\menu_filter.png" /> |     <AndroidResource Include="Resources\drawable-xxhdpi\menu_filter.png" /> | ||||||
|  |     <None Include="packages.config" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <AndroidResource Include="Resources\drawable\icon.png" /> |     <AndroidResource Include="Resources\drawable\icon.png" /> | ||||||
| @ -398,32 +376,33 @@ | |||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ProjectReference Include="..\eShopOnContainers.Core\eShopOnContainers.Core.csproj"> |     <ProjectReference Include="..\eShopOnContainers.Core\eShopOnContainers.Core.csproj"> | ||||||
|       <Project>{ba96a12c-4ee3-46c4-bb3f-f811b554cd01}</Project> |       <Project>{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}</Project> | ||||||
|       <Name>eShopOnContainers.Core</Name> |       <Name>eShopOnContainers.Core</Name> | ||||||
|     </ProjectReference> |     </ProjectReference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Folder Include="Services\" /> | ||||||
|  |   </ItemGroup> | ||||||
|   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> |   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> | ||||||
|   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |  | ||||||
|     <PropertyGroup> |  | ||||||
|       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> |  | ||||||
|     </PropertyGroup> |  | ||||||
|     <Error Condition="!Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" /> |  | ||||||
|   </Target> |  | ||||||
|   <Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.CardView.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.CardView.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Media.Compat.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Fragment.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Transition.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Transition.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Transition.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Transition.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v4.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v4.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v4.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v4.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.CardView.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.CardView.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.Palette.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.Palette.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.Palette.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.Palette.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Exif.25.1.0\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Exif.25.1.0\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | ||||||
| </Project> | </Project> | ||||||
| @ -1,82 +1,82 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <packages> | <packages> | ||||||
|   <package id="Acr.Support" version="2.1.0" targetFramework="monoandroid70" /> |   <package id="Acr.Support" version="2.1.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Acr.UserDialogs" version="6.3.8" targetFramework="monoandroid80" /> |   <package id="Acr.UserDialogs" version="6.5.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="AndHUD" version="1.2.0" targetFramework="monoandroid70" /> |   <package id="AndHUD" version="1.2.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Autofac" version="4.5.0" targetFramework="monoandroid60" /> |   <package id="IdentityModel" version="3.0.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="IdentityModel" version="1.3.1" targetFramework="monoandroid60" /> |   <package id="Microsoft.Bcl" version="1.1.10" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Bcl" version="1.1.10" targetFramework="monoandroid60" /> |   <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="monoandroid60" /> |   <package id="Microsoft.CSharp" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.CSharp" version="4.0.1" targetFramework="monoandroid70" /> |   <package id="Microsoft.Net.Http" version="2.2.28" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="monoandroid70" /> |   <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.NETCore.Platforms" version="1.0.1" targetFramework="monoandroid60" /> |   <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="NETStandard.Library" version="2.0.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="modernhttpclient" version="2.4.2" targetFramework="monoandroid70" /> |   <package id="Newtonsoft.Json" version="10.0.3" targetFramework="monoandroid80" /> | ||||||
|   <package id="NETStandard.Library" version="1.6.0" targetFramework="monoandroid60" /> |   <package id="PCLCrypto" version="2.0.147" targetFramework="monoandroid80" /> | ||||||
|   <package id="Newtonsoft.Json" version="9.0.1" targetFramework="monoandroid60" /> |   <package id="PInvoke.BCrypt" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="PCLCrypto" version="2.0.147" targetFramework="monoandroid60" /> |   <package id="PInvoke.Kernel32" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.BCrypt" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="PInvoke.NCrypt" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.Kernel32" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="PInvoke.Windows.Core" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.NCrypt" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="Plugin.CurrentActivity" version="1.0.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.Windows.Core" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="Plugin.Permissions" version="2.2.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="Plugin.CurrentActivity" version="1.0.1" targetFramework="monoandroid60" /> |   <package id="SlideOverKit" version="2.1.5" targetFramework="monoandroid80" /> | ||||||
|   <package id="Plugin.Permissions" version="1.1.7" targetFramework="monoandroid60" /> |   <package id="Splat" version="2.0.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="SlideOverKit" version="2.1.4" targetFramework="monoandroid70" /> |   <package id="System.AppContext" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Splat" version="1.6.2" targetFramework="monoandroid70" /> |   <package id="System.Collections" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.AppContext" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Collections" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.ComponentModel" version="4.0.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="monoandroid60" /> |   <package id="System.ComponentModel.TypeConverter" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.ComponentModel" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Console" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Console" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Diagnostics.Tools" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Diagnostics.Tracing" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Globalization" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Dynamic.Runtime" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Globalization.Calendars" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Globalization" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.IO" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Globalization.Calendars" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.IO.Compression" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.Compression" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.IO.FileSystem" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.Compression.ZipFile" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.FileSystem" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Linq" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Linq.Expressions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Linq" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.Net.Http" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Linq.Expressions" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.Net.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Net.Http" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Net.Sockets" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Net.Primitives" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.ObjectModel" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Net.Sockets" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Reflection" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.ObjectModel" version="4.0.12" targetFramework="monoandroid70" /> |   <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Reflection" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.Reflection.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="monoandroid70" /> |   <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Reflection.Primitives" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Runtime" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="monoandroid70" /> |   <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.Runtime.Handles" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Handles" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Serialization.Formatters" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Numerics" version="4.0.1" targetFramework="monoandroid70" /> |   <package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Serialization.Primitives" version="4.1.1" targetFramework="monoandroid70" /> |   <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.Algorithms" version="4.2.0" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.Encoding" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.Primitives" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.X509Certificates" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Text.Encoding" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Text.Encoding" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Text.Encoding.Extensions" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="monoandroid70" /> |   <package id="System.Threading" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Threading" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Threading.Tasks" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Threading.Tasks" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Threading.Timer" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Threading.Timer" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Xml.ReaderWriter" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Xml.XDocument" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Xml.XDocument" version="4.0.11" targetFramework="monoandroid70" /> |   <package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Validation" version="2.2.8" targetFramework="monoandroid60" /> |   <package id="Validation" version="2.2.8" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="monoandroid60" /> |   <package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xam.Plugins.Settings" version="2.6.0.12-beta" targetFramework="monoandroid70" /> |  | ||||||
|   <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Annotations" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Annotations" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Core.UI" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Core.UI" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Core.Utils" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Core.Utils" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Design" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Design" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|  |   <package id="Xamarin.Android.Support.Exif" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Fragment" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Fragment" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Media.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Media.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Transition" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Transition" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
| @ -87,7 +87,8 @@ | |||||||
|   <package id="Xamarin.Android.Support.v7.Palette" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.v7.Palette" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.v7.RecyclerView" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.v7.RecyclerView" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.FFImageLoading" version="2.2.9" targetFramework="monoandroid60" /> |   <package id="Xamarin.Build.Download" version="0.4.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.FFImageLoading.Forms" version="2.2.9" targetFramework="monoandroid80" /> |   <package id="Xamarin.FFImageLoading" version="2.3.4" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Forms" version="2.5.0.91635" targetFramework="monoandroid80" /> |   <package id="Xamarin.FFImageLoading.Forms" version="2.3.4" targetFramework="monoandroid80" /> | ||||||
|  |   <package id="Xamarin.Forms" version="2.5.0.122203" targetFramework="monoandroid80" /> | ||||||
| </packages> | </packages> | ||||||
| @ -1,9 +1,8 @@ | |||||||
| using System; |  | ||||||
| 
 |  | ||||||
| using Android.App; | using Android.App; | ||||||
| using Android.OS; | using Android.OS; | ||||||
| using Android.Runtime; | using Android.Runtime; | ||||||
| using Plugin.CurrentActivity; | using Plugin.CurrentActivity; | ||||||
|  | using System; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.TestRunner.Droid | namespace eShopOnContainers.TestRunner.Droid | ||||||
| { | { | ||||||
|  | |||||||
| @ -63,7 +63,6 @@ namespace eShopOnContainers.TestRunner.Droid | |||||||
| 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahText = global::eShopOnContainers.TestRunner.Droid.Resource.Styleable.ProgressWheel_ahText; | 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahText = global::eShopOnContainers.TestRunner.Droid.Resource.Styleable.ProgressWheel_ahText; | ||||||
| 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextColor = global::eShopOnContainers.TestRunner.Droid.Resource.Styleable.ProgressWheel_ahTextColor; | 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextColor = global::eShopOnContainers.TestRunner.Droid.Resource.Styleable.ProgressWheel_ahTextColor; | ||||||
| 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextSize = global::eShopOnContainers.TestRunner.Droid.Resource.Styleable.ProgressWheel_ahTextSize; | 			global::AndroidHUD.Resource.Styleable.ProgressWheel_ahTextSize = global::eShopOnContainers.TestRunner.Droid.Resource.Styleable.ProgressWheel_ahTextSize; | ||||||
| 			global::ModernHttpClient.Resource.String.library_name = global::eShopOnContainers.TestRunner.Droid.Resource.String.library_name; |  | ||||||
| 			global::PCLCrypto.Resource.String.ApplicationName = global::eShopOnContainers.TestRunner.Droid.Resource.String.ApplicationName; | 			global::PCLCrypto.Resource.String.ApplicationName = global::eShopOnContainers.TestRunner.Droid.Resource.String.ApplicationName; | ||||||
| 			global::PCLCrypto.Resource.String.Hello = global::eShopOnContainers.TestRunner.Droid.Resource.String.Hello; | 			global::PCLCrypto.Resource.String.Hello = global::eShopOnContainers.TestRunner.Droid.Resource.String.Hello; | ||||||
| 			global::Splat.Resource.String.library_name = global::eShopOnContainers.TestRunner.Droid.Resource.String.library_name; | 			global::Splat.Resource.String.library_name = global::eShopOnContainers.TestRunner.Droid.Resource.String.library_name; | ||||||
|  | |||||||
| @ -1,6 +1,8 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.props" Condition="Exists('..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.props')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props')" /> | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||||
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||||||
| @ -34,6 +36,7 @@ | |||||||
|     <WarningLevel>4</WarningLevel> |     <WarningLevel>4</WarningLevel> | ||||||
|     <AndroidUseSharedRuntime>True</AndroidUseSharedRuntime> |     <AndroidUseSharedRuntime>True</AndroidUseSharedRuntime> | ||||||
|     <AndroidLinkMode>None</AndroidLinkMode> |     <AndroidLinkMode>None</AndroidLinkMode> | ||||||
|  |     <LangVersion>default</LangVersion> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||||||
|     <DebugType>pdbonly</DebugType> |     <DebugType>pdbonly</DebugType> | ||||||
| @ -49,108 +52,18 @@ | |||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Reference Include="Mono.Android" /> |     <Reference Include="Mono.Android" /> | ||||||
|     <Reference Include="mscorlib" /> |     <Reference Include="mscorlib" /> | ||||||
|     <Reference Include="PCLCrypto, Version=2.0.0.0, Culture=neutral, PublicKeyToken=d4421c8a4786956c, processorArchitecture=MSIL"> |     <Reference Include="Plugin.Permissions, Version=2.2.1.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|       <HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\MonoAndroid23\PCLCrypto.dll</HintPath> |       <HintPath>..\..\..\..\packages\Plugin.Permissions.2.2.1\lib\MonoAndroid10\Plugin.Permissions.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="PInvoke.BCrypt, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |     <Reference Include="Plugin.Permissions.Abstractions, Version=2.2.1.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> |       <HintPath>..\..\..\..\packages\Plugin.Permissions.2.2.1\lib\MonoAndroid10\Plugin.Permissions.Abstractions.dll</HintPath> | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.Kernel32, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.NCrypt, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.Windows.Core, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.CurrentActivity, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Geolocator, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Geolocator.Abstractions, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Permissions, Version=1.1.6.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Plugin.Permissions.1.1.7\lib\MonoAndroid10\Plugin.Permissions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Permissions.Abstractions, Version=1.1.6.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Plugin.Permissions.1.1.7\lib\MonoAndroid10\Plugin.Permissions.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="System" /> |     <Reference Include="System" /> | ||||||
|     <Reference Include="System.Core" /> |     <Reference Include="System.Core" /> | ||||||
|     <Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Extensions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Primitives.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.Xml.Linq" /> |     <Reference Include="System.Xml.Linq" /> | ||||||
|     <Reference Include="System.Xml" /> |     <Reference Include="System.Xml" /> | ||||||
|     <Reference Include="Validation, Version=2.2.0.0, Culture=neutral, PublicKeyToken=2fc06f0d701809a7, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.abstractions"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.abstractions.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.core"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.execution.dotnet"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.1.0\lib\monoandroid\xunit.execution.dotnet.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.runner.utility.dotnet"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.runner.utility.2.1.0\lib\dotnet\xunit.runner.utility.dotnet.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Newtonsoft.Json"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.IO.Compression" /> |     <Reference Include="System.IO.Compression" /> | ||||||
|     <Reference Include="System.Net.Http" /> |     <Reference Include="System.Net.Http" /> | ||||||
|     <Reference Include="Autofac"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Autofac.4.5.0\lib\netstandard1.1\Autofac.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Settings.Abstractions"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.2.6.0.12-beta\lib\MonoAndroid10\Plugin.Settings.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Settings"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.2.6.0.12-beta\lib\MonoAndroid10\Plugin.Settings.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.assert"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.assert.2.2.0\lib\netstandard1.1\xunit.assert.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="SlideOverKit"> |  | ||||||
|       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.4\lib\MonoAndroid10\SlideOverKit.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="SlideOverKit.Droid"> |  | ||||||
|       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.4\lib\MonoAndroid10\SlideOverKit.Droid.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.Support.Android"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\MonoAndroid10\Acr.Support.Android.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="AndHUD"> |  | ||||||
|       <HintPath>..\..\..\..\packages\AndHUD.1.2.0\lib\MonoAndroid\AndHUD.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Splat"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Splat.1.6.2\lib\monoandroid\Splat.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="IdentityModel.Portable"> |  | ||||||
|       <HintPath>..\..\..\..\packages\IdentityModel.1.3.1\lib\portable-net45+wp80+win8+wpa81\IdentityModel.Portable.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.2.9\lib\MonoAndroid10\FFImageLoading.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Platform"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.2.9\lib\MonoAndroid10\FFImageLoading.Platform.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="ModernHttpClient"> |  | ||||||
|       <HintPath>..\..\..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\ModernHttpClient.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="OkHttp"> |  | ||||||
|       <HintPath>..\..\..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\OkHttp.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.Annotations"> |     <Reference Include="Xamarin.Android.Support.Annotations"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Annotations.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Annotations.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Annotations.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Annotations.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
| @ -163,6 +76,9 @@ | |||||||
|     <Reference Include="Xamarin.Android.Support.Core.Utils"> |     <Reference Include="Xamarin.Android.Support.Core.Utils"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Android.Support.Exif, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Exif.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|     <Reference Include="Xamarin.Android.Support.Media.Compat"> |     <Reference Include="Xamarin.Android.Support.Media.Compat"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
| @ -196,53 +112,132 @@ | |||||||
|     <Reference Include="Xamarin.Android.Support.Design"> |     <Reference Include="Xamarin.Android.Support.Design"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Design.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Design.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Acr.UserDialogs"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.3.8\lib\MonoAndroid10\Acr.UserDialogs.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.UserDialogs.Interface"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.3.8\lib\MonoAndroid10\Acr.UserDialogs.Interface.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Android.Support.v7.MediaRouter"> |     <Reference Include="Xamarin.Android.Support.v7.MediaRouter"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="FormsViewGroup"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\FormsViewGroup.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Core"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Platform.Android"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Platform"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Xaml"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.runner.devices"> |     <Reference Include="xunit.runner.devices"> | ||||||
|       <HintPath>..\..\..\..\packages\xunit.runner.devices.2.1.0\lib\MonoAndroid\xunit.runner.devices.dll</HintPath> |       <HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\monoandroid80\xunit.runner.devices.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.runner.utility.netstandard15"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\monoandroid80\xunit.runner.utility.netstandard15.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Java.Interop" /> | ||||||
|  |     <Reference Include="System.Collections" /> | ||||||
|  |     <Reference Include="System.IdentityModel" /> | ||||||
|  |     <Reference Include="System.Runtime" /> | ||||||
|  |     <Reference Include="System.Runtime.Serialization" /> | ||||||
|  |     <Reference Include="System.Threading.Tasks" /> | ||||||
|  |     <Reference Include="xunit.abstractions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.abstractions.2.0.1\lib\netstandard1.0\xunit.abstractions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.assert"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.assert.2.3.1\lib\netstandard1.1\xunit.assert.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.core"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.extensibility.core.2.3.1\lib\netstandard1.1\xunit.core.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.execution.dotnet"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\netstandard1.1\xunit.execution.dotnet.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="SlideOverKit"> | ||||||
|  |       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\MonoAndroid10\SlideOverKit.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="SlideOverKit.Droid"> | ||||||
|  |       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\MonoAndroid10\SlideOverKit.Droid.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Newtonsoft.Json"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="IdentityModel"> | ||||||
|  |       <HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Settings.Abstractions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\MonoAndroid10\Plugin.Settings.Abstractions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Settings"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\MonoAndroid10\Plugin.Settings.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.CurrentActivity"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Geolocator.Abstractions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.Abstractions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Plugin.Geolocator"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.Windows.Core"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.Kernel32"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.BCrypt"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PInvoke.NCrypt"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Validation"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="PCLCrypto"> | ||||||
|  |       <HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\MonoAndroid23\PCLCrypto.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Acr.Support.Android"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\MonoAndroid10\Acr.Support.Android.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="AndHUD"> | ||||||
|  |       <HintPath>..\..\..\..\packages\AndHUD.1.2.0\lib\MonoAndroid\AndHUD.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Splat"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Splat.2.0.0\lib\MonoAndroid403\Splat.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Acr.UserDialogs"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\MonoAndroid10\Acr.UserDialogs.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Acr.UserDialogs.Interface"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\MonoAndroid10\Acr.UserDialogs.Interface.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FFImageLoading"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\MonoAndroid10\FFImageLoading.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FFImageLoading.Platform"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\MonoAndroid10\FFImageLoading.Platform.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="FFImageLoading.Forms"> |     <Reference Include="FFImageLoading.Forms"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.2.9\lib\MonoAndroid10\FFImageLoading.Forms.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\MonoAndroid10\FFImageLoading.Forms.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="FFImageLoading.Forms.Droid"> |     <Reference Include="FFImageLoading.Forms.Droid"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.2.9\lib\MonoAndroid10\FFImageLoading.Forms.Droid.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\MonoAndroid10\FFImageLoading.Forms.Droid.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="FormsViewGroup"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\FormsViewGroup.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Core"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Platform.Android"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Platform"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Xamarin.Forms.Xaml"> | ||||||
|  |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Compile Include="MainActivity.cs" /> |     <Compile Include="MainActivity.cs" /> | ||||||
|     <Compile Include="MainApplication.cs" /> |  | ||||||
|     <Compile Include="Resources\Resource.Designer.cs" /> |     <Compile Include="Resources\Resource.Designer.cs" /> | ||||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> |     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||||
|  |     <Compile Include="MainApplication.cs" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <None Include="app.config" /> |     <None Include="app.config" /> | ||||||
|     <None Include="packages.config"> |  | ||||||
|       <SubType>Designer</SubType> |  | ||||||
|     </None> |  | ||||||
|     <None Include="Resources\AboutResources.txt" /> |     <None Include="Resources\AboutResources.txt" /> | ||||||
|     <None Include="Assets\AboutAssets.txt" /> |     <None Include="Assets\AboutAssets.txt" /> | ||||||
|  |     <None Include="packages.config" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <AndroidResource Include="Resources\layout\Main.axml"> |     <AndroidResource Include="Resources\layout\Main.axml"> | ||||||
| @ -260,12 +255,11 @@ | |||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> |     <ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> | ||||||
|       <Project>{6E4285E7-7611-4440-A1B5-3513EBB13807}</Project> |       <Project>{FDD910BC-DF0F-483D-B7D5-C7D831855172}</Project> | ||||||
|       <Name>eShopOnContainers.UnitTests</Name> |       <Name>eShopOnContainers.UnitTests</Name> | ||||||
|     </ProjectReference> |     </ProjectReference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> |   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> | ||||||
|   <Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> |  | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Compat.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.UI.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Core.Utils.targets')" /> | ||||||
| @ -281,6 +275,17 @@ | |||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Design.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets')" /> |   <Import Project="..\..\..\..\packages\xunit.runner.devices.2.3.3\build\monoandroid80\xunit.runner.devices.targets" Condition="Exists('..\..\..\..\packages\xunit.runner.devices.2.3.3\build\monoandroid80\xunit.runner.devices.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\xunit.runner.devices.2.1.0\build\MonoAndroid\xunit.runner.devices.targets" Condition="Exists('..\..\..\..\packages\xunit.runner.devices.2.1.0\build\MonoAndroid\xunit.runner.devices.targets')" /> |   <Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets')" /> | ||||||
|  |   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||||||
|  |     <PropertyGroup> | ||||||
|  |       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | ||||||
|  |     </PropertyGroup> | ||||||
|  |     <Error Condition="!Exists('..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Android.Support.Exif.25.4.0.2\build\MonoAndroid70\Xamarin.Android.Support.Exif.targets'))" /> | ||||||
|  |     <Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> | ||||||
|  |   </Target> | ||||||
|  |   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | ||||||
| </Project> | </Project> | ||||||
| @ -1,79 +1,79 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <packages> | <packages> | ||||||
|   <package id="Acr.Support" version="2.1.0" targetFramework="monoandroid60" /> |   <package id="Acr.Support" version="2.1.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Acr.UserDialogs" version="6.3.8" targetFramework="monoandroid80" /> |   <package id="Acr.UserDialogs" version="6.5.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="AndHUD" version="1.2.0" targetFramework="monoandroid60" /> |   <package id="AndHUD" version="1.2.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Autofac" version="4.5.0" targetFramework="monoandroid60" /> |   <package id="IdentityModel" version="3.0.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="IdentityModel" version="1.3.1" targetFramework="monoandroid60" /> |   <package id="Microsoft.CSharp" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Bcl" version="1.1.10" targetFramework="monoandroid60" /> |   <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="monoandroid60" /> |   <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="monoandroid60" /> |   <package id="NETStandard.Library" version="2.0.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.NETCore.Platforms" version="1.0.1" targetFramework="monoandroid60" /> |   <package id="Newtonsoft.Json" version="10.0.3" targetFramework="monoandroid80" /> | ||||||
|   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="PCLCrypto" version="2.0.147" targetFramework="monoandroid80" /> | ||||||
|   <package id="modernhttpclient" version="2.4.2" targetFramework="monoandroid60" /> |   <package id="PInvoke.BCrypt" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="NETStandard.Library" version="1.6.0" targetFramework="monoandroid60" /> |   <package id="PInvoke.Kernel32" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Newtonsoft.Json" version="9.0.1" targetFramework="monoandroid60" /> |   <package id="PInvoke.NCrypt" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="PCLCrypto" version="2.0.147" targetFramework="monoandroid60" /> |   <package id="PInvoke.Windows.Core" version="0.3.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.BCrypt" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="Plugin.CurrentActivity" version="1.0.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.Kernel32" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="Plugin.Permissions" version="2.2.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.NCrypt" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="SlideOverKit" version="2.1.5" targetFramework="monoandroid80" /> | ||||||
|   <package id="PInvoke.Windows.Core" version="0.3.2" targetFramework="monoandroid60" /> |   <package id="Splat" version="2.0.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Plugin.CurrentActivity" version="1.0.1" targetFramework="monoandroid60" /> |   <package id="System.AppContext" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Plugin.Permissions" version="1.1.7" targetFramework="monoandroid60" /> |   <package id="System.Collections" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="SlideOverKit" version="2.1.4" targetFramework="monoandroid60" /> |   <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Splat" version="1.6.2" targetFramework="monoandroid60" /> |   <package id="System.ComponentModel" version="4.0.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.AppContext" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.ComponentModel.TypeConverter" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Collections" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Console" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="monoandroid60" /> |   <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.ComponentModel" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Console" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Globalization" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Diagnostics.Tools" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Globalization.Calendars" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Diagnostics.Tracing" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.IO" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Globalization" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.IO.Compression" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Globalization.Calendars" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.IO.FileSystem" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.Compression" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.Compression.ZipFile" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Linq" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.FileSystem" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Linq.Expressions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Net.Http" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Linq" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Net.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Linq.Expressions" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Net.Sockets" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Net.Http" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.ObjectModel" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Net.Primitives" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Reflection" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Net.Sockets" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.ObjectModel" version="4.0.12" targetFramework="monoandroid60" /> |   <package id="System.Reflection.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Reflection" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Runtime" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Reflection.Primitives" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Handles" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Handles" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Serialization.Formatters" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Runtime.Numerics" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.Algorithms" version="4.2.0" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.Encoding" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.Primitives" version="4.0.0" targetFramework="monoandroid60" /> |   <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Security.Cryptography.X509Certificates" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Text.Encoding" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Text.Encoding" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Text.Encoding.Extensions" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="monoandroid60" /> |   <package id="System.Threading" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Threading" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Threading.Tasks" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Threading.Tasks" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Threading.Timer" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Threading.Timer" version="4.0.1" targetFramework="monoandroid60" /> |   <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Xml.ReaderWriter" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Xml.XDocument" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="System.Xml.XDocument" version="4.0.11" targetFramework="monoandroid60" /> |   <package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="Validation" version="2.2.8" targetFramework="monoandroid60" /> |   <package id="Validation" version="2.2.8" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="monoandroid60" /> |   <package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xam.Plugins.Settings" version="2.6.0.12-beta" targetFramework="monoandroid60" /> |  | ||||||
|   <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Annotations" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Annotations" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Core.UI" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Core.UI" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Core.Utils" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Core.Utils" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Design" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Design" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|  |   <package id="Xamarin.Android.Support.Exif" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Fragment" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Fragment" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Media.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Media.Compat" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Transition" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Transition" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
| @ -84,14 +84,16 @@ | |||||||
|   <package id="Xamarin.Android.Support.v7.Palette" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.v7.Palette" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.v7.RecyclerView" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.v7.RecyclerView" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Android.Support.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> |   <package id="Xamarin.Android.Support.Vector.Drawable" version="25.4.0.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.FFImageLoading" version="2.2.9" targetFramework="monoandroid60" /> |   <package id="Xamarin.Build.Download" version="0.4.2" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.FFImageLoading.Forms" version="2.2.9" targetFramework="monoandroid80" /> |   <package id="Xamarin.FFImageLoading" version="2.3.4" targetFramework="monoandroid80" /> | ||||||
|   <package id="Xamarin.Forms" version="2.5.0.91635" targetFramework="monoandroid80" /> |   <package id="Xamarin.FFImageLoading.Forms" version="2.3.4" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.abstractions" version="2.0.0" targetFramework="monoandroid60" /> |   <package id="Xamarin.Forms" version="2.5.0.122203" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.assert" version="2.2.0" targetFramework="monoandroid60" /> |   <package id="xunit" version="2.3.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.core" version="2.1.0" targetFramework="monoandroid60" /> |   <package id="xunit.abstractions" version="2.0.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.extensibility.core" version="2.1.0" targetFramework="monoandroid60" /> |   <package id="xunit.analyzers" version="0.7.0" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.extensibility.execution" version="2.1.0" targetFramework="monoandroid60" /> |   <package id="xunit.assert" version="2.3.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.runner.devices" version="2.1.0" targetFramework="monoandroid80" /> |   <package id="xunit.core" version="2.3.1" targetFramework="monoandroid80" /> | ||||||
|   <package id="xunit.runner.utility" version="2.1.0" targetFramework="monoandroid60" /> |   <package id="xunit.extensibility.core" version="2.3.1" targetFramework="monoandroid80" /> | ||||||
|  |   <package id="xunit.extensibility.execution" version="2.3.1" targetFramework="monoandroid80" /> | ||||||
|  |   <package id="xunit.runner.devices" version="2.3.3" targetFramework="monoandroid80" /> | ||||||
| </packages> | </packages> | ||||||
| @ -1,5 +1,4 @@ | |||||||
| using System; | using System.Reflection; | ||||||
| using System.Reflection; |  | ||||||
| using Windows.ApplicationModel.Activation; | using Windows.ApplicationModel.Activation; | ||||||
| using Xunit.Runners.UI; | using Xunit.Runners.UI; | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										22
									
								
								src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Windows/eShopOnContainers.TestRunner.Windows.csproj
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						| @ -1,5 +1,5 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||||
| @ -11,13 +11,14 @@ | |||||||
|     <AssemblyName>eShopOnContainers.TestRunner.Windows</AssemblyName> |     <AssemblyName>eShopOnContainers.TestRunner.Windows</AssemblyName> | ||||||
|     <DefaultLanguage>en-US</DefaultLanguage> |     <DefaultLanguage>en-US</DefaultLanguage> | ||||||
|     <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier> |     <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier> | ||||||
|     <TargetPlatformVersion>10.0.10586.0</TargetPlatformVersion> |     <TargetPlatformVersion>10.0.16299.0</TargetPlatformVersion> | ||||||
|     <TargetPlatformMinVersion>10.0.10586.0</TargetPlatformMinVersion> |     <TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion> | ||||||
|     <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion> |     <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion> | ||||||
|     <FileAlignment>512</FileAlignment> |     <FileAlignment>512</FileAlignment> | ||||||
|     <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> |     <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | ||||||
|     <WindowsXamlEnableOverview>true</WindowsXamlEnableOverview> |     <WindowsXamlEnableOverview>true</WindowsXamlEnableOverview> | ||||||
|     <PackageCertificateKeyFile>eShopOnContainers.TestRunner.Windows_TemporaryKey.pfx</PackageCertificateKeyFile> |     <PackageCertificateKeyFile>eShopOnContainers.TestRunner.Windows_TemporaryKey.pfx</PackageCertificateKeyFile> | ||||||
|  |     <RuntimeIdentifiers>win10-arm;win10-arm-aot;win10-x86;win10-x86-aot;win10-x64;win10-x64-aot</RuntimeIdentifiers> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> |   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> | ||||||
|     <DebugSymbols>true</DebugSymbols> |     <DebugSymbols>true</DebugSymbols> | ||||||
| @ -88,10 +89,6 @@ | |||||||
|     <Prefer32Bit>true</Prefer32Bit> |     <Prefer32Bit>true</Prefer32Bit> | ||||||
|     <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> |     <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <ItemGroup> |  | ||||||
|     <!-- A reference to the entire .Net Framework and Windows SDK are automatically included --> |  | ||||||
|     <None Include="project.json" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Compile Include="App.xaml.cs"> |     <Compile Include="App.xaml.cs"> | ||||||
|       <DependentUpon>App.xaml</DependentUpon> |       <DependentUpon>App.xaml</DependentUpon> | ||||||
| @ -102,7 +99,6 @@ | |||||||
|     <AppxManifest Include="Package.appxmanifest"> |     <AppxManifest Include="Package.appxmanifest"> | ||||||
|       <SubType>Designer</SubType> |       <SubType>Designer</SubType> | ||||||
|     </AppxManifest> |     </AppxManifest> | ||||||
|     <None Include="eShopOnContainers.TestRunner.Windows_TemporaryKey.pfx" /> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Content Include="Properties\Default.rd.xml" /> |     <Content Include="Properties\Default.rd.xml" /> | ||||||
| @ -122,7 +118,7 @@ | |||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ProjectReference Include="..\eShopOnContainers.Core\eShopOnContainers.Core.csproj"> |     <ProjectReference Include="..\eShopOnContainers.Core\eShopOnContainers.Core.csproj"> | ||||||
|       <Project>{ba96a12c-4ee3-46c4-bb3f-f811b554cd01}</Project> |       <Project>{76c5f2a7-6cd5-49ea-9f33-ec44de6539c7}</Project> | ||||||
|       <Name>eShopOnContainers.Core</Name> |       <Name>eShopOnContainers.Core</Name> | ||||||
|     </ProjectReference> |     </ProjectReference> | ||||||
|     <ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> |     <ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> | ||||||
| @ -130,6 +126,14 @@ | |||||||
|       <Name>eShopOnContainers.UnitTests</Name> |       <Name>eShopOnContainers.UnitTests</Name> | ||||||
|     </ProjectReference> |     </ProjectReference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform"> | ||||||
|  |       <Version>6.0.6</Version> | ||||||
|  |     </PackageReference> | ||||||
|  |     <PackageReference Include="xunit.runner.devices"> | ||||||
|  |       <Version>2.3.3</Version> | ||||||
|  |     </PackageReference> | ||||||
|  |   </ItemGroup> | ||||||
|   <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' "> |   <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' "> | ||||||
|     <VisualStudioVersion>14.0</VisualStudioVersion> |     <VisualStudioVersion>14.0</VisualStudioVersion> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  | |||||||
| @ -1,18 +0,0 @@ | |||||||
| { |  | ||||||
|   "dependencies": { |  | ||||||
|     "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.3", |  | ||||||
|     "Xamarin.Forms": "2.5.0.91635", |  | ||||||
|     "xunit.runner.devices": "2.1.0" |  | ||||||
|   }, |  | ||||||
|   "frameworks": { |  | ||||||
|     "uap10.0.10586": {} |  | ||||||
|   }, |  | ||||||
|   "runtimes": { |  | ||||||
|     "win10-arm": {}, |  | ||||||
|     "win10-arm-aot": {}, |  | ||||||
|     "win10-x86": {}, |  | ||||||
|     "win10-x86-aot": {}, |  | ||||||
|     "win10-x64": {}, |  | ||||||
|     "win10-x64-aot": {} |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,6 +1,7 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props')" /> | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||||
|     <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> |     <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> | ||||||
| @ -25,8 +26,6 @@ | |||||||
|     <MtouchArch>x86_64</MtouchArch> |     <MtouchArch>x86_64</MtouchArch> | ||||||
|     <MtouchLink>None</MtouchLink> |     <MtouchLink>None</MtouchLink> | ||||||
|     <MtouchDebug>True</MtouchDebug> |     <MtouchDebug>True</MtouchDebug> | ||||||
|     <MtouchSdkVersion> |  | ||||||
|     </MtouchSdkVersion> |  | ||||||
|     <MtouchProfiling>False</MtouchProfiling> |     <MtouchProfiling>False</MtouchProfiling> | ||||||
|     <MtouchFastDev>False</MtouchFastDev> |     <MtouchFastDev>False</MtouchFastDev> | ||||||
|     <MtouchUseLlvm>False</MtouchUseLlvm> |     <MtouchUseLlvm>False</MtouchUseLlvm> | ||||||
| @ -60,8 +59,6 @@ | |||||||
|     <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> |     <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | ||||||
|     <CodesignKey>iPhone Developer</CodesignKey> |     <CodesignKey>iPhone Developer</CodesignKey> | ||||||
|     <MtouchDebug>true</MtouchDebug> |     <MtouchDebug>true</MtouchDebug> | ||||||
|     <MtouchSdkVersion> |  | ||||||
|     </MtouchSdkVersion> |  | ||||||
|     <MtouchLink>None</MtouchLink> |     <MtouchLink>None</MtouchLink> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> |   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> | ||||||
| @ -110,122 +107,45 @@ | |||||||
|     <None Include="packages.config" /> |     <None Include="packages.config" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Reference Include="PCLCrypto, Version=2.0.0.0, Culture=neutral, PublicKeyToken=d4421c8a4786956c, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.BCrypt, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.Kernel32, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.NCrypt, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="PInvoke.Windows.Core, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System" /> |     <Reference Include="System" /> | ||||||
|     <Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\Xamarin.iOS10\System.Net.Http.Extensions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\Xamarin.iOS10\System.Net.Http.Primitives.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.Xml" /> |     <Reference Include="System.Xml" /> | ||||||
|     <Reference Include="System.Core" /> |     <Reference Include="System.Core" /> | ||||||
|     <Reference Include="Validation, Version=2.2.0.0, Culture=neutral, PublicKeyToken=2fc06f0d701809a7, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |     <Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |     <Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |     <Reference Include="Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |     <Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> |       <HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|     <Reference Include="Xamarin.iOS" /> |     <Reference Include="Xamarin.iOS" /> | ||||||
|     <Reference Include="xunit.abstractions"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.abstractions.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.core"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.execution.dotnet"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.1.0\lib\xamarinios\xunit.execution.dotnet.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.runner.utility.dotnet"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.runner.utility.2.1.0\lib\dotnet\xunit.runner.utility.dotnet.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="xunit.runner.devices"> |  | ||||||
|       <HintPath>..\..\..\..\packages\xunit.runner.devices.2.1.0\lib\Xamarin.iOS\xunit.runner.devices.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System.IO.Compression" /> |     <Reference Include="System.IO.Compression" /> | ||||||
|     <Reference Include="System.Net.Http" /> |     <Reference Include="System.Net.Http" /> | ||||||
|  |     <Reference Include="xunit.runner.devices"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\xamarinios10\xunit.runner.devices.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.runner.utility.netstandard15"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\xamarinios10\xunit.runner.utility.netstandard15.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.abstractions"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.abstractions.2.0.1\lib\netstandard1.0\xunit.abstractions.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|     <Reference Include="xunit.assert"> |     <Reference Include="xunit.assert"> | ||||||
|       <HintPath>..\..\..\..\packages\xunit.assert.2.2.0\lib\netstandard1.1\xunit.assert.dll</HintPath> |       <HintPath>..\..\..\..\packages\xunit.assert.2.3.1\lib\netstandard1.1\xunit.assert.dll</HintPath> | ||||||
|     </Reference> |     </Reference> | ||||||
|  |     <Reference Include="xunit.core"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.extensibility.core.2.3.1\lib\netstandard1.1\xunit.core.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="xunit.execution.dotnet"> | ||||||
|  |       <HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\netstandard1.1\xunit.execution.dotnet.dll</HintPath> | ||||||
|  |     </Reference> | ||||||
|  |     <Reference Include="Microsoft.CSharp" /> | ||||||
|     <Reference Include="Newtonsoft.Json"> |     <Reference Include="Newtonsoft.Json"> | ||||||
|       <HintPath>..\..\..\..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath> |       <HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Autofac"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Autofac.4.5.0\lib\netstandard1.1\Autofac.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Settings.Abstractions"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.2.6.0.12-beta\lib\Xamarin.iOS10\Plugin.Settings.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Settings"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.2.6.0.12-beta\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="SlideOverKit"> |  | ||||||
|       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.4\lib\Xamarin.iOS10\SlideOverKit.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="SlideOverKit.iOS"> |  | ||||||
|       <HintPath>..\..\..\..\packages\SlideOverKit.2.1.4\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.Support.iOS"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Splat"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Splat.1.6.2\lib\Xamarin.iOS10\Splat.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.UserDialogs"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.3.3\lib\Xamarin.iOS10\Acr.UserDialogs.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Acr.UserDialogs.Interface"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Acr.UserDialogs.6.3.3\lib\Xamarin.iOS10\Acr.UserDialogs.Interface.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="IdentityModel.Portable"> |  | ||||||
|       <HintPath>..\..\..\..\packages\IdentityModel.1.3.1\lib\portable-net45+wp80+win8+wpa81\IdentityModel.Portable.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="WebP.Touch"> |  | ||||||
|       <HintPath>..\..\..\..\packages\WebP.Touch.1.0.3\lib\Xamarin.iOS10\WebP.Touch.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.2.9\lib\Xamarin.iOS10\FFImageLoading.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Platform"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.2.9\lib\Xamarin.iOS10\FFImageLoading.Platform.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Forms"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.2.9\lib\Xamarin.iOS10\FFImageLoading.Forms.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="FFImageLoading.Forms.Touch"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.2.9\lib\Xamarin.iOS10\FFImageLoading.Forms.Touch.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="ModernHttpClient"> |  | ||||||
|       <HintPath>..\..\..\..\packages\modernhttpclient.2.4.2\lib\Xamarin.iOS10\ModernHttpClient.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Geolocator.Abstractions"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\Xamarin.iOS10\Plugin.Geolocator.Abstractions.dll</HintPath> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="Plugin.Geolocator"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\Xamarin.iOS10\Plugin.Geolocator.dll</HintPath> |  | ||||||
|     </Reference> |     </Reference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
| @ -233,19 +153,21 @@ | |||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> |     <ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> | ||||||
|       <Project>{f7b6a162-bc4d-4924-b16a-713f9b0344e7}</Project> |       <Project>{FDD910BC-DF0F-483D-B7D5-C7D831855172}</Project> | ||||||
|       <Name>eShopOnContainers.UnitTests</Name> |       <Name>eShopOnContainers.UnitTests</Name> | ||||||
|     </ProjectReference> |     </ProjectReference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> |   <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> | ||||||
|   <Import Project="..\..\..\..\packages\xunit.runner.devices.2.1.0\build\Xamarin.iOS\xunit.runner.devices.targets" Condition="Exists('..\..\..\..\packages\xunit.runner.devices.2.1.0\build\Xamarin.iOS\xunit.runner.devices.targets')" /> |   <Import Project="..\..\..\..\packages\xunit.runner.devices.2.3.3\build\xamarinios10\xunit.runner.devices.targets" Condition="Exists('..\..\..\..\packages\xunit.runner.devices.2.3.3\build\xamarinios10\xunit.runner.devices.targets')" /> | ||||||
|   <Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> |   <Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets')" /> | ||||||
|   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||||||
|     <PropertyGroup> |     <PropertyGroup> | ||||||
|       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> |       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | ||||||
|     </PropertyGroup> |     </PropertyGroup> | ||||||
|     <Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.props'))" /> |     <Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props'))" /> | ||||||
|     <Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets'))" /> |     <Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets'))" /> | ||||||
|  |     <Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> | ||||||
|   </Target> |   </Target> | ||||||
|   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.91635\build\netstandard1.0\Xamarin.Forms.targets')" /> |   <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | ||||||
|  |   <Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | ||||||
| </Project> | </Project> | ||||||
| @ -1,79 +1,64 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <packages> | <packages> | ||||||
|   <package id="Acr.Support" version="2.1.0" targetFramework="xamarinios10" /> |   <package id="Microsoft.CSharp" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Acr.UserDialogs" version="6.3.3" targetFramework="xamarinios10" /> |   <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Autofac" version="4.5.0" targetFramework="xamarinios10" /> |   <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="IdentityModel" version="1.3.1" targetFramework="xamarinios10" /> |   <package id="NETStandard.Library" version="2.0.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Microsoft.Bcl" version="1.1.10" targetFramework="xamarinios10" /> |   <package id="Newtonsoft.Json" version="10.0.3" targetFramework="xamarinios10" /> | ||||||
|   <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="xamarinios10" /> |   <package id="System.AppContext" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="xamarinios10" /> |   <package id="System.Collections" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Microsoft.NETCore.Platforms" version="1.0.1" targetFramework="xamarinios10" /> |   <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="modernhttpclient" version="2.4.2" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="NETStandard.Library" version="1.6.0" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="Newtonsoft.Json" version="9.0.1" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="PCLCrypto" version="2.0.147" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="PInvoke.BCrypt" version="0.3.2" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="PInvoke.Kernel32" version="0.3.2" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="PInvoke.NCrypt" version="0.3.2" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="PInvoke.Windows.Core" version="0.3.2" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="SlideOverKit" version="2.1.4" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="Splat" version="1.6.2" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="System.AppContext" version="4.1.0" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="System.Collections" version="4.0.11" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="xamarinios10" /> |  | ||||||
|   <package id="System.ComponentModel" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.ComponentModel" version="4.0.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Console" version="4.0.0" targetFramework="xamarinios10" /> |   <package id="System.ComponentModel.TypeConverter" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Console" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Diagnostics.Tools" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Diagnostics.Tracing" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Globalization" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Globalization.Calendars" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Globalization" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.IO" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Globalization.Calendars" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.IO.Compression" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.IO" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.IO.Compression.ZipFile" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.IO.Compression" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.IO.FileSystem" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.IO.FileSystem" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Linq" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Linq.Expressions" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Linq" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Net.Http" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Linq.Expressions" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Net.Primitives" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Net.Http" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Net.Sockets" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Net.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.ObjectModel" version="4.0.12" targetFramework="xamarinios10" /> |   <package id="System.Net.Sockets" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Reflection" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.ObjectModel" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Reflection" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Reflection.Primitives" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Reflection.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Runtime" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Runtime" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Runtime.Handles" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Runtime.Handles" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="xamarinios10" /> |   <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Runtime.Numerics" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Security.Cryptography.Algorithms" version="4.2.0" targetFramework="xamarinios10" /> |   <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Security.Cryptography.Encoding" version="4.0.0" targetFramework="xamarinios10" /> |   <package id="System.Runtime.Serialization.Formatters" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Security.Cryptography.Primitives" version="4.0.0" targetFramework="xamarinios10" /> |   <package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Security.Cryptography.X509Certificates" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Text.Encoding" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Text.Encoding.Extensions" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="xamarinios10" /> |   <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Threading" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Text.Encoding" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Threading.Tasks" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Threading.Timer" version="4.0.1" targetFramework="xamarinios10" /> |   <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Xml.ReaderWriter" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Threading" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="System.Xml.XDocument" version="4.0.11" targetFramework="xamarinios10" /> |   <package id="System.Threading.Tasks" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Validation" version="2.2.8" targetFramework="xamarinios10" /> |   <package id="System.Threading.Timer" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="WebP.Touch" version="1.0.3" targetFramework="xamarinios10" /> |   <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="xamarinios10" /> |   <package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Xam.Plugins.Settings" version="2.6.0.12-beta" targetFramework="xamarinios10" /> |   <package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="Xamarin.FFImageLoading" version="2.2.9" targetFramework="xamarinios10" /> |   <package id="Xamarin.Forms" version="2.5.0.122203" targetFramework="xamarinios10" /> | ||||||
|   <package id="Xamarin.FFImageLoading.Forms" version="2.2.9" targetFramework="xamarinios10" /> |   <package id="xunit" version="2.3.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="Xamarin.Forms" version="2.5.0.91635" targetFramework="xamarinios10" /> |   <package id="xunit.abstractions" version="2.0.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.abstractions" version="2.0.0" targetFramework="xamarinios10" /> |   <package id="xunit.analyzers" version="0.7.0" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.assert" version="2.2.0" targetFramework="xamarinios10" /> |   <package id="xunit.assert" version="2.3.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.core" version="2.1.0" targetFramework="xamarinios10" /> |   <package id="xunit.core" version="2.3.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.extensibility.core" version="2.1.0" targetFramework="xamarinios10" /> |   <package id="xunit.extensibility.core" version="2.3.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.extensibility.execution" version="2.1.0" targetFramework="xamarinios10" /> |   <package id="xunit.extensibility.execution" version="2.3.1" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.runner.devices" version="2.1.0" targetFramework="xamarinios10" /> |   <package id="xunit.runner.devices" version="2.3.3" targetFramework="xamarinios10" /> | ||||||
|   <package id="xunit.runner.utility" version="2.1.0" targetFramework="xamarinios10" /> |  | ||||||
| </packages> | </packages> | ||||||
| @ -1,23 +0,0 @@ | |||||||
| using Xamarin.UITest; |  | ||||||
| 
 |  | ||||||
| namespace eShopOnContainers.UITests |  | ||||||
| { |  | ||||||
|     public class AppInitializer |  | ||||||
|     { |  | ||||||
|         public static IApp StartApp(Platform platform) |  | ||||||
|         { |  | ||||||
|             if (platform == Platform.Android) |  | ||||||
|             { |  | ||||||
|                 return ConfigureApp |  | ||||||
|                     .Android |  | ||||||
|                     .ApkFile(@"..\..\..\eShopOnContainers.Droid\bin\Release\eShopOnContainers.Droid.apk") |  | ||||||
|                     .StartApp(); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             return ConfigureApp |  | ||||||
|                 .iOS |  | ||||||
|                 .StartApp(); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @ -1,42 +0,0 @@ | |||||||
| using NUnit.Framework; |  | ||||||
| using Xamarin.UITest; |  | ||||||
| 
 |  | ||||||
| namespace eShopOnContainers.UITests |  | ||||||
| { |  | ||||||
|     [TestFixture(Platform.Android)] |  | ||||||
|     [TestFixture(Platform.iOS)] |  | ||||||
|     public class Tests |  | ||||||
|     { |  | ||||||
|         IApp app; |  | ||||||
|         Platform platform; |  | ||||||
| 
 |  | ||||||
|         public Tests(Platform platform) |  | ||||||
|         { |  | ||||||
|             this.platform = platform; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         [SetUp] |  | ||||||
|         public void BeforeEachTest() |  | ||||||
|         { |  | ||||||
|             app = AppInitializer.StartApp(platform); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         [Test] |  | ||||||
|         public void AppLaunches() |  | ||||||
|         { |  | ||||||
|             app.Screenshot("First screen."); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         [Test] |  | ||||||
|         public void LoginTest() |  | ||||||
|         { |  | ||||||
|             app.Tap(x => x.Text("[ LOGIN ]")); |  | ||||||
|             app.Tap(x => x.Class("WebView").Css("INPUT#Email")); |  | ||||||
|             app.EnterText(x => x.Class("WebView").Css("INPUT#Email"), "jdoe@eshop.com"); |  | ||||||
|             app.Tap(x => x.Class("WebView").Css("INPUT#Password")); |  | ||||||
|             app.EnterText(x => x.Class("WebView").Css("INPUT#Password"), "eshopContainers.123"); |  | ||||||
|             app.Tap(x => x.Class("WebView").Css("BUTTON.btn.btn-default.btn-brand.btn-brand-big")); |  | ||||||
|             app.Screenshot("eShopOnContainers Login process"); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,11 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <configuration> |  | ||||||
|   <runtime> |  | ||||||
|     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |  | ||||||
|       <dependentAssembly> |  | ||||||
|         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> |  | ||||||
|         <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> |  | ||||||
|       </dependentAssembly> |  | ||||||
|     </assemblyBinding> |  | ||||||
|   </runtime> |  | ||||||
| </configuration> |  | ||||||
| @ -1,69 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |  | ||||||
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |  | ||||||
|     <ProjectGuid>{E3B18084-842C-4B80-8E4A-A7E588EC3137}</ProjectGuid> |  | ||||||
|     <OutputType>Library</OutputType> |  | ||||||
|     <RootNamespace>eShopOnContainers.UITests</RootNamespace> |  | ||||||
|     <AssemblyName>eShopOnContainers.UITests</AssemblyName> |  | ||||||
|     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |  | ||||||
|     <DebugSymbols>true</DebugSymbols> |  | ||||||
|     <DebugType>full</DebugType> |  | ||||||
|     <Optimize>false</Optimize> |  | ||||||
|     <OutputPath>bin\Debug</OutputPath> |  | ||||||
|     <DefineConstants>DEBUG;</DefineConstants> |  | ||||||
|     <ErrorReport>prompt</ErrorReport> |  | ||||||
|     <WarningLevel>4</WarningLevel> |  | ||||||
|     <ConsolePause>false</ConsolePause> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |  | ||||||
|     <DebugType>full</DebugType> |  | ||||||
|     <Optimize>true</Optimize> |  | ||||||
|     <OutputPath>bin\Release</OutputPath> |  | ||||||
|     <ErrorReport>prompt</ErrorReport> |  | ||||||
|     <WarningLevel>4</WarningLevel> |  | ||||||
|     <ConsolePause>false</ConsolePause> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath> |  | ||||||
|       <Private>False</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath> |  | ||||||
|       <Private>False</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath> |  | ||||||
|       <Private>False</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath> |  | ||||||
|       <Private>False</Private> |  | ||||||
|     </Reference> |  | ||||||
|     <Reference Include="System" /> |  | ||||||
|     <Reference Include="Xamarin.UITest, Version=2.0.3.0, Culture=neutral, processorArchitecture=MSIL"> |  | ||||||
|       <HintPath>..\..\..\..\packages\Xamarin.UITest.2.0.3\lib\Xamarin.UITest.dll</HintPath> |  | ||||||
|       <Private>True</Private> |  | ||||||
|     </Reference> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Compile Include="Tests.cs" /> |  | ||||||
|     <Compile Include="AppInitializer.cs" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <None Include="app.config" /> |  | ||||||
|     <None Include="packages.config" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |  | ||||||
| </Project> |  | ||||||
| @ -1,6 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <packages> |  | ||||||
|   <package id="NUnit" version="2.6.4" targetFramework="net45" /> |  | ||||||
|   <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net45" /> |  | ||||||
|   <package id="Xamarin.UITest" version="2.0.3" targetFramework="net45" /> |  | ||||||
| </packages> |  | ||||||
| @ -1,7 +1,7 @@ | |||||||
| using Xunit; | using System; | ||||||
| using Xamarin.Forms; |  | ||||||
| using System; |  | ||||||
| using System.Globalization; | using System.Globalization; | ||||||
|  | using Xamarin.Forms; | ||||||
|  | using Xunit; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.UnitTests | namespace eShopOnContainers.UnitTests | ||||||
| { | { | ||||||
|  | |||||||
| @ -0,0 +1,65 @@ | |||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
|  | using System; | ||||||
|  | 
 | ||||||
|  | namespace eShopOnContainers.UnitTests.Mocks | ||||||
|  | { | ||||||
|  |     public class MockSettingsService : ISettingsService | ||||||
|  |     { | ||||||
|  |         string _accessTokenDefault = string.Empty; | ||||||
|  |         string _idTokenDefault = string.Empty; | ||||||
|  |         bool _useMocksDefault = true; | ||||||
|  |         string _urlBaseDefault = "https://13.88.8.119"; | ||||||
|  |         bool _useFakeLocationDefault = false; | ||||||
|  |         bool _allowGpsLocationDefault = false; | ||||||
|  |         double _fakeLatitudeDefault = 47.604610d; | ||||||
|  |         double _fakeLongitudeDefault = -122.315752d; | ||||||
|  | 
 | ||||||
|  |         public string AuthAccessToken | ||||||
|  |         { | ||||||
|  |             get { return _accessTokenDefault; } | ||||||
|  |             set { _accessTokenDefault = value; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string AuthIdToken | ||||||
|  |         { | ||||||
|  |             get { return _idTokenDefault; } | ||||||
|  |             set { _idTokenDefault = value; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool UseMocks | ||||||
|  |         { | ||||||
|  |             get { return _useMocksDefault; } | ||||||
|  |             set { _useMocksDefault = value; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string UrlBase | ||||||
|  |         { | ||||||
|  |             get { return _urlBaseDefault; } | ||||||
|  |             set { _urlBaseDefault = value; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool UseFakeLocation | ||||||
|  |         { | ||||||
|  |             get { return _useFakeLocationDefault; } | ||||||
|  |             set { _useFakeLocationDefault = value; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string Latitude | ||||||
|  |         { | ||||||
|  |             get { return _fakeLatitudeDefault.ToString(); } | ||||||
|  |             set { _fakeLatitudeDefault = Convert.ToDouble(value); } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string Longitude | ||||||
|  |         { | ||||||
|  |             get { return _fakeLongitudeDefault.ToString(); } | ||||||
|  |             set { _fakeLongitudeDefault = Convert.ToDouble(value); } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool AllowGpsLocation | ||||||
|  |         { | ||||||
|  |             get { return _allowGpsLocationDefault; } | ||||||
|  |             set { _allowGpsLocationDefault = value; } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -1,5 +1,5 @@ | |||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.Validations; | ||||||
| using eShopOnContainers.Core.Validations; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.UnitTests | namespace eShopOnContainers.UnitTests | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,30 +0,0 @@ | |||||||
| using System.Resources; |  | ||||||
| using System.Reflection; |  | ||||||
| using System.Runtime.CompilerServices; |  | ||||||
| using System.Runtime.InteropServices; |  | ||||||
| 
 |  | ||||||
| // La información general de un ensamblado se controla mediante el siguiente  |  | ||||||
| // conjunto de atributos. Cambie estos valores de atributo para modificar la información |  | ||||||
| // asociada con un ensamblado. |  | ||||||
| [assembly: AssemblyTitle("eShopOnContainers.UnitTests")] |  | ||||||
| [assembly: AssemblyDescription("")] |  | ||||||
| [assembly: AssemblyConfiguration("")] |  | ||||||
| [assembly: AssemblyCompany("")] |  | ||||||
| [assembly: AssemblyProduct("eShopOnContainers.UnitTests")] |  | ||||||
| [assembly: AssemblyCopyright("Copyright ©  2016")] |  | ||||||
| [assembly: AssemblyTrademark("")] |  | ||||||
| [assembly: AssemblyCulture("")] |  | ||||||
| [assembly: NeutralResourcesLanguage("es")] |  | ||||||
| 
 |  | ||||||
| // La información de versión de un ensamblado consta de los cuatro valores siguientes: |  | ||||||
| // |  | ||||||
| //      Versión principal |  | ||||||
| //      Versión secundaria  |  | ||||||
| //      Número de compilación |  | ||||||
| //      Revisión |  | ||||||
| // |  | ||||||
| // Puede especificar todos los valores o usar los valores predeterminados de número de compilación y de revisión  |  | ||||||
| // mediante el carácter '*', como se muestra a continuación: |  | ||||||
| // [assembly: AssemblyVersion("1.0.*")] |  | ||||||
| [assembly: AssemblyVersion("1.0.0.0")] |  | ||||||
| [assembly: AssemblyFileVersion("1.0.0.0")] |  | ||||||
| @ -11,7 +11,7 @@ namespace eShopOnContainers.UnitTests | |||||||
|         { |         { | ||||||
|             var catalogMockService = new CatalogMockService();        |             var catalogMockService = new CatalogMockService();        | ||||||
|             var result  = await catalogMockService.GetCatalogAsync(); |             var result  = await catalogMockService.GetCatalogAsync(); | ||||||
|             Assert.NotEqual(0, result.Count); |             Assert.NotEmpty(result); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -12,7 +12,7 @@ namespace eShopOnContainers.UnitTests | |||||||
|             var catalogMockService = new CatalogMockService(); |             var catalogMockService = new CatalogMockService(); | ||||||
|             var catalog = await catalogMockService.GetCatalogAsync(); |             var catalog = await catalogMockService.GetCatalogAsync(); | ||||||
| 
 | 
 | ||||||
|             Assert.NotEqual(0, catalog.Count); |             Assert.NotEmpty(catalog); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         [Fact] |         [Fact] | ||||||
| @ -21,7 +21,7 @@ namespace eShopOnContainers.UnitTests | |||||||
|             var catalogMockService = new CatalogMockService(); |             var catalogMockService = new CatalogMockService(); | ||||||
|             var catalogBrand = await catalogMockService.GetCatalogBrandAsync(); |             var catalogBrand = await catalogMockService.GetCatalogBrandAsync(); | ||||||
| 
 | 
 | ||||||
|             Assert.NotEqual(0, catalogBrand.Count); |             Assert.NotEmpty(catalogBrand); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         [Fact] |         [Fact] | ||||||
| @ -30,7 +30,7 @@ namespace eShopOnContainers.UnitTests | |||||||
|             var catalogMockService = new CatalogMockService(); |             var catalogMockService = new CatalogMockService(); | ||||||
|             var catalogType = await catalogMockService.GetCatalogTypeAsync(); |             var catalogType = await catalogMockService.GetCatalogTypeAsync(); | ||||||
| 
 | 
 | ||||||
|             Assert.NotEqual(0, catalogType.Count); |             Assert.NotEmpty(catalogType); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1,11 +1,10 @@ | |||||||
| namespace eShopOnContainers.UnitTests.Services | using eShopOnContainers.Core; | ||||||
| { | using eShopOnContainers.Core.Services.Marketing; | ||||||
|     using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
|     using Core; | using Xunit; | ||||||
|     using Core.Helpers; |  | ||||||
|     using Core.Services.Marketing; |  | ||||||
|     using Xunit; |  | ||||||
| 
 | 
 | ||||||
|  | namespace eShopOnContainers.UnitTests.Services | ||||||
|  | { | ||||||
|     public class MarketingServiceTests |     public class MarketingServiceTests | ||||||
|     { |     { | ||||||
|         [Fact] |         [Fact] | ||||||
| @ -23,7 +22,7 @@ | |||||||
|             var campaignMockService = new CampaignMockService(); |             var campaignMockService = new CampaignMockService(); | ||||||
|             var result = await campaignMockService.GetAllCampaignsAsync(GlobalSetting.Instance.AuthToken); |             var result = await campaignMockService.GetAllCampaignsAsync(GlobalSetting.Instance.AuthToken); | ||||||
| 
 | 
 | ||||||
|             Assert.NotEqual(0, result.Count); |             Assert.NotEmpty(result); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -22,7 +22,7 @@ namespace eShopOnContainers.UnitTests | |||||||
|             var ordersMockService = new OrderMockService(); |             var ordersMockService = new OrderMockService(); | ||||||
|             var result = await ordersMockService.GetOrdersAsync(GlobalSetting.Instance.AuthToken); |             var result = await ordersMockService.GetOrdersAsync(GlobalSetting.Instance.AuthToken); | ||||||
| 
 | 
 | ||||||
|             Assert.NotEqual(0, result.Count); |             Assert.NotEmpty(result); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1,10 +1,12 @@ | |||||||
| using Xunit; | using eShopOnContainers.Core.Models.Catalog; | ||||||
|  | using eShopOnContainers.Core.Services.Catalog; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.ViewModels; | using eShopOnContainers.Core.ViewModels; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using eShopOnContainers.Core.Services.Catalog; | using eShopOnContainers.UnitTests.Mocks; | ||||||
| using eShopOnContainers.Core.Models.Catalog; |  | ||||||
| using System.Threading.Tasks; |  | ||||||
| using System.Linq; | using System.Linq; | ||||||
|  | using System.Threading.Tasks; | ||||||
|  | using Xunit; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.UnitTests | namespace eShopOnContainers.UnitTests | ||||||
| { | { | ||||||
| @ -12,7 +14,8 @@ namespace eShopOnContainers.UnitTests | |||||||
|     { |     { | ||||||
|         public CatalogViewModelTests() |         public CatalogViewModelTests() | ||||||
|         { |         { | ||||||
| 			ViewModelLocator.RegisterDependencies(true); |             ViewModelLocator.UpdateDependencies(true); | ||||||
|  |             ViewModelLocator.RegisterSingleton<ISettingsService, MockSettingsService>(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         [Fact] |         [Fact] | ||||||
|  | |||||||
| @ -1,8 +1,10 @@ | |||||||
| using Xunit; | using eShopOnContainers.Core.Models.Navigation; | ||||||
|  | using eShopOnContainers.Core.Services.Settings; | ||||||
| using eShopOnContainers.Core.ViewModels; | using eShopOnContainers.Core.ViewModels; | ||||||
| using eShopOnContainers.Core.ViewModels.Base; | using eShopOnContainers.Core.ViewModels.Base; | ||||||
| using eShopOnContainers.Core.Models.Navigation; | using eShopOnContainers.UnitTests.Mocks; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
|  | using Xunit; | ||||||
| 
 | 
 | ||||||
| namespace eShopOnContainers.UnitTests | namespace eShopOnContainers.UnitTests | ||||||
| { | { | ||||||
| @ -10,7 +12,8 @@ namespace eShopOnContainers.UnitTests | |||||||
|     { |     { | ||||||
|         public MainViewModelTests() |         public MainViewModelTests() | ||||||
|         { |         { | ||||||
| 			ViewModelLocator.RegisterDependencies(true); |             ViewModelLocator.UpdateDependencies(true); | ||||||
|  |             ViewModelLocator.RegisterSingleton<ISettingsService, MockSettingsService>(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         [Fact] |         [Fact] | ||||||
|  | |||||||