@ -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" |
@ -0,0 +1,5 @@ | |||
apiVersion: v1 | |||
kind: Namespace | |||
metadata: | |||
name: eshop | |||
@ -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,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,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")] |
@ -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; | |||
} | |||
} |
@ -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); | |||
} | |||
} | |||
} |
@ -1,10 +1,9 @@ | |||
namespace eShopOnContainers.Core.Services.Location | |||
{ | |||
using System.Threading.Tasks; | |||
using Models.Location; | |||
using System.Threading.Tasks; | |||
namespace eShopOnContainers.Core.Services.Location | |||
{ | |||
public interface ILocationService | |||
{ | |||
Task UpdateUserLocation(Location newLocReq, string token); | |||
Task UpdateUserLocation(eShopOnContainers.Core.Models.Location.Location newLocReq, string token); | |||
} | |||
} |
@ -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,117 +1,131 @@ | |||
using Autofac; | |||
using eShopOnContainers.Services; | |||
using System; | |||
using System.Globalization; | |||
using System.Reflection; | |||
using eShopOnContainers.Core.Services.Basket; | |||
using eShopOnContainers.Core.Services.Catalog; | |||
using eShopOnContainers.Core.Services.OpenUrl; | |||
using eShopOnContainers.Core.Services.RequestProvider; | |||
using eShopOnContainers.Core.Services.Basket; | |||
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 System; | |||
using System.Globalization; | |||
using System.Reflection; | |||
using TinyIoC; | |||
using Xamarin.Forms; | |||
using eShopOnContainers.Core.Services.Location; | |||
using eShopOnContainers.Core.Services.Marketing; | |||
namespace eShopOnContainers.Core.ViewModels.Base | |||
{ | |||
public static class ViewModelLocator | |||
{ | |||
private static IContainer _container; | |||
public static readonly BindableProperty AutoWireViewModelProperty = | |||
BindableProperty.CreateAttached("AutoWireViewModel", typeof(bool), typeof(ViewModelLocator), default(bool), propertyChanged: OnAutoWireViewModelChanged); | |||
public static bool GetAutoWireViewModel(BindableObject bindable) | |||
{ | |||
return (bool)bindable.GetValue(ViewModelLocator.AutoWireViewModelProperty); | |||
} | |||
public static void SetAutoWireViewModel(BindableObject bindable, bool value) | |||
{ | |||
bindable.SetValue(ViewModelLocator.AutoWireViewModelProperty, value); | |||
} | |||
public static bool UseMockService { get; set; } | |||
public static void RegisterDependencies(bool useMockServices) | |||
{ | |||
var builder = new ContainerBuilder(); | |||
// View models | |||
builder.RegisterType<BasketViewModel>(); | |||
builder.RegisterType<CatalogViewModel>(); | |||
builder.RegisterType<CheckoutViewModel>(); | |||
builder.RegisterType<LoginViewModel>(); | |||
builder.RegisterType<MainViewModel>(); | |||
builder.RegisterType<OrderDetailViewModel>(); | |||
builder.RegisterType<ProfileViewModel>(); | |||
builder.RegisterType<SettingsViewModel>(); | |||
builder.RegisterType<CampaignViewModel>(); | |||
builder.RegisterType<CampaignDetailsViewModel>(); | |||
private static TinyIoCContainer _container; | |||
public static readonly BindableProperty AutoWireViewModelProperty = | |||
BindableProperty.CreateAttached("AutoWireViewModel", typeof(bool), typeof(ViewModelLocator), default(bool), propertyChanged: OnAutoWireViewModelChanged); | |||
public static bool GetAutoWireViewModel(BindableObject bindable) | |||
{ | |||
return (bool)bindable.GetValue(ViewModelLocator.AutoWireViewModelProperty); | |||
} | |||
public static void SetAutoWireViewModel(BindableObject bindable, bool value) | |||
{ | |||
bindable.SetValue(ViewModelLocator.AutoWireViewModelProperty, value); | |||
} | |||
public static bool UseMockService { get; set; } | |||
static ViewModelLocator() | |||
{ | |||
_container = new TinyIoCContainer(); | |||
// View models | |||
_container.Register<BasketViewModel>(); | |||
_container.Register<CatalogViewModel>(); | |||
_container.Register<CheckoutViewModel>(); | |||
_container.Register<LoginViewModel>(); | |||
_container.Register<MainViewModel>(); | |||
_container.Register<OrderDetailViewModel>(); | |||
_container.Register<ProfileViewModel>(); | |||
_container.Register<SettingsViewModel>(); | |||
_container.Register<CampaignViewModel>(); | |||
_container.Register<CampaignDetailsViewModel>(); | |||
// Services | |||
builder.RegisterType<NavigationService>().As<INavigationService>().SingleInstance(); | |||
builder.RegisterType<DialogService>().As<IDialogService>(); | |||
builder.RegisterType<OpenUrlService>().As<IOpenUrlService>(); | |||
builder.RegisterType<IdentityService>().As<IIdentityService>(); | |||
builder.RegisterType<RequestProvider>().As<IRequestProvider>(); | |||
builder.RegisterType<LocationService>().As<ILocationService>().SingleInstance(); | |||
_container.Register<INavigationService, NavigationService>().AsSingleton(); | |||
_container.Register<IDialogService, DialogService>(); | |||
_container.Register<IOpenUrlService, OpenUrlService>(); | |||
_container.Register<IIdentityService, IdentityService>(); | |||
_container.Register<IRequestProvider, RequestProvider>(); | |||
_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) | |||
{ | |||
builder.RegisterInstance(new CatalogMockService()).As<ICatalogService>(); | |||
builder.RegisterInstance(new BasketMockService()).As<IBasketService>(); | |||
builder.RegisterInstance(new OrderMockService()).As<IOrderService>(); | |||
builder.RegisterInstance(new UserMockService()).As<IUserService>(); | |||
builder.RegisterInstance(new CampaignMockService()).As<ICampaignService>(); | |||
{ | |||
_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(); | |||
UseMockService = true; | |||
} | |||
else | |||
{ | |||
builder.RegisterType<CatalogService>().As<ICatalogService>().SingleInstance(); | |||
builder.RegisterType<BasketService>().As<IBasketService>().SingleInstance(); | |||
builder.RegisterType<OrderService>().As<IOrderService>().SingleInstance(); | |||
builder.RegisterType<UserService>().As<IUserService>().SingleInstance(); | |||
builder.RegisterType<CampaignService>().As<ICampaignService>().SingleInstance(); | |||
} | |||
else | |||
{ | |||
_container.Register<ICatalogService, CatalogService>().AsSingleton(); | |||
_container.Register<IBasketService, BasketService>().AsSingleton(); | |||
_container.Register<IOrderService, OrderService>().AsSingleton(); | |||
_container.Register<IUserService, UserService>().AsSingleton(); | |||
_container.Register<ICampaignService, CampaignService>().AsSingleton(); | |||
UseMockService = false; | |||
} | |||
if (_container != null) | |||
{ | |||
_container.Dispose(); | |||
} | |||
_container = builder.Build(); | |||
} | |||
public static T Resolve<T>() | |||
{ | |||
return _container.Resolve<T>(); | |||
} | |||
private static void OnAutoWireViewModelChanged(BindableObject bindable, object oldValue, object newValue) | |||
{ | |||
var view = bindable as Element; | |||
if (view == null) | |||
{ | |||
return; | |||
} | |||
var viewType = view.GetType(); | |||
var viewName = viewType.FullName.Replace(".Views.", ".ViewModels."); | |||
var viewAssemblyName = viewType.GetTypeInfo().Assembly.FullName; | |||
var viewModelName = string.Format(CultureInfo.InvariantCulture, "{0}Model, {1}", viewName, viewAssemblyName); | |||
var viewModelType = Type.GetType(viewModelName); | |||
if (viewModelType == null) | |||
{ | |||
return; | |||
} | |||
var viewModel = _container.Resolve(viewModelType); | |||
view.BindingContext = viewModel; | |||
} | |||
} | |||
} | |||
} | |||
public static void RegisterSingleton<TInterface, T>() where TInterface : class where T : class, TInterface | |||
{ | |||
_container.Register<TInterface, T>().AsSingleton(); | |||
} | |||
public static T Resolve<T>() where T : class | |||
{ | |||
return _container.Resolve<T>(); | |||
} | |||
private static void OnAutoWireViewModelChanged(BindableObject bindable, object oldValue, object newValue) | |||
{ | |||
var view = bindable as Element; | |||
if (view == null) | |||
{ | |||
return; | |||
} | |||
var viewType = view.GetType(); | |||
var viewName = viewType.FullName.Replace(".Views.", ".ViewModels."); | |||
var viewAssemblyName = viewType.GetTypeInfo().Assembly.FullName; | |||
var viewModelName = string.Format(CultureInfo.InvariantCulture, "{0}Model, {1}", viewName, viewAssemblyName); | |||
var viewModelType = Type.GetType(viewModelName); | |||
if (viewModelType == null) | |||
{ | |||
return; | |||
} | |||
var viewModel = _container.Resolve(viewModelType); | |||
view.BindingContext = viewModel; | |||
} | |||
} | |||
} |
@ -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 DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||
<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> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
</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> | |||
<ItemGroup> | |||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||
<Compile Include="App.xaml.cs"> | |||
<DependentUpon>App.xaml</DependentUpon> | |||
</Compile> | |||
<Compile Include="Animations\FadeToAnimation.cs" /> | |||
<Compile Include="Animations\StoryBoard.cs" /> | |||
<Compile Include="Animations\Base\AnimationBase.cs" /> | |||
<Compile Include="Animations\Base\EasingType.cs" /> | |||
<Compile Include="Controls\AddBasketButton.xaml.cs"> | |||
<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> | |||
<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> | |||
<PackageReference Include="System.ComponentModel.Annotations" Version="4.4.1" /> | |||
<PackageReference Include="Acr.UserDialogs" Version="6.5.1" /> | |||
<PackageReference Include="SlideOverKit" Version="2.1.5" /> | |||
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" /> | |||
<PackageReference Include="PCLCrypto" Version="2.0.147" /> | |||
<PackageReference Include="Xam.Plugin.Geolocator" Version="3.0.4" /> | |||
<PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.3.4" /> | |||
<PackageReference Include="Xamarin.Forms" Version="2.5.0.122203" /> | |||
<PackageReference Include="IdentityModel" Version="3.0.0" /> | |||
</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,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); | |||
} | |||
} | |||
} | |||
}*/ |
@ -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,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,79 +1,64 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<packages> | |||
<package id="Acr.Support" version="2.1.0" targetFramework="xamarinios10" /> | |||
<package id="Acr.UserDialogs" version="6.3.3" targetFramework="xamarinios10" /> | |||
<package id="Autofac" version="4.5.0" targetFramework="xamarinios10" /> | |||
<package id="IdentityModel" version="1.3.1" targetFramework="xamarinios10" /> | |||
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="xamarinios10" /> | |||
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="xamarinios10" /> | |||
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="xamarinios10" /> | |||
<package id="Microsoft.NETCore.Platforms" version="1.0.1" 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="Microsoft.CSharp" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="xamarinios10" /> | |||
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="NETStandard.Library" version="2.0.0" targetFramework="xamarinios10" /> | |||
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="xamarinios10" /> | |||
<package id="System.AppContext" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Collections" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Collections.Concurrent" version="4.3.0" 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.Diagnostics.Debug" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Diagnostics.Tools" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Diagnostics.Tracing" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Globalization" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Globalization.Calendars" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.IO" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO.Compression" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO.Compression.ZipFile" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.IO.FileSystem" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Linq" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Linq.Expressions" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Net.Http" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Net.Primitives" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Net.Sockets" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.ObjectModel" version="4.0.12" targetFramework="xamarinios10" /> | |||
<package id="System.Reflection" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Reflection.Extensions" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Reflection.Primitives" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Extensions" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Handles" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Numerics" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.Algorithms" version="4.2.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.Encoding" version="4.0.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.Primitives" version="4.0.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.X509Certificates" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Text.Encoding" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Text.Encoding.Extensions" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.Threading" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Threading.Tasks" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Threading.Timer" version="4.0.1" targetFramework="xamarinios10" /> | |||
<package id="System.Xml.ReaderWriter" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="System.Xml.XDocument" version="4.0.11" targetFramework="xamarinios10" /> | |||
<package id="Validation" version="2.2.8" targetFramework="xamarinios10" /> | |||
<package id="WebP.Touch" version="1.0.3" targetFramework="xamarinios10" /> | |||
<package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="xamarinios10" /> | |||
<package id="Xam.Plugins.Settings" version="2.6.0.12-beta" targetFramework="xamarinios10" /> | |||
<package id="Xamarin.FFImageLoading" version="2.2.9" targetFramework="xamarinios10" /> | |||
<package id="Xamarin.FFImageLoading.Forms" version="2.2.9" targetFramework="xamarinios10" /> | |||
<package id="Xamarin.Forms" version="2.5.0.91635" targetFramework="xamarinios10" /> | |||
<package id="xunit.abstractions" version="2.0.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.assert" version="2.2.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.core" version="2.1.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.extensibility.core" version="2.1.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.extensibility.execution" version="2.1.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.runner.devices" version="2.1.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.runner.utility" version="2.1.0" targetFramework="xamarinios10" /> | |||
<package id="System.ComponentModel.TypeConverter" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Console" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Globalization" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO.Compression" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Linq" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Net.Http" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Net.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Net.Sockets" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.ObjectModel" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Reflection" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Serialization.Formatters" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Text.Encoding" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Threading" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Threading.Timer" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="xamarinios10" /> | |||
<package id="Xamarin.Forms" version="2.5.0.122203" targetFramework="xamarinios10" /> | |||
<package id="xunit" version="2.3.1" targetFramework="xamarinios10" /> | |||
<package id="xunit.abstractions" version="2.0.1" targetFramework="xamarinios10" /> | |||
<package id="xunit.analyzers" version="0.7.0" targetFramework="xamarinios10" /> | |||
<package id="xunit.assert" version="2.3.1" targetFramework="xamarinios10" /> | |||
<package id="xunit.core" version="2.3.1" targetFramework="xamarinios10" /> | |||
<package id="xunit.extensibility.core" version="2.3.1" targetFramework="xamarinios10" /> | |||
<package id="xunit.extensibility.execution" version="2.3.1" targetFramework="xamarinios10" /> | |||
<package id="xunit.runner.devices" version="2.3.3" targetFramework="xamarinios10" /> | |||
</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> |
@ -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,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")] |
@ -1,223 +1,226 @@ | |||
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.Base; | |||
using eShopOnContainers.Core.Services.Catalog; | |||
using eShopOnContainers.Core.Models.Catalog; | |||
using System.Threading.Tasks; | |||
using eShopOnContainers.UnitTests.Mocks; | |||
using System.Linq; | |||
using System.Threading.Tasks; | |||
using Xunit; | |||
namespace eShopOnContainers.UnitTests | |||
{ | |||
public class CatalogViewModelTests | |||
{ | |||
public CatalogViewModelTests() | |||
{ | |||
ViewModelLocator.RegisterDependencies(true); | |||
} | |||
[Fact] | |||
public void AddCatalogItemCommandIsNotNullTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.NotNull(catalogViewModel.AddCatalogItemCommand); | |||
} | |||
[Fact] | |||
public void FilterCommandIsNotNullTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.NotNull(catalogViewModel.FilterCommand); | |||
} | |||
[Fact] | |||
public void ClearFilterCommandIsNotNullTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.NotNull(catalogViewModel.ClearFilterCommand); | |||
} | |||
[Fact] | |||
public void ProductsPropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Products); | |||
} | |||
[Fact] | |||
public void BrandsPropertyuIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Brands); | |||
} | |||
[Fact] | |||
public void BrandPropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Brand); | |||
} | |||
[Fact] | |||
public void TypesPropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Types); | |||
} | |||
[Fact] | |||
public void TypePropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Type); | |||
} | |||
[Fact] | |||
public void IsFilterPropertyIsFalseWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.False(catalogViewModel.IsFilter); | |||
} | |||
[Fact] | |||
public async Task ProductsPropertyIsNotNullAfterViewModelInitializationTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.NotNull(catalogViewModel.Products); | |||
} | |||
[Fact] | |||
public async Task BrandsPropertyIsNotNullAfterViewModelInitializationTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.NotNull(catalogViewModel.Brands); | |||
} | |||
[Fact] | |||
public async Task TypesPropertyIsNotNullAfterViewModelInitializationTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.NotNull(catalogViewModel.Types); | |||
} | |||
[Fact] | |||
public async Task SettingProductsPropertyShouldRaisePropertyChanged() | |||
{ | |||
bool invoked = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
catalogViewModel.PropertyChanged += (sender, e) => | |||
{ | |||
if (e.PropertyName.Equals("Products")) | |||
invoked = true; | |||
}; | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.True(invoked); | |||
} | |||
[Fact] | |||
public async Task SettingBrandsPropertyShouldRaisePropertyChanged() | |||
{ | |||
bool invoked = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
catalogViewModel.PropertyChanged += (sender, e) => | |||
{ | |||
if (e.PropertyName.Equals("Brands")) | |||
invoked = true; | |||
}; | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.True(invoked); | |||
} | |||
[Fact] | |||
public async Task SettingTypesPropertyShouldRaisePropertyChanged() | |||
{ | |||
bool invoked = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
catalogViewModel.PropertyChanged += (sender, e) => | |||
{ | |||
if (e.PropertyName.Equals("Types")) | |||
invoked = true; | |||
}; | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.True(invoked); | |||
} | |||
[Fact] | |||
public void AddCatalogItemCommandSendsAddProductMessageTest() | |||
{ | |||
bool messageReceived = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Xamarin.Forms.MessagingCenter.Subscribe<CatalogViewModel, CatalogItem>(this, MessageKeys.AddProduct, (sender, arg) => | |||
{ | |||
messageReceived = true; | |||
}); | |||
catalogViewModel.AddCatalogItemCommand.Execute(null); | |||
Assert.True(messageReceived); | |||
} | |||
[Fact] | |||
public async Task FilterCommandSendsFilterMessageTest() | |||
{ | |||
bool messageReceived = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
catalogViewModel.Brand = catalogViewModel.Brands.FirstOrDefault(); | |||
catalogViewModel.Type = catalogViewModel.Types.FirstOrDefault(); | |||
Xamarin.Forms.MessagingCenter.Subscribe<CatalogViewModel>(this, MessageKeys.Filter, (sender) => | |||
{ | |||
messageReceived = true; | |||
}); | |||
catalogViewModel.FilterCommand.Execute(null); | |||
Assert.True(messageReceived); | |||
} | |||
[Fact] | |||
public async Task ClearFilterCommandResetsPropertiesTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
catalogViewModel.ClearFilterCommand.Execute(null); | |||
Assert.Null(catalogViewModel.Brand); | |||
Assert.Null(catalogViewModel.Type); | |||
Assert.NotNull(catalogViewModel.Products); | |||
} | |||
} | |||
public class CatalogViewModelTests | |||
{ | |||
public CatalogViewModelTests() | |||
{ | |||
ViewModelLocator.UpdateDependencies(true); | |||
ViewModelLocator.RegisterSingleton<ISettingsService, MockSettingsService>(); | |||
} | |||
[Fact] | |||
public void AddCatalogItemCommandIsNotNullTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.NotNull(catalogViewModel.AddCatalogItemCommand); | |||
} | |||
[Fact] | |||
public void FilterCommandIsNotNullTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.NotNull(catalogViewModel.FilterCommand); | |||
} | |||
[Fact] | |||
public void ClearFilterCommandIsNotNullTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.NotNull(catalogViewModel.ClearFilterCommand); | |||
} | |||
[Fact] | |||
public void ProductsPropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Products); | |||
} | |||
[Fact] | |||
public void BrandsPropertyuIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Brands); | |||
} | |||
[Fact] | |||
public void BrandPropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Brand); | |||
} | |||
[Fact] | |||
public void TypesPropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Types); | |||
} | |||
[Fact] | |||
public void TypePropertyIsNullWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.Null(catalogViewModel.Type); | |||
} | |||
[Fact] | |||
public void IsFilterPropertyIsFalseWhenViewModelInstantiatedTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Assert.False(catalogViewModel.IsFilter); | |||
} | |||
[Fact] | |||
public async Task ProductsPropertyIsNotNullAfterViewModelInitializationTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.NotNull(catalogViewModel.Products); | |||
} | |||
[Fact] | |||
public async Task BrandsPropertyIsNotNullAfterViewModelInitializationTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.NotNull(catalogViewModel.Brands); | |||
} | |||
[Fact] | |||
public async Task TypesPropertyIsNotNullAfterViewModelInitializationTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.NotNull(catalogViewModel.Types); | |||
} | |||
[Fact] | |||
public async Task SettingProductsPropertyShouldRaisePropertyChanged() | |||
{ | |||
bool invoked = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
catalogViewModel.PropertyChanged += (sender, e) => | |||
{ | |||
if (e.PropertyName.Equals("Products")) | |||
invoked = true; | |||
}; | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.True(invoked); | |||
} | |||
[Fact] | |||
public async Task SettingBrandsPropertyShouldRaisePropertyChanged() | |||
{ | |||
bool invoked = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
catalogViewModel.PropertyChanged += (sender, e) => | |||
{ | |||
if (e.PropertyName.Equals("Brands")) | |||
invoked = true; | |||
}; | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.True(invoked); | |||
} | |||
[Fact] | |||
public async Task SettingTypesPropertyShouldRaisePropertyChanged() | |||
{ | |||
bool invoked = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
catalogViewModel.PropertyChanged += (sender, e) => | |||
{ | |||
if (e.PropertyName.Equals("Types")) | |||
invoked = true; | |||
}; | |||
await catalogViewModel.InitializeAsync(null); | |||
Assert.True(invoked); | |||
} | |||
[Fact] | |||
public void AddCatalogItemCommandSendsAddProductMessageTest() | |||
{ | |||
bool messageReceived = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
Xamarin.Forms.MessagingCenter.Subscribe<CatalogViewModel, CatalogItem>(this, MessageKeys.AddProduct, (sender, arg) => | |||
{ | |||
messageReceived = true; | |||
}); | |||
catalogViewModel.AddCatalogItemCommand.Execute(null); | |||
Assert.True(messageReceived); | |||
} | |||
[Fact] | |||
public async Task FilterCommandSendsFilterMessageTest() | |||
{ | |||
bool messageReceived = false; | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
catalogViewModel.Brand = catalogViewModel.Brands.FirstOrDefault(); | |||
catalogViewModel.Type = catalogViewModel.Types.FirstOrDefault(); | |||
Xamarin.Forms.MessagingCenter.Subscribe<CatalogViewModel>(this, MessageKeys.Filter, (sender) => | |||
{ | |||
messageReceived = true; | |||
}); | |||
catalogViewModel.FilterCommand.Execute(null); | |||
Assert.True(messageReceived); | |||
} | |||
[Fact] | |||
public async Task ClearFilterCommandResetsPropertiesTest() | |||
{ | |||
var catalogService = new CatalogMockService(); | |||
var catalogViewModel = new CatalogViewModel(catalogService); | |||
await catalogViewModel.InitializeAsync(null); | |||
catalogViewModel.ClearFilterCommand.Execute(null); | |||
Assert.Null(catalogViewModel.Brand); | |||
Assert.Null(catalogViewModel.Type); | |||
Assert.NotNull(catalogViewModel.Products); | |||
} | |||
} | |||
} |