From 2a87e69c2afe0a1ad7a16ce4672adc3d44248e70 Mon Sep 17 00:00:00 2001 From: Sergei Bokatuk Date: Tue, 31 Mar 2015 15:29:29 +0300 Subject: [PATCH 001/207] initial mvvmcross --- .gitattributes | 63 ++++ .gitignore | 1 + Trains.Core.sln | 290 ++++++++++++++++++ Trains.Core/App.cs | 17 + Trains.Core/Properties/AssemblyInfo.cs | 30 ++ Trains.Core/Trains.Core.csproj | 64 ++++ Trains.Core/ViewModels/FirstViewModel.cs | 15 + Trains.Core/packages.config | 8 + Trains.Droid/Assets/AboutAssets.txt | 19 ++ Trains.Droid/DebugTrace.cs | 31 ++ Trains.Droid/LinkerPleaseInclude.cs | 82 +++++ Trains.Droid/Properties/AndroidManifest.xml | 5 + Trains.Droid/Properties/AssemblyInfo.cs | 30 ++ Trains.Droid/Resources/AboutResources.txt | 50 +++ Trains.Droid/Resources/Resource.Designer.cs | 203 ++++++++++++ Trains.Droid/Resources/drawable/Icon.png | Bin 0 -> 4147 bytes Trains.Droid/Resources/drawable/splash.png | Bin 0 -> 3848 bytes Trains.Droid/Resources/layout/FirstView.axml | 19 ++ Trains.Droid/Resources/layout/Main.axml | 13 + .../Resources/layout/SplashScreen.axml | 10 + .../Resources/values/MvxBindingAttributes.xml | 18 ++ Trains.Droid/Resources/values/SplashStyle.xml | 7 + Trains.Droid/Resources/values/Strings.xml | 5 + Trains.Droid/Setup.cs | 24 ++ Trains.Droid/SplashScreen.cs | 21 ++ Trains.Droid/Trains.Droid.csproj | 117 +++++++ Trains.Droid/Views/FirstView.cs | 16 + Trains.Droid/packages.config | 8 + .../Trains.Infrastructure.csproj | 14 +- Trains.Model/Trains.Model.csproj | 14 +- Trains.Services/Trains.Services.csproj | 14 +- Trains.Tests/Trains.Tests.csproj | 8 + Trains.Touch/AppDelegate.cs | 29 ++ Trains.Touch/DebugTrace.cs | 31 ++ Trains.Touch/Entitlements.plist | 5 + Trains.Touch/Info.plist | 34 ++ Trains.Touch/LinkerPleaseInclude.cs | 111 +++++++ Trains.Touch/Main.cs | 20 ++ Trains.Touch/Properties/AssemblyInfo.cs | 36 +++ Trains.Touch/Resources/Default-568h@2x.png | Bin 0 -> 2215 bytes Trains.Touch/Setup.cs | 25 ++ Trains.Touch/Trains.Touch.csproj | 127 ++++++++ Trains.Touch/Views/FirstView.cs | 35 +++ Trains.Touch/packages.config | 8 + Trains.WP/App.xaml | 7 + Trains.WP/App.xaml.cs | 116 +++++++ Trains.WP/Assets/Logo.scale-240.png | Bin 0 -> 2516 bytes Trains.WP/Assets/SmallLogo.scale-240.png | Bin 0 -> 753 bytes Trains.WP/Assets/SplashScreen.scale-240.png | Bin 0 -> 14715 bytes .../Assets/Square71x71Logo.scale-240.png | Bin 0 -> 1122 bytes Trains.WP/Assets/StoreLogo.scale-240.png | Bin 0 -> 2200 bytes Trains.WP/Assets/WideLogo.scale-240.png | Bin 0 -> 4530 bytes Trains.WP/DebugTrace.cs | 31 ++ Trains.WP/MainPage.xaml | 14 + Trains.WP/MainPage.xaml.cs | 48 +++ Trains.WP/Package.appxmanifest | 44 +++ Trains.WP/Properties/AssemblyInfo.cs | 29 ++ Trains.WP/Setup.cs | 24 ++ Trains.WP/Trains.WP.csproj | 163 ++++++++++ Trains.WP/Views/FirstView.xaml | 16 + Trains.WP/Views/FirstView.xaml.cs | 12 + Trains.WP/packages.config | 8 + packages/repositories.config | 4 + 63 files changed, 2172 insertions(+), 21 deletions(-) create mode 100644 .gitattributes create mode 100644 Trains.Core.sln create mode 100644 Trains.Core/App.cs create mode 100644 Trains.Core/Properties/AssemblyInfo.cs create mode 100644 Trains.Core/Trains.Core.csproj create mode 100644 Trains.Core/ViewModels/FirstViewModel.cs create mode 100644 Trains.Core/packages.config create mode 100644 Trains.Droid/Assets/AboutAssets.txt create mode 100644 Trains.Droid/DebugTrace.cs create mode 100644 Trains.Droid/LinkerPleaseInclude.cs create mode 100644 Trains.Droid/Properties/AndroidManifest.xml create mode 100644 Trains.Droid/Properties/AssemblyInfo.cs create mode 100644 Trains.Droid/Resources/AboutResources.txt create mode 100644 Trains.Droid/Resources/Resource.Designer.cs create mode 100644 Trains.Droid/Resources/drawable/Icon.png create mode 100644 Trains.Droid/Resources/drawable/splash.png create mode 100644 Trains.Droid/Resources/layout/FirstView.axml create mode 100644 Trains.Droid/Resources/layout/Main.axml create mode 100644 Trains.Droid/Resources/layout/SplashScreen.axml create mode 100644 Trains.Droid/Resources/values/MvxBindingAttributes.xml create mode 100644 Trains.Droid/Resources/values/SplashStyle.xml create mode 100644 Trains.Droid/Resources/values/Strings.xml create mode 100644 Trains.Droid/Setup.cs create mode 100644 Trains.Droid/SplashScreen.cs create mode 100644 Trains.Droid/Trains.Droid.csproj create mode 100644 Trains.Droid/Views/FirstView.cs create mode 100644 Trains.Droid/packages.config create mode 100644 Trains.Touch/AppDelegate.cs create mode 100644 Trains.Touch/DebugTrace.cs create mode 100644 Trains.Touch/Entitlements.plist create mode 100644 Trains.Touch/Info.plist create mode 100644 Trains.Touch/LinkerPleaseInclude.cs create mode 100644 Trains.Touch/Main.cs create mode 100644 Trains.Touch/Properties/AssemblyInfo.cs create mode 100644 Trains.Touch/Resources/Default-568h@2x.png create mode 100644 Trains.Touch/Setup.cs create mode 100644 Trains.Touch/Trains.Touch.csproj create mode 100644 Trains.Touch/Views/FirstView.cs create mode 100644 Trains.Touch/packages.config create mode 100644 Trains.WP/App.xaml create mode 100644 Trains.WP/App.xaml.cs create mode 100644 Trains.WP/Assets/Logo.scale-240.png create mode 100644 Trains.WP/Assets/SmallLogo.scale-240.png create mode 100644 Trains.WP/Assets/SplashScreen.scale-240.png create mode 100644 Trains.WP/Assets/Square71x71Logo.scale-240.png create mode 100644 Trains.WP/Assets/StoreLogo.scale-240.png create mode 100644 Trains.WP/Assets/WideLogo.scale-240.png create mode 100644 Trains.WP/DebugTrace.cs create mode 100644 Trains.WP/MainPage.xaml create mode 100644 Trains.WP/MainPage.xaml.cs create mode 100644 Trains.WP/Package.appxmanifest create mode 100644 Trains.WP/Properties/AssemblyInfo.cs create mode 100644 Trains.WP/Setup.cs create mode 100644 Trains.WP/Trains.WP.csproj create mode 100644 Trains.WP/Views/FirstView.xaml create mode 100644 Trains.WP/Views/FirstView.xaml.cs create mode 100644 Trains.WP/packages.config diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore index 0bc8230..d200fac 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ obj/ [Rr]elease*/ _ReSharper*/ [Tt]est[Rr]esult* +packages/ diff --git a/Trains.Core.sln b/Trains.Core.sln new file mode 100644 index 0000000..5344022 --- /dev/null +++ b/Trains.Core.sln @@ -0,0 +1,290 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Core", "Trains.Core\Trains.Core.csproj", "{D5769CED-2D11-4058-8894-ACD18A90CD5A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Infrastructure", "Trains.Infrastructure\Trains.Infrastructure.csproj", "{6D5409E7-763E-4E8F-A491-902907EA4515}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Model", "Trains.Model\Trains.Model.csproj", "{73F82F72-521E-4F11-AA97-9A377E8CBE3E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Services", "Trains.Services\Trains.Services.csproj", "{13FDA41E-D3B2-4A71-808C-AA1489FB628F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Tests", "Trains.Tests\Trains.Tests.csproj", "{B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.App", "TrainShedule-HubVersion\Trains.App.csproj", "{FFD898BB-0027-441C-AF56-4F4950CE1437}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OldVersion", "OldVersion", "{9B918260-9358-487C-8320-3E23CB78CD4F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Droid", "Trains.Droid\Trains.Droid.csproj", "{11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.Touch", "Trains.Touch\Trains.Touch.csproj", "{390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trains.WP", "Trains.WP\Trains.WP.csproj", "{2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Ad-Hoc|Android = Ad-Hoc|Android + Ad-Hoc|iPhone = Ad-Hoc|iPhone + Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator + Ad-Hoc|WindowsPhone = Ad-Hoc|WindowsPhone + AppStore|Android = AppStore|Android + AppStore|iPhone = AppStore|iPhone + AppStore|iPhoneSimulator = AppStore|iPhoneSimulator + AppStore|WindowsPhone = AppStore|WindowsPhone + Debug|Android = Debug|Android + Debug|iPhone = Debug|iPhone + Debug|iPhoneSimulator = Debug|iPhoneSimulator + Debug|WindowsPhone = Debug|WindowsPhone + Release|Android = Release|Android + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator + Release|WindowsPhone = Release|WindowsPhone + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Ad-Hoc|WindowsPhone.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|Android.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|Android.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|iPhone.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.AppStore|WindowsPhone.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|Android.ActiveCfg = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|Android.Build.0 = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|iPhone.Build.0 = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Debug|WindowsPhone.Build.0 = Debug|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|Android.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|Android.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|iPhone.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|iPhone.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A}.Release|WindowsPhone.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Ad-Hoc|WindowsPhone.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|Android.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|Android.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|iPhone.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.AppStore|WindowsPhone.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|Android.ActiveCfg = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|Android.Build.0 = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|iPhone.Build.0 = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Debug|WindowsPhone.Build.0 = Debug|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|Android.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|Android.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|iPhone.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|iPhone.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {6D5409E7-763E-4E8F-A491-902907EA4515}.Release|WindowsPhone.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Ad-Hoc|WindowsPhone.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|Android.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|Android.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|iPhone.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.AppStore|WindowsPhone.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|Android.ActiveCfg = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|Android.Build.0 = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|iPhone.Build.0 = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Debug|WindowsPhone.Build.0 = Debug|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|Android.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|Android.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|iPhone.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|iPhone.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {73F82F72-521E-4F11-AA97-9A377E8CBE3E}.Release|WindowsPhone.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Ad-Hoc|WindowsPhone.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|Android.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|Android.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|iPhone.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.AppStore|WindowsPhone.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|Android.ActiveCfg = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|Android.Build.0 = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|iPhone.Build.0 = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Debug|WindowsPhone.Build.0 = Debug|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|Android.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|Android.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|iPhone.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|iPhone.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {13FDA41E-D3B2-4A71-808C-AA1489FB628F}.Release|WindowsPhone.Build.0 = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.AppStore|Android.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.AppStore|iPhone.ActiveCfg = Release|x86 + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Debug|Android.ActiveCfg = Debug|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Debug|iPhone.ActiveCfg = Debug|x86 + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Release|Android.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Release|iPhone.ActiveCfg = Release|x86 + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.AppStore|Android.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Debug|Android.ActiveCfg = Debug|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Release|Android.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Release|iPhone.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FFD898BB-0027-441C-AF56-4F4950CE1437}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Ad-Hoc|Android.Deploy.0 = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.AppStore|Android.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.AppStore|Android.Build.0 = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.AppStore|Android.Deploy.0 = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Debug|Android.ActiveCfg = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Debug|Android.Build.0 = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Debug|Android.Deploy.0 = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Release|Android.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Release|Android.Build.0 = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Release|Android.Deploy.0 = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Release|iPhone.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {11CDC8C2-4D23-41EB-A16A-69AEBEE13C43}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|Android.ActiveCfg = Ad-Hoc|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Ad-Hoc|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Ad-Hoc|WindowsPhone.ActiveCfg = Ad-Hoc|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.AppStore|Android.ActiveCfg = AppStore|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.AppStore|iPhone.ActiveCfg = AppStore|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.AppStore|iPhone.Build.0 = AppStore|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.AppStore|WindowsPhone.ActiveCfg = AppStore|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Debug|Android.ActiveCfg = Debug|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Debug|iPhone.ActiveCfg = Debug|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Debug|iPhone.Build.0 = Debug|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Release|Android.ActiveCfg = Release|Any CPU + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Release|iPhone.ActiveCfg = Release|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Release|iPhone.Build.0 = Release|iPhone + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {390A2E3C-2D2D-4F04-87F8-52FFD9D57E99}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Ad-Hoc|WindowsPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Ad-Hoc|WindowsPhone.Build.0 = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Ad-Hoc|WindowsPhone.Deploy.0 = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.AppStore|Android.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.AppStore|WindowsPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.AppStore|WindowsPhone.Build.0 = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.AppStore|WindowsPhone.Deploy.0 = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Debug|Android.ActiveCfg = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Debug|WindowsPhone.ActiveCfg = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Debug|WindowsPhone.Build.0 = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Debug|WindowsPhone.Deploy.0 = Debug|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|Android.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|iPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|WindowsPhone.ActiveCfg = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|WindowsPhone.Build.0 = Release|Any CPU + {2A6DB0BE-90C1-4AEE-ADE1-31BB10231AA3}.Release|WindowsPhone.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {B8E75E5F-81DA-4C27-9E90-2ACC5C253F2C} = {9B918260-9358-487C-8320-3E23CB78CD4F} + {FFD898BB-0027-441C-AF56-4F4950CE1437} = {9B918260-9358-487C-8320-3E23CB78CD4F} + EndGlobalSection +EndGlobal diff --git a/Trains.Core/App.cs b/Trains.Core/App.cs new file mode 100644 index 0000000..877eac5 --- /dev/null +++ b/Trains.Core/App.cs @@ -0,0 +1,17 @@ +using Cirrious.CrossCore.IoC; + +namespace Trains.Core +{ + public class App : Cirrious.MvvmCross.ViewModels.MvxApplication + { + public override void Initialize() + { + CreatableTypes() + .EndingWith("Service") + .AsInterfaces() + .RegisterAsLazySingleton(); + + RegisterAppStart(); + } + } +} \ No newline at end of file diff --git a/Trains.Core/Properties/AssemblyInfo.cs b/Trains.Core/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..3bf654d --- /dev/null +++ b/Trains.Core/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +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("Trains.Core")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Trains.Core")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[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")] diff --git a/Trains.Core/Trains.Core.csproj b/Trains.Core/Trains.Core.csproj new file mode 100644 index 0000000..e1988d0 --- /dev/null +++ b/Trains.Core/Trains.Core.csproj @@ -0,0 +1,64 @@ + + + + + 10.0 + Debug + AnyCPU + {D5769CED-2D11-4058-8894-ACD18A90CD5A} + Library + Properties + Trains.Core + Trains.Core + en-US + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Profile259 + v4.5 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + ..\packages\MvvmCross.HotTuna.CrossCore.3.5.0\lib\portable-win+net45+wp8+win8+wpa81\Cirrious.CrossCore.dll + + + ..\packages\MvvmCross.HotTuna.MvvmCrossLibraries.3.5.0\lib\portable-win+net45+wp8+win8+wpa81\Cirrious.MvvmCross.dll + + + ..\packages\MvvmCross.HotTuna.CrossCore.3.5.0\lib\portable-win+net45+wp8+win8+wpa81\Cirrious.MvvmCross.Localization.dll + + + + + \ No newline at end of file diff --git a/Trains.Core/ViewModels/FirstViewModel.cs b/Trains.Core/ViewModels/FirstViewModel.cs new file mode 100644 index 0000000..7c7ccfa --- /dev/null +++ b/Trains.Core/ViewModels/FirstViewModel.cs @@ -0,0 +1,15 @@ +using Cirrious.MvvmCross.ViewModels; + +namespace Trains.Core.ViewModels +{ + public class FirstViewModel + : MvxViewModel + { + private string _hello = "Hello MvvmCross"; + public string Hello + { + get { return _hello; } + set { _hello = value; RaisePropertyChanged(() => Hello); } + } + } +} diff --git a/Trains.Core/packages.config b/Trains.Core/packages.config new file mode 100644 index 0000000..09c6d17 --- /dev/null +++ b/Trains.Core/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Trains.Droid/Assets/AboutAssets.txt b/Trains.Droid/Assets/AboutAssets.txt new file mode 100644 index 0000000..ee39886 --- /dev/null +++ b/Trains.Droid/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with you package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); \ No newline at end of file diff --git a/Trains.Droid/DebugTrace.cs b/Trains.Droid/DebugTrace.cs new file mode 100644 index 0000000..08e9278 --- /dev/null +++ b/Trains.Droid/DebugTrace.cs @@ -0,0 +1,31 @@ +using System; +using System.Diagnostics; +using Cirrious.CrossCore.Platform; + +namespace Trains.Droid +{ + public class DebugTrace : IMvxTrace + { + public void Trace(MvxTraceLevel level, string tag, Func message) + { + Debug.WriteLine(tag + ":" + level + ":" + message()); + } + + public void Trace(MvxTraceLevel level, string tag, string message) + { + Debug.WriteLine(tag + ":" + level + ":" + message); + } + + public void Trace(MvxTraceLevel level, string tag, string message, params object[] args) + { + try + { + Debug.WriteLine(string.Format(tag + ":" + level + ":" + message, args)); + } + catch (FormatException) + { + Trace(MvxTraceLevel.Error, tag, "Exception during trace of {0} {1}", level, message); + } + } + } +} diff --git a/Trains.Droid/LinkerPleaseInclude.cs b/Trains.Droid/LinkerPleaseInclude.cs new file mode 100644 index 0000000..5b63d54 --- /dev/null +++ b/Trains.Droid/LinkerPleaseInclude.cs @@ -0,0 +1,82 @@ +using System.Collections.Specialized; +using System.Windows.Input; +using Android.App; +using Android.Views; +using Android.Widget; + +namespace Trains.Droid +{ + // This class is never actually executed, but when Xamarin linking is enabled it does how to ensure types and properties + // are preserved in the deployed app + public class LinkerPleaseInclude + { + public void Include(Button button) + { + button.Click += (s,e) => button.Text = button.Text + ""; + } + + public void Include(CheckBox checkBox) + { + checkBox.CheckedChange += (sender, args) => checkBox.Checked = !checkBox.Checked; + } + + public void Include(Switch @switch) + { + @switch.CheckedChange += (sender, args) => @switch.Checked = !@switch.Checked; + } + + public void Include(View view) + { + view.Click += (s, e) => view.ContentDescription = view.ContentDescription + ""; + } + + public void Include(TextView text) + { + text.TextChanged += (sender, args) => text.Text = "" + text.Text; + text.Hint = "" + text.Hint; + } + + public void Include(CheckedTextView text) + { + text.TextChanged += (sender, args) => text.Text = "" + text.Text; + text.Hint = "" + text.Hint; + } + + public void Include(CompoundButton cb) + { + cb.CheckedChange += (sender, args) => cb.Checked = !cb.Checked; + } + + public void Include(SeekBar sb) + { + sb.ProgressChanged += (sender, args) => sb.Progress = sb.Progress + 1; + } + + public void Include(Activity act) + { + act.Title = act.Title + ""; + } + + public void Include(INotifyCollectionChanged changed) + { + changed.CollectionChanged += (s,e) => { var test = string.Format("{0}{1}{2}{3}{4}", e.Action,e.NewItems, e.NewStartingIndex, e.OldItems, e.OldStartingIndex); } ; + } + + public void Include(ICommand command) + { + command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); }; + } + + public void Include(Cirrious.CrossCore.IoC.MvxPropertyInjector injector) + { + injector = new Cirrious.CrossCore.IoC.MvxPropertyInjector (); + } + + public void Include(System.ComponentModel.INotifyPropertyChanged changed) + { + changed.PropertyChanged += (sender, e) => { + var test = e.PropertyName; + }; + } + } +} diff --git a/Trains.Droid/Properties/AndroidManifest.xml b/Trains.Droid/Properties/AndroidManifest.xml new file mode 100644 index 0000000..3c37974 --- /dev/null +++ b/Trains.Droid/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Trains.Droid/Properties/AssemblyInfo.cs b/Trains.Droid/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ab998fb --- /dev/null +++ b/Trains.Droid/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// 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("Trains.Droid")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Trains.Droid")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] + +// 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")] diff --git a/Trains.Droid/Resources/AboutResources.txt b/Trains.Droid/Resources/AboutResources.txt new file mode 100644 index 0000000..194ae28 --- /dev/null +++ b/Trains.Droid/Resources/AboutResources.txt @@ -0,0 +1,50 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.xml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable-hdpi/ + icon.png + + drawable-ldpi/ + icon.png + + drawable-mdpi/ + icon.png + + layout/ + main.xml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called +"Resource" that contains the tokens for each one of the resources included. For example, +for the above Resources layout, this is what the Resource class would expose: + +public class Resource { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main +to reference the layout/main.xml file, or Resource.strings.first_string to reference the first +string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/Trains.Droid/Resources/Resource.Designer.cs b/Trains.Droid/Resources/Resource.Designer.cs new file mode 100644 index 0000000..391d46d --- /dev/null +++ b/Trains.Droid/Resources/Resource.Designer.cs @@ -0,0 +1,203 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("Trains.Droid.Resource", IsApplication=true)] + +namespace Trains.Droid +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + } + + public partial class Attribute + { + + // aapt resource value: 0x7f010000 + public const int MvxBind = 2130771968; + + // aapt resource value: 0x7f010004 + public const int MvxDropDownItemTemplate = 2130771972; + + // aapt resource value: 0x7f010003 + public const int MvxItemTemplate = 2130771971; + + // aapt resource value: 0x7f010001 + public const int MvxLang = 2130771969; + + // aapt resource value: 0x7f010005 + public const int MvxSource = 2130771973; + + // aapt resource value: 0x7f010002 + public const int MvxTemplate = 2130771970; + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Drawable + { + + // aapt resource value: 0x7f020000 + public const int Icon = 2130837504; + + // aapt resource value: 0x7f020001 + public const int splash = 2130837505; + + static Drawable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Drawable() + { + } + } + + public partial class Id + { + + // aapt resource value: 0x7f040000 + public const int MvxBindingTagUnique = 2130968576; + + // aapt resource value: 0x7f040001 + public const int MyButton = 2130968577; + + static Id() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Id() + { + } + } + + public partial class Layout + { + + // aapt resource value: 0x7f030000 + public const int FirstView = 2130903040; + + // aapt resource value: 0x7f030001 + public const int Main = 2130903041; + + // aapt resource value: 0x7f030002 + public const int SplashScreen = 2130903042; + + static Layout() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Layout() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f060001 + public const int ApplicationName = 2131099649; + + // aapt resource value: 0x7f060000 + public const int Hello = 2131099648; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + + public partial class Style + { + + // aapt resource value: 0x7f050000 + public const int Theme_Splash = 2131034112; + + static Style() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Style() + { + } + } + + public partial class Styleable + { + + public static int[] MvxBinding = new int[] { + 2130771968, + 2130771969}; + + // aapt resource value: 0 + public const int MvxBinding_MvxBind = 0; + + // aapt resource value: 1 + public const int MvxBinding_MvxLang = 1; + + public static int[] MvxControl = new int[] { + 2130771970}; + + // aapt resource value: 0 + public const int MvxControl_MvxTemplate = 0; + + public static int[] MvxImageView = new int[] { + 2130771973}; + + // aapt resource value: 0 + public const int MvxImageView_MvxSource = 0; + + public static int[] MvxListView = new int[] { + 2130771971, + 2130771972}; + + // aapt resource value: 1 + public const int MvxListView_MvxDropDownItemTemplate = 1; + + // aapt resource value: 0 + public const int MvxListView_MvxItemTemplate = 0; + + static Styleable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Styleable() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/Trains.Droid/Resources/drawable/Icon.png b/Trains.Droid/Resources/drawable/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8074c4c571b8cd19e27f4ee5545df367420686d7 GIT binary patch literal 4147 zcmV-35X|q1P)OwvMs$Q8_8nISM!^>PxsujeDCl4&hPxrxkp%Qc^^|l zp6LqAcf3zf1H4aA1Gv-O6ha)ktct9Y+VA@N^9i;p0H%6v>ZJZYQ`zEa396z-gi{r_ zDz)D=vgRv62GCVeRjK{15j7V@v6|2nafFX6W7z2j1_T0a zLyT3pGTubf1lB5)32>bl0*BflrA!$|_(WD2)iJIfV}37=ZKAC zSe3boYtQ=;o0i>)RtBvsI#iT{0!oF1VFeW`jDjF2Q4aE?{pGCAd>o8Kg#neIh*AMY zLl{;F!vLiem7s*x0<9FKAd6LoPz3~G32P+F+cuGOJ5gcC@pU_?C2fmix7g2)SUaQO$NS07~H)#fn!Q<}KQWtX}wW`g2>cMld+`7Rxgq zChaey66SG560JhO66zA!;sK1cWa2AG$9k~VQY??6bOmJsw9@3uL*z;WWa7(Nm{^TA zilc?y#N9O3LcTo2c)6d}SQl-v-pE4^#wb=s(RxaE28f3FQW(yp$ulG9{KcQ7r>7mQ zE!HYxUYex~*7IinL+l*>HR*UaD;HkQhkL(5I@UwN%Wz504M^d!ylo>ANvKPF_TvA< zkugG5;F6x}$s~J8cnev->_(Ic7%lGQgUi3n#XVo36lUpcS9s z)ympRr7}@|6WF)Ae;D{owN1;aZSR50al9h~?-WhbtKK%bDd zhML131oi1Bu1&Qb$Cp199LJ#;j5d|FhW8_i4KO1OI>}J^p2DfreMSVGY9aFlr&90t zyI2FvxQiKMFviSQeP$Ixh#70qj5O%I+O_I2t2XHWqmh2!1~tHpN3kA4n=1iHj?`@c<~3q^X6_Q$AqTDjBU`|!y<&lkqL|m5tG(b z8a!z&j^m(|;?SW(l*?tZ*{m2H9d&3jqBtXh>O-5e4Qp-W*a5=2NL&Oi62BUM)>zE3 zbSHb>aU3d@3cGggA`C-PsT9^)oy}%dHCaO~nwOrm5E54=aDg(&HR4S23Oa#-a^=}w%g?ZP-1iq8PSjE8jYaGZu z$I)?YN8he?F9>)2d$G6a*zm0XB*Rf&gZAjq(8l@CUDSY1tB#!i> zW$VfG%#SYSiZ};)>pHA`qlfDTEYQEwN6>NNEp+uxuqx({Fgr zjI@!4xRc?vk^9+~eU|mzH__dCDI=xb{Cd}4bELS9xRaS!*FXMwtMR-RR%SLMh0Cjl zencr8#Su<4(%}$yGVBU-HX{18v=yPH*+%^Vtknc>2A;%-~DrYFx^3XfuVgvZ{#1tA== zm3>IzAM2{3Iv_d1XG{P6^tN3|PkJMnjs&CWN7%7_CmjoVakUhsa&dMv==2~^ri?&x zVdv*rnfVyM+I1^Kg*S=23mR@+0T9BWFZUu~@toA8d)fw6be=`Yb6DSX6D?jB%2YT~ z*aHjtIOozfMhA!Jd*?u5_n!SnX>vX`=Ti-1HA4RiE>eI3vTn zz+>Ccf0HX6Ans-ebOB>RJST-Cyr#4XAk+mAlJgdQnoE{^iIN)OcYFSpgJUmXtl@tT z-^ZuUeSj5hSFrQwqX>~EtZ*{>Gi8Bu9_|o06oNtaXP?E936!a@DsvS*tsB@fa6kEA z5GkjwmH?EgpiG&itsB_Tb1NxtFnvxh_s@9KYX1Sttf?AlI~)z zT=6Y7ulx=}<8Scr_UqU-_z)5gPo%050PsbM*ZLno;_-ow&k?FZJtYmb2hPA$LkP)8 z=^d0Q6PImh6Y|QT?{grxj)S=uBKvY2EQUbm@ns9^yKiP~$DcD)c$5Em`zDSScH%iH zVov&m=cMo`1tYwA=!a}vb_ef_{)Q2?FUqn>BR$6phXQRv^1%=YfyE-F$AR4Q?9D!f zCzB^^#td~4u&l~l#rp2QLfe3+_ub9@+|x+m;=2(sQ`s%gO|j$XBb>A7Q(UydipiMw%igcweV#Cr~SP);q>w`bxts_4} znKHg?X==JDkQl3Y>Ckt%`s{n?Nq-1Fw5~%Mq$CAsi-`yu_bKm zxs#QdE7&vgJD%M84f4SNzSDv)S|V?|$!d5a#lhT5>>YWE4NGqa9-fbmV$=)@k&32kdEYetna>=j@0>V8+wRsL;po!3ivVwh<9tn z2S<1u9DAAQ>x1Sn=fk`)At|quvleV($B|#Kap_lB-F^*yV=wZ{9baUu(uXfokr95^ zA*!*W=5a>$2Ps`-F^+qRQT^{*cN>vipT*4!r#p%{(#I7s z0NN94*q?ib$KJjfDI_sjHNdmEVp5wB&j54O#VoFqBwy)gfA$%)4d_X4q${L9Xom2R3xy&ZBSNgt4a1d7K^CDWa9r zVb-_52m}Vp)`9;ZSKd#|U4ZYj5}Gp49{4utST|=c`~(#>KHF6}CCov1iHYw zt{bWo)A@yF2$~c(nR$rSAaFQ$(Wh{vkG1AlutDMw=mM`C`T=X&|Ad9fb5Od}ROt1z zOpczHqrb4Jo^rSCiW#&o(m7jFamnrsTpQb;*h4o8r#$aZ}2RaT-x2u^^ z%u@YyIv$U^u~@9(XGbSwU@fk6SikH>j+D1jQrYTKGJpW%vUT{!d}7THI5&Sa?~MKy zS0-mvMl+BOcroEJ@hN!2H_?coTEJ5Q<;Nd?yx;eIj4{$$E2?YUO|NtNPJ-PdDf;s} zab;}Mz0kbOI}5*w@3gROcnl#5)wQnEhDBfn!Xhy`u>C}*E~vWpO^HS)FC>8^umI=+ z&H;LW6w#;EF`}vQd_9Muru`KnQVPI9U?(sD)&Dg-0j3#(!fNKVZ_GoYH{la~d*1Yh$TI-TL>mI4vpNb@sU2=IZ8vL%AXUx0 zz{K0|nK(yizLHaeW#ZhRfQXoK^}1$=$#1{Yn002ovPDHLkV1n#w+^+xt literal 0 HcmV?d00001 diff --git a/Trains.Droid/Resources/drawable/splash.png b/Trains.Droid/Resources/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0c5249ff1ddc7b1eb437f36fd92acbb2d8b22f GIT binary patch literal 3848 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 literal 0 HcmV?d00001 diff --git a/Trains.Droid/Resources/layout/FirstView.axml b/Trains.Droid/Resources/layout/FirstView.axml new file mode 100644 index 0000000..455fa7d --- /dev/null +++ b/Trains.Droid/Resources/layout/FirstView.axml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/Trains.Droid/Resources/layout/Main.axml b/Trains.Droid/Resources/layout/Main.axml new file mode 100644 index 0000000..98be164 --- /dev/null +++ b/Trains.Droid/Resources/layout/Main.axml @@ -0,0 +1,13 @@ + + + - From 41cd15fea7f07539a69f3b127a133c816cc6cae7 Mon Sep 17 00:00:00 2001 From: Sergei Bokatuk Date: Fri, 10 Apr 2015 12:04:12 +0300 Subject: [PATCH 113/207] fix placement --- Trains.WP/Views/MainView.xaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Trains.WP/Views/MainView.xaml b/Trains.WP/Views/MainView.xaml index 13f8212..32fbefe 100644 --- a/Trains.WP/Views/MainView.xaml +++ b/Trains.WP/Views/MainView.xaml @@ -31,7 +31,7 @@ - + - Date: Fri, 10 Apr 2015 12:30:48 +0300 Subject: [PATCH 114/207] [*][android] added select variant of search --- Trains.Droid/Views/SearchView.cs | 37 +++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Trains.Droid/Views/SearchView.cs b/Trains.Droid/Views/SearchView.cs index 3549f51..ee5a596 100644 --- a/Trains.Droid/Views/SearchView.cs +++ b/Trains.Droid/Views/SearchView.cs @@ -20,6 +20,7 @@ public class SearchView : MvxActivity private const string DateFormat = "d"; private Button _searchDateButton; + private Button _searchTypeButton; private DateTimeOffset SearchDate { @@ -27,6 +28,17 @@ private DateTimeOffset SearchDate set { ((SearchViewModel)ViewModel).Datum = value; } } + private List SearchTypes + { + get { return ((SearchViewModel)ViewModel).VariantOfSearch; } + } + + private string SelectedType + { + get { return ((SearchViewModel)ViewModel).SelectedVariant; } + set { ((SearchViewModel)ViewModel).SelectedVariant = value; } + } + protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); @@ -35,6 +47,10 @@ protected override void OnCreate(Bundle bundle) _searchDateButton = FindViewById - - + Style="{StaticResource AutoSuggestBoxStyle}" + SuggestionChosen="AutoSuggestBox_SuggestionChosen"/> + + + + + diff --git a/Trains.WP/Views/MainView.xaml.cs b/Trains.WP/Views/MainView.xaml.cs index 976fbb3..1f73683 100644 --- a/Trains.WP/Views/MainView.xaml.cs +++ b/Trains.WP/Views/MainView.xaml.cs @@ -30,5 +30,11 @@ private void SetAppBarVisibility(bool updateAppBar, bool managedAppBar) UpdateAppBar.Visibility = updateAppBar ? Visibility.Visible : Visibility.Collapsed; ManagedAppBar.Visibility = managedAppBar ? Visibility.Visible : Visibility.Collapsed; } + + private void AutoSuggestBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args) + { + Windows.ApplicationModel.Core.CoreApplication.GetCurrentView().CoreWindow.IsInputEnabled = false; + Windows.ApplicationModel.Core.CoreApplication.GetCurrentView().CoreWindow.IsInputEnabled = true; + } } } diff --git a/Trains.WP/Views/SearchView.xaml b/Trains.WP/Views/SearchView.xaml index 96ccb44..00b0e69 100644 --- a/Trains.WP/Views/SearchView.xaml +++ b/Trains.WP/Views/SearchView.xaml @@ -51,24 +51,16 @@ ItemsSource="{Binding AutoSuggestions}" IsEnabled="{Binding IsFildEnabled}" Style="{StaticResource AutoSuggestBoxStyle}" - FontSize="60"> - - - - - - + FontSize="60" + SuggestionChosen="AutoSuggestBox_SuggestionChosen"/> + - - - - - - + Style="{StaticResource AutoSuggestBoxStyle}" + SuggestionChosen="AutoSuggestBox_SuggestionChosen"/> + - - - - - - - - - - - - - - - Date: Fri, 10 Apr 2015 18:20:26 +0300 Subject: [PATCH 119/207] refactoring MainView --- Trains.Core/ViewModels/MainViewModel.cs | 53 +++++++++++++++++++++++++ Trains.Services/SearchService.cs | 9 ++++- Trains.WP/DatePickerCustom.cs | 23 +++++++++++ Trains.WP/Trains.WP.csproj | 1 + Trains.WP/Views/MainView.xaml | 7 ++-- Trains.WP/Views/MainView.xaml.cs | 11 ++++- packages/repositories.config | 2 - 7 files changed, 98 insertions(+), 8 deletions(-) create mode 100644 Trains.WP/DatePickerCustom.cs diff --git a/Trains.Core/ViewModels/MainViewModel.cs b/Trains.Core/ViewModels/MainViewModel.cs index dbd815f..91bfbad 100644 --- a/Trains.Core/ViewModels/MainViewModel.cs +++ b/Trains.Core/ViewModels/MainViewModel.cs @@ -15,6 +15,7 @@ using Trains.Resources; using Trains.Core.Interfaces; using Cirrious.MvvmCross.Plugins.Email; +using System.Runtime.ExceptionServices; namespace Trains.Core.ViewModels { @@ -53,6 +54,8 @@ public class MainViewModel : BaseSearchViewModel public IMvxCommand SelectFavoriteTrainCommand { get; private set; } public IMvxCommand SentEmailCommand { get; private set; } public IMvxCommand UpdateLastRequestCommand { get; private set; } + public IMvxCommand SearchCommand { get; private set; } + #endregion @@ -77,12 +80,24 @@ public MainViewModel(ISerializableService serializable, ISearchService search, I SelectFavoriteTrainCommand = new MvxCommand(() => SelectFavoriteTrain(SelectedRoute)); SentEmailCommand = new MvxCommand(SentEmail); UpdateLastRequestCommand = new MvxCommand(UpdateLastRequest); + SearchCommand = new MvxCommand(Search); } #endregion #region properties + private DateTimeOffset _datum = new DateTimeOffset(DateTime.Now); + public DateTimeOffset Datum + { + get { return _datum; } + set + { + _datum = value; + RaisePropertyChanged(() => Datum); + } + } + /// /// Stores variant of search. /// @@ -295,6 +310,44 @@ public async void Init() IsDownloadRun = false; } + /// + /// Searches for train schedules at a specified date in the specified mode. + /// + private async void Search() + { + if (IsTaskRun || await CheckInput(Datum, From, To, _appSettings.AutoCompletion)) return; + IsTaskRun = true; + List schedule = null; + ExceptionDispatchInfo capturedException = null; + try + { + schedule = await _search.GetTrainSchedule(_appSettings.AutoCompletion.First(x => x.UniqueId == From), _appSettings.AutoCompletion.First(x => x.UniqueId == To), Datum, SelectedVariant); + } + catch (Exception e) + { + capturedException = ExceptionDispatchInfo.Capture(e); + } + + if (capturedException != null) + await Mvx.Resolve().AlertAsync(ResourceLoader.Instance.Resource.GetString("SearchError")); + if (!schedule.Any()) + await Mvx.Resolve().AlertAsync(ResourceLoader.Instance.Resource.GetString("TrainsNotFound")); + else + { + _appSettings.LastRequestTrain = schedule; + await SerializeDataSearch(); + await _serializable.SerializeObjectToXml(schedule, Constants.LastTrainList); + ShowViewModel(new { param = JsonConvert.SerializeObject(schedule) }); + } + IsTaskRun = false; + } + + private async Task SerializeDataSearch() + { + _appSettings.UpdatedLastRequest = new LastRequest { From = From, To = To, SelectionMode = SelectedVariant, Date = Datum }; + await _serializable.SerializeObjectToXml(_appSettings.UpdatedLastRequest, Constants.UpdateLastRequest); + } + /// /// Go to page,where user must enter the stopping points. /// diff --git a/Trains.Services/SearchService.cs b/Trains.Services/SearchService.cs index 20288b6..36fb7f9 100644 --- a/Trains.Services/SearchService.cs +++ b/Trains.Services/SearchService.cs @@ -61,7 +61,14 @@ private Uri GetUrl(CountryStopPointItem fromItem, CountryStopPointItem toItem, s private string GetDate(DateTimeOffset datum, string selectedVariantOfSearch = null) { - if (selectedVariantOfSearch == "На все дни") return "everyday"; + if (selectedVariantOfSearch == "Сегодня") return "today"; + if (selectedVariantOfSearch == "Завтра") return "tomorrow"; + if (selectedVariantOfSearch == "Все дни") return "everyday"; + if (selectedVariantOfSearch == "Вчера") + { + return datum.AddDays(-1).ToString("yy-MM-dd", CultureInfo.CurrentCulture); + } + if (datum < DateTime.Now) datum = DateTime.Now; return datum.ToString("yy-MM-dd", CultureInfo.CurrentCulture); } diff --git a/Trains.WP/DatePickerCustom.cs b/Trains.WP/DatePickerCustom.cs new file mode 100644 index 0000000..c5163bc --- /dev/null +++ b/Trains.WP/DatePickerCustom.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Windows.UI.Xaml.Controls; + +namespace Trains.WP +{ + public class DatePickerCustom : DatePicker + { + protected override void OnTapped(Windows.UI.Xaml.Input.TappedRoutedEventArgs e) + { + base.OnTapped(e); + } + + public void OnTapped() + { + base.OnTapped(new Windows.UI.Xaml.Input.TappedRoutedEventArgs()); + + } + } +} diff --git a/Trains.WP/Trains.WP.csproj b/Trains.WP/Trains.WP.csproj index d0a3481..a721699 100644 --- a/Trains.WP/Trains.WP.csproj +++ b/Trains.WP/Trains.WP.csproj @@ -107,6 +107,7 @@ + diff --git a/Trains.WP/Views/MainView.xaml b/Trains.WP/Views/MainView.xaml index e2e73c7..38d3c77 100644 --- a/Trains.WP/Views/MainView.xaml +++ b/Trains.WP/Views/MainView.xaml @@ -56,7 +56,8 @@ Background="{StaticResource GrayColorBrush}"> + SelectedItem="{Binding SelectedVariant,Mode=TwoWay}" + SelectionChanged="ComboBox_SelectionChanged"/> - - + +