Merge branch 'vnext' of github.com:pazof/yavsc into vnext
This commit is contained in:
commit
cb4a77423f
50 changed files with 4108 additions and 82 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -3,6 +3,7 @@
|
||||||
appsettings.*.json
|
appsettings.*.json
|
||||||
.idea/
|
.idea/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
.vs/
|
||||||
YavscWeb.userprefs
|
YavscWeb.userprefs
|
||||||
bin/
|
bin/
|
||||||
obj/
|
obj/
|
||||||
|
|
@ -17,4 +18,7 @@ kestrel*.log
|
||||||
scaffold.cmds
|
scaffold.cmds
|
||||||
DataProtection-Keys
|
DataProtection-Keys
|
||||||
RSA-Params.json
|
RSA-Params.json
|
||||||
|
Components/
|
||||||
|
packages/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
100
BookAStar.sln
100
BookAStar.sln
|
|
@ -9,6 +9,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookAStar.iOS", "BookAStar\
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookAStar", "BookAStar\BookAStar\BookAStar.csproj", "{A0815650-0A0A-47B0-8826-771F0E1AD137}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookAStar", "BookAStar\BookAStar\BookAStar.csproj", "{A0815650-0A0A-47B0-8826-771F0E1AD137}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Yavsc.Server.Api", "Yavsc.Api\Yavsc.Server.Api.xproj", "{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yavsc.Client", "Yavsc.Client\Yavsc.Client.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
|
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
|
||||||
|
|
@ -189,6 +193,102 @@ Global
|
||||||
{A0815650-0A0A-47B0-8826-771F0E1AD137}.Release|x64.Build.0 = Release|Any CPU
|
{A0815650-0A0A-47B0-8826-771F0E1AD137}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{A0815650-0A0A-47B0-8826-771F0E1AD137}.Release|x86.ActiveCfg = Release|Any CPU
|
{A0815650-0A0A-47B0-8826-771F0E1AD137}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{A0815650-0A0A-47B0-8826-771F0E1AD137}.Release|x86.Build.0 = Release|Any CPU
|
{A0815650-0A0A-47B0-8826-771F0E1AD137}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{5C3248AC-CAE0-4324-8A70-08F2DCA9FB08}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x64.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x86.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|ARM.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhone.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhone.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x64.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x86.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
||||||
|
|
@ -185,17 +185,21 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Helpers\Settings.cs" />
|
<Compile Include="Helpers\Settings.cs" />
|
||||||
|
<Compile Include="Helpers\SimpleJsonPostMethod.cs" />
|
||||||
<Compile Include="Helpers\YavscHelpers.cs" />
|
<Compile Include="Helpers\YavscHelpers.cs" />
|
||||||
<Compile Include="MainActivity.cs" />
|
<Compile Include="MainActivity.cs" />
|
||||||
<Compile Include="OAuth2\YaOAuth2Authenticator.cs" />
|
<Compile Include="OAuth2\YaOAuth2Authenticator.cs" />
|
||||||
<Compile Include="Resources\Resource.Designer.cs" />
|
<Compile Include="Resources\Resource.Designer.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Services\GcmListenerService.cs" />
|
||||||
<Compile Include="Services\GcmRegistrationIntentService.cs" />
|
<Compile Include="Services\GcmRegistrationIntentService.cs" />
|
||||||
<Compile Include="Services\MyGcmIntentService.cs" />
|
<Compile Include="Services\MyGcmIntentService.cs" />
|
||||||
<Compile Include="Services\MyInstanceIdListener.cs" />
|
<Compile Include="Services\MyInstanceIdListener.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="app.config" />
|
<None Include="app.config">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<None Include="Resources\AboutResources.txt" />
|
<None Include="Resources\AboutResources.txt" />
|
||||||
<AndroidAsset Include="Assets\AboutAssets.txt" />
|
<AndroidAsset Include="Assets\AboutAssets.txt" />
|
||||||
|
|
@ -212,6 +216,10 @@
|
||||||
<AndroidResource Include="Resources\values\styles.xml" />
|
<AndroidResource Include="Resources\values\styles.xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Yavsc.Client\Yavsc.Client.csproj">
|
||||||
|
<Project>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</Project>
|
||||||
|
<Name>Yavsc.Client</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\BookAStar\BookAStar.csproj">
|
<ProjectReference Include="..\BookAStar\BookAStar.csproj">
|
||||||
<Project>{A0815650-0A0A-47B0-8826-771F0E1AD137}</Project>
|
<Project>{A0815650-0A0A-47B0-8826-771F0E1AD137}</Project>
|
||||||
<Name>BookAStar</Name>
|
<Name>BookAStar</Name>
|
||||||
|
|
@ -224,7 +232,7 @@
|
||||||
</XamarinComponentReference>
|
</XamarinComponentReference>
|
||||||
<XamarinComponentReference Include="GeolocatorPlugin">
|
<XamarinComponentReference Include="GeolocatorPlugin">
|
||||||
<Visible>False</Visible>
|
<Visible>False</Visible>
|
||||||
<Version>1.0.0</Version>
|
<Version>1.0.3</Version>
|
||||||
</XamarinComponentReference>
|
</XamarinComponentReference>
|
||||||
<XamarinComponentReference Include="json.net">
|
<XamarinComponentReference Include="json.net">
|
||||||
<Visible>False</Visible>
|
<Visible>False</Visible>
|
||||||
|
|
|
||||||
103
BookAStar/BookAStar.Droid/Helpers/SimpleJsonPostMethod.cs
Normal file
103
BookAStar/BookAStar.Droid/Helpers/SimpleJsonPostMethod.cs
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
//
|
||||||
|
// PostJson.cs
|
||||||
|
//
|
||||||
|
// Author:
|
||||||
|
// Paul Schneider <paulschneider@free.fr>
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Paul Schneider
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
using System.Net;
|
||||||
|
using System.IO;
|
||||||
|
using System.Json;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Yavsc.Helpers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Simple json post method.
|
||||||
|
/// </summary>
|
||||||
|
public class SimpleJsonPostMethod : IDisposable
|
||||||
|
{
|
||||||
|
private HttpWebRequest request=null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the Yavsc.Helpers.SimpleJsonPostMethod class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pathToMethod">Path to method.</param>
|
||||||
|
public SimpleJsonPostMethod (string pathToMethod, string authorizationHeader = null)
|
||||||
|
{
|
||||||
|
request = (HttpWebRequest) WebRequest.Create (
|
||||||
|
BasePath + pathToMethod);
|
||||||
|
request.Method = "POST";
|
||||||
|
request.Accept = "application/json";
|
||||||
|
request.ContentType = "application/json";
|
||||||
|
request.SendChunked = true;
|
||||||
|
request.TransferEncoding = "UTF-8";
|
||||||
|
if (authorizationHeader!=null)
|
||||||
|
request.Headers.Add($"Authorization: Bearer {authorizationHeader}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string BasePath { get; private set; } = "http://dev.pschneider.fr/api/";
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
request.Abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Invoke the specified query.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="query">Query.</param>
|
||||||
|
public TAnswer Invoke<TAnswer>(object query)
|
||||||
|
{
|
||||||
|
|
||||||
|
using (Stream streamQuery = request.GetRequestStream()) {
|
||||||
|
using (StreamWriter writer = new StreamWriter(streamQuery)) {
|
||||||
|
writer.Write (JsonConvert.SerializeObject(query));
|
||||||
|
}}
|
||||||
|
TAnswer ans = default (TAnswer);
|
||||||
|
using (WebResponse response = request.GetResponse ()) {
|
||||||
|
using (Stream responseStream = response.GetResponseStream ()) {
|
||||||
|
using (StreamReader rdr = new StreamReader (responseStream)) {
|
||||||
|
ans = (TAnswer) JsonConvert.DeserializeObject<TAnswer> (rdr.ReadToEnd ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
response.Close();
|
||||||
|
}
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<JsonValue> InvokeJson(object query)
|
||||||
|
{
|
||||||
|
|
||||||
|
JsonValue jsonDoc=null;
|
||||||
|
using (Stream streamQuery = request.GetRequestStream()) {
|
||||||
|
using (StreamWriter writer = new StreamWriter(streamQuery)) {
|
||||||
|
writer.Write (JsonConvert.SerializeObject(query));
|
||||||
|
}}
|
||||||
|
using (WebResponse response = request.GetResponse ()) {
|
||||||
|
using (Stream stream = response.GetResponseStream ()) {
|
||||||
|
if (stream.Length>0)
|
||||||
|
jsonDoc = await Task.Run (() => JsonObject.Load (stream));
|
||||||
|
}
|
||||||
|
response.Close();
|
||||||
|
}
|
||||||
|
return jsonDoc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -20,6 +20,8 @@ using System.Net.Http;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using BookAStar.Model.Auth.Account;
|
using BookAStar.Model.Auth.Account;
|
||||||
using BookAStar.Droid.OAuth;
|
using BookAStar.Droid.OAuth;
|
||||||
|
using Yavsc.Helpers;
|
||||||
|
using Yavsc.Models.Identity;
|
||||||
|
|
||||||
namespace BookAStar.Droid
|
namespace BookAStar.Droid
|
||||||
{
|
{
|
||||||
|
|
@ -257,21 +259,58 @@ namespace BookAStar.Droid
|
||||||
throw new NotImplementedException("Auth_Error");
|
throw new NotImplementedException("Auth_Error");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class GCMDeclaration : IGCMDeclaration
|
||||||
|
{
|
||||||
|
public string DeviceId
|
||||||
|
{ get; set; }
|
||||||
|
|
||||||
public GoogleCloudMobileDeclaration GetDeviceInfo()
|
public string GCMRegistrationId
|
||||||
|
{ get; set; }
|
||||||
|
|
||||||
|
public string Model
|
||||||
|
{ get; set; }
|
||||||
|
|
||||||
|
public string Platform
|
||||||
|
{ get; set; }
|
||||||
|
|
||||||
|
public string Version
|
||||||
|
{ get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public IGCMDeclaration GetDeviceInfo()
|
||||||
{
|
{
|
||||||
var devinfo = DeviceInfo.Plugin.CrossDeviceInfo.Current;
|
var devinfo = DeviceInfo.Plugin.CrossDeviceInfo.Current;
|
||||||
return new GoogleCloudMobileDeclaration
|
return new GCMDeclaration
|
||||||
{
|
{
|
||||||
DeviceId = devinfo.Id,
|
DeviceId = devinfo.Id,
|
||||||
|
GCMRegistrationId = MainSettings.GoogleRegId,
|
||||||
Model = devinfo.Model,
|
Model = devinfo.Model,
|
||||||
Platform = devinfo.Platform.ToString(),
|
Platform = devinfo.Platform.ToString(),
|
||||||
Version = devinfo.Version,
|
Version = devinfo.Version
|
||||||
GCMRegistrationId = MainSettings.GoogleRegId,
|
|
||||||
DeviceOwnerId = MainSettings.CurrentUser?.Id
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TAnswer InvokeApi<TAnswer>(string method, object arg)
|
||||||
|
{
|
||||||
|
using (var m =
|
||||||
|
new SimpleJsonPostMethod(method,
|
||||||
|
MainSettings.CurrentUser.YavscTokens.AccessToken
|
||||||
|
))
|
||||||
|
{
|
||||||
|
return m.Invoke<TAnswer>(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public object InvokeApi(string method, object arg)
|
||||||
|
{
|
||||||
|
using (var m =
|
||||||
|
new SimpleJsonPostMethod(method,
|
||||||
|
MainSettings.CurrentUser.YavscTokens.AccessToken
|
||||||
|
))
|
||||||
|
{
|
||||||
|
return m.InvokeJson(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
52
BookAStar/BookAStar.Droid/Services/GcmListenerService.cs
Normal file
52
BookAStar/BookAStar.Droid/Services/GcmListenerService.cs
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
using Android.App;
|
||||||
|
using Android.Content;
|
||||||
|
using Android.OS;
|
||||||
|
using Android.Runtime;
|
||||||
|
using Android.Views;
|
||||||
|
using Android.Widget;
|
||||||
|
|
||||||
|
namespace BookAStar.Droid.Services
|
||||||
|
{
|
||||||
|
using Android.App;
|
||||||
|
using Android.Content;
|
||||||
|
using Android.OS;
|
||||||
|
using Android.Gms.Gcm;
|
||||||
|
using Android.Util;
|
||||||
|
|
||||||
|
namespace ClientApp
|
||||||
|
{
|
||||||
|
[Service(Exported = false), IntentFilter(new[] { "com.google.android.c2dm.intent.RECEIVE" })]
|
||||||
|
public class MyGcmListenerService : GcmListenerService
|
||||||
|
{
|
||||||
|
public override void OnMessageReceived(string from, Bundle data)
|
||||||
|
{
|
||||||
|
var message = data.GetString("message");
|
||||||
|
Log.Debug("MyGcmListenerService", "From: " + from);
|
||||||
|
Log.Debug("MyGcmListenerService", "Message: " + message);
|
||||||
|
SendNotification(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SendNotification(string message)
|
||||||
|
{
|
||||||
|
var intent = new Intent(this, typeof(MainActivity));
|
||||||
|
intent.AddFlags(ActivityFlags.ClearTop);
|
||||||
|
var pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.OneShot);
|
||||||
|
|
||||||
|
var notificationBuilder = new Notification.Builder(this)
|
||||||
|
.SetSmallIcon(Resource.Drawable.icon)
|
||||||
|
.SetContentTitle("GCM Message")
|
||||||
|
.SetContentText(message)
|
||||||
|
.SetAutoCancel(true)
|
||||||
|
.SetContentIntent(pendingIntent);
|
||||||
|
|
||||||
|
var notificationManager = (NotificationManager)GetSystemService(Context.NotificationService);
|
||||||
|
notificationManager.Notify(0, notificationBuilder.Build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,12 @@ using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
using Xamarin.Forms.Xaml;
|
using Xamarin.Forms.Xaml;
|
||||||
|
using Yavsc.Helpers;
|
||||||
/*
|
/*
|
||||||
Glyphish icons from
|
Glyphish icons from
|
||||||
http://www.glyphish.com/
|
http://www.glyphish.com/
|
||||||
under
|
under
|
||||||
http://creativecommons.org/licenses/by/3.0/us/
|
http://creativecommons.org/licenses/by/3.0/us/
|
||||||
support them by buying the full set / Retina versions
|
support them by buying the full set / Retina versions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -82,35 +83,12 @@ namespace BookAStar
|
||||||
else deviceInfoPage.Focus();
|
else deviceInfoPage.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void RegisterThisDevice()
|
public async Task PostDeviceInfo()
|
||||||
{
|
{
|
||||||
HttpClient client = new HttpClient();
|
var res = PlateformSpecificInstance.InvokeApi(
|
||||||
// var request = new HttpRequestMessage(HttpMethod.Post, MainSettings.MobileRegistrationUrl);
|
"gcm/register", PlateformSpecificInstance.GetDeviceInfo());
|
||||||
// request.Headers.Authorization
|
|
||||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", MainSettings.CurrentUser.YavscTokens.AccessToken);
|
|
||||||
/* client.DefaultRequestHeaders.Accept.Clear();
|
|
||||||
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")
|
|
||||||
);*/
|
|
||||||
|
|
||||||
var info =PlateformSpecificInstance.GetDeviceInfo();
|
|
||||||
|
|
||||||
/* var serSettings = new JsonSerializerSettings(); serSettings.Formatting = Formatting.None; serSettings.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;*/
|
|
||||||
|
|
||||||
client.MaxResponseContentBufferSize = 256000;
|
|
||||||
using ( client)
|
|
||||||
{
|
|
||||||
var json = Newtonsoft.Json.JsonConvert.SerializeObject(info);
|
|
||||||
/*
|
|
||||||
var dataString = JsonConvert.SerializeObject(info,serSettings); */
|
|
||||||
var content = new StringContent(json, Encoding.UTF8, "application/json");
|
|
||||||
var response = await client.PostAsync(MainSettings.MobileRegistrationUrl, content);
|
|
||||||
if (response.IsSuccessStatusCode)
|
|
||||||
Debug.WriteLine(@"Device info successfully saved.");
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,13 +48,11 @@
|
||||||
<Compile Include="MainPage.xaml.cs">
|
<Compile Include="MainPage.xaml.cs">
|
||||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Model\Auth\MobileAppDeclaration.cs" />
|
|
||||||
<Compile Include="Model\Auth\passwrecovery.cs" />
|
|
||||||
<Compile Include="Model\Auth\Tokens.cs" />
|
|
||||||
<Compile Include="Model\Auth\User.cs" />
|
|
||||||
<Compile Include="Model\Blog\Blog.cs" />
|
<Compile Include="Model\Blog\Blog.cs" />
|
||||||
<Compile Include="Model\Blog\BlogTag.cs" />
|
<Compile Include="Model\Blog\BlogTag.cs" />
|
||||||
<Compile Include="Model\Manager.cs" />
|
<Compile Include="Model\Manager.cs" />
|
||||||
|
<Compile Include="Model\Auth\MobileAppDeclaration.cs" />
|
||||||
|
<Compile Include="Model\Auth\passwrecovery.cs" />
|
||||||
<Compile Include="Model\Social\Calendar\OpenDay.cs" />
|
<Compile Include="Model\Social\Calendar\OpenDay.cs" />
|
||||||
<Compile Include="Model\Social\Calendar\Period.cs" />
|
<Compile Include="Model\Social\Calendar\Period.cs" />
|
||||||
<Compile Include="Model\Social\Calendar\Periodicity.cs" />
|
<Compile Include="Model\Social\Calendar\Periodicity.cs" />
|
||||||
|
|
@ -83,6 +81,8 @@
|
||||||
<Compile Include="Model\Social\Messaging\PositionAndKeyphrase.cs" />
|
<Compile Include="Model\Social\Messaging\PositionAndKeyphrase.cs" />
|
||||||
<Compile Include="Model\Social\Messaging\SearchQuery.cs" />
|
<Compile Include="Model\Social\Messaging\SearchQuery.cs" />
|
||||||
<Compile Include="Model\Social\Messaging\YaEvent.cs" />
|
<Compile Include="Model\Social\Messaging\YaEvent.cs" />
|
||||||
|
<Compile Include="Model\Auth\Tokens.cs" />
|
||||||
|
<Compile Include="Model\Auth\User.cs" />
|
||||||
<Compile Include="PinPage.cs" />
|
<Compile Include="PinPage.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="SearchPage.xaml.cs">
|
<Compile Include="SearchPage.xaml.cs">
|
||||||
|
|
@ -126,16 +126,14 @@
|
||||||
<Folder Include="Model\Workflow\" />
|
<Folder Include="Model\Workflow\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Json.NET.Web, Version=1.0.49.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Json.NET.Web">
|
||||||
<HintPath>..\..\packages\Json.NET.Web.1.0.49\lib\portable45-net45+win8+wpa81\Json.NET.Web.dll</HintPath>
|
<HintPath>..\..\packages\Json.NET.Web.1.0.49\lib\portable45-net45+win8+wpa81\Json.NET.Web.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Mono.Android">
|
<Reference Include="Mono.Android">
|
||||||
<HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\Mono.Android.dll</HintPath>
|
<HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\Mono.Android.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json">
|
||||||
<HintPath>..\..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Plugin.Settings, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Plugin.Settings, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Xam.Plugins.Settings.2.1.0\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10+UAP10\Plugin.Settings.dll</HintPath>
|
<HintPath>..\..\packages\Xam.Plugins.Settings.2.1.0\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10+UAP10\Plugin.Settings.dll</HintPath>
|
||||||
|
|
@ -162,6 +160,12 @@
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Yavsc.Client\Yavsc.Client.csproj">
|
||||||
|
<Project>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</Project>
|
||||||
|
<Name>Yavsc.Client</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||||
<Import Project="..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
|
<Import Project="..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
using Yavsc.Models.Identity;
|
||||||
|
|
||||||
namespace BookAStar
|
namespace BookAStar
|
||||||
{
|
{
|
||||||
public class DeviceInfoPage : ContentPage
|
public class DeviceInfoPage : ContentPage
|
||||||
{
|
{
|
||||||
public DeviceInfoPage(GoogleCloudMobileDeclaration infos)
|
public DeviceInfoPage(IGCMDeclaration infos)
|
||||||
{
|
{
|
||||||
Content = new StackLayout
|
Content = new StackLayout
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ using Plugin.Settings.Abstractions;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
|
||||||
namespace BookAStar
|
namespace BookAStar
|
||||||
|
|
@ -69,14 +69,19 @@ namespace BookAStar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string GoogleRegId
|
public static string GoogleRegId
|
||||||
{
|
{
|
||||||
set {
|
set {
|
||||||
var oldregid = GoogleRegId;
|
var oldregid = GoogleRegId;
|
||||||
AppSettings.AddOrUpdateValue<string>(GoogleRegIdKey, value);
|
AppSettings.AddOrUpdateValue<string>(GoogleRegIdKey, value);
|
||||||
// TODO If it changed, and there's an identified user,
|
// TODO If it changed, and there's an identified user,
|
||||||
// Inform the server of it.
|
// Inform the server of it.
|
||||||
if (oldregid != value) App.CurrentApp.RegisterThisDevice();
|
if (oldregid != value)
|
||||||
|
{
|
||||||
|
Task.Run( async () => {
|
||||||
|
await App.CurrentApp.PostDeviceInfo();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
get { return AppSettings.GetValueOrDefault<string>(GoogleRegIdKey); }
|
get { return AppSettings.GetValueOrDefault<string>(GoogleRegIdKey); }
|
||||||
}
|
}
|
||||||
|
|
@ -126,7 +131,9 @@ namespace BookAStar
|
||||||
{
|
{
|
||||||
if (olduserid != value.Id)
|
if (olduserid != value.Id)
|
||||||
{
|
{
|
||||||
App.CurrentApp.RegisterThisDevice();
|
Task.Run(async () => {
|
||||||
|
await App.CurrentApp.PostDeviceInfo();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using BookAStar.Model.Auth.Account;
|
using BookAStar.Model.Auth.Account;
|
||||||
|
using Yavsc.Models.Identity;
|
||||||
|
|
||||||
namespace BookAStar
|
namespace BookAStar
|
||||||
{
|
{
|
||||||
|
|
@ -16,10 +17,11 @@ namespace BookAStar
|
||||||
|
|
||||||
void RevokeAccount(string userName);
|
void RevokeAccount(string userName);
|
||||||
|
|
||||||
GoogleCloudMobileDeclaration GetDeviceInfo();
|
IGCMDeclaration GetDeviceInfo();
|
||||||
|
|
||||||
// void RegisterThisDevice();
|
TAnswer InvokeApi<TAnswer>(string method, object arg);
|
||||||
|
|
||||||
|
object InvokeApi(string method, object arg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,36 @@
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using Yavsc.Models;
|
||||||
|
using Yavsc.Models.Identity;
|
||||||
|
|
||||||
namespace BookAStar.Model.Auth.Account
|
namespace BookAStar.Model.Auth.Account
|
||||||
{
|
{
|
||||||
public class GoogleCloudMobileDeclaration
|
public class GoogleCloudMobileDeclaration : IGoogleCloudMobileDeclaration
|
||||||
{
|
{
|
||||||
public string GCMRegistrationId { get; set; }
|
public string GCMRegistrationId { get; set; }
|
||||||
public string DeviceId { get; set; }
|
public string DeviceId { get; set; }
|
||||||
public string Model { get; set; }
|
public string Model { get; set; }
|
||||||
public string Platform { get; set; }
|
public string Platform { get; set; }
|
||||||
public string Version { get; set; }
|
public string Version { get; set; }
|
||||||
|
|
||||||
|
public IApplicationUser DeviceOwner
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string DeviceOwnerId
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
|
||||||
|
set;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,7 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCopyright("Copyright © Paul Albert Schneider 2016")]
|
[assembly: AssemblyCopyright("Copyright © Paul Albert Schneider 2016")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: NeutralResourcesLanguage("en")]
|
[assembly: NeutralResourcesLanguage("fr")]
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
|
|
|
||||||
22
MessageSender/MessageSender.xproj
Normal file
22
MessageSender/MessageSender.xproj
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>2f4ae1ac-5311-483b-ab03-f8bfdf998f29</ProjectGuid>
|
||||||
|
<RootNamespace>MessageSender</RootNamespace>
|
||||||
|
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||||
|
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||||
|
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||||
|
</Project>
|
||||||
6
MessageSender/MessageSender.xproj.user
Normal file
6
MessageSender/MessageSender.xproj.user
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ActiveDebugProfile>console1</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
51
MessageSender/Program.cs
Normal file
51
MessageSender/Program.cs
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
using System;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Headers;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
namespace MessageSender
|
||||||
|
{
|
||||||
|
public class Program
|
||||||
|
{
|
||||||
|
public const string API_KEY = "AIzaSyDwPlu2ky9AoPwDvThoXxJwqiPq-Tc8p8k";
|
||||||
|
public const string MESSAGE = "Hello, Xamarin!";
|
||||||
|
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
var jGcmData = new JObject();
|
||||||
|
var jData = new JObject();
|
||||||
|
|
||||||
|
jData.Add("message", MESSAGE);
|
||||||
|
jGcmData.Add("to", "/topics/global");
|
||||||
|
jGcmData.Add("data", jData);
|
||||||
|
|
||||||
|
var url = new Uri("https://gcm-http.googleapis.com/gcm/send");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var client = new HttpClient())
|
||||||
|
{
|
||||||
|
client.DefaultRequestHeaders.Accept.Add(
|
||||||
|
new MediaTypeWithQualityHeaderValue("application/json"));
|
||||||
|
|
||||||
|
client.DefaultRequestHeaders.TryAddWithoutValidation(
|
||||||
|
"Authorization", "key=" + API_KEY);
|
||||||
|
|
||||||
|
Task.WaitAll(client.PostAsync(url,
|
||||||
|
new StringContent(jGcmData.ToString(), Encoding.Default, "application/json"))
|
||||||
|
.ContinueWith(response =>
|
||||||
|
{
|
||||||
|
Console.WriteLine(response);
|
||||||
|
Console.WriteLine("Message sent: check the client device notification tray.");
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Unable to send GCM message:");
|
||||||
|
Console.Error.WriteLine(e.StackTrace);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
19
MessageSender/Properties/AssemblyInfo.cs
Normal file
19
MessageSender/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
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: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("MessageSender")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("2f4ae1ac-5311-483b-ab03-f8bfdf998f29")]
|
||||||
5
MessageSender/Properties/launchSettings.json
Normal file
5
MessageSender/Properties/launchSettings.json
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"console1": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
MessageSender/project.json
Normal file
21
MessageSender/project.json
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"version": "1.0.0-*",
|
||||||
|
"buildOptions": {
|
||||||
|
"emitEntryPoint": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"type": "build",
|
||||||
|
"version": "1.0.0-rc2-3002702"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json": "9.0.1"
|
||||||
|
},
|
||||||
|
|
||||||
|
"frameworks": {
|
||||||
|
"dnx451": {"compilationOptions": {"emitEntryPoint": true}},
|
||||||
|
"netcoreapp1.0": {
|
||||||
|
"imports": "dnxcore50"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
92
MessageSender/project.lock.json
Normal file
92
MessageSender/project.lock.json
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
{
|
||||||
|
"locked": false,
|
||||||
|
"version": 2,
|
||||||
|
"targets": {
|
||||||
|
"DNX,Version=v4.5.1": {
|
||||||
|
"Microsoft.NETCore.App/1.0.0-rc2-3002702": {
|
||||||
|
"type": "package"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/9.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/net45/Newtonsoft.Json.dll": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net45/Newtonsoft.Json.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DNX,Version=v4.5.1/win7-x86": {
|
||||||
|
"Microsoft.NETCore.App/1.0.0-rc2-3002702": {
|
||||||
|
"type": "package"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/9.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/net45/Newtonsoft.Json.dll": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net45/Newtonsoft.Json.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DNX,Version=v4.5.1/win7-x64": {
|
||||||
|
"Microsoft.NETCore.App/1.0.0-rc2-3002702": {
|
||||||
|
"type": "package"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/9.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/net45/Newtonsoft.Json.dll": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net45/Newtonsoft.Json.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"Microsoft.NETCore.App/1.0.0-rc2-3002702": {
|
||||||
|
"type": "package",
|
||||||
|
"sha512": "G+wsg7zwathgjAOZ2w0XbHU0MD4GEHIpi/JsvBGmbACW+/Dsx2YoXai7LLItfe5ZVidqBXXQCz8NxCKbKqr8Ww==",
|
||||||
|
"files": [
|
||||||
|
"dotnet_library_license.txt",
|
||||||
|
"Microsoft.NETCore.App.1.0.0-rc2-3002702.nupkg",
|
||||||
|
"Microsoft.NETCore.App.1.0.0-rc2-3002702.nupkg.sha512",
|
||||||
|
"Microsoft.NETCore.App.nuspec",
|
||||||
|
"ThirdPartyNotices.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/9.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"sha512": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==",
|
||||||
|
"files": [
|
||||||
|
"lib/net20/Newtonsoft.Json.dll",
|
||||||
|
"lib/net20/Newtonsoft.Json.xml",
|
||||||
|
"lib/net35/Newtonsoft.Json.dll",
|
||||||
|
"lib/net35/Newtonsoft.Json.xml",
|
||||||
|
"lib/net40/Newtonsoft.Json.dll",
|
||||||
|
"lib/net40/Newtonsoft.Json.xml",
|
||||||
|
"lib/net45/Newtonsoft.Json.dll",
|
||||||
|
"lib/net45/Newtonsoft.Json.xml",
|
||||||
|
"lib/netstandard1.0/Newtonsoft.Json.dll",
|
||||||
|
"lib/netstandard1.0/Newtonsoft.Json.xml",
|
||||||
|
"lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll",
|
||||||
|
"lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml",
|
||||||
|
"lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll",
|
||||||
|
"lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml",
|
||||||
|
"Newtonsoft.Json.9.0.1.nupkg",
|
||||||
|
"Newtonsoft.Json.9.0.1.nupkg.sha512",
|
||||||
|
"Newtonsoft.Json.nuspec",
|
||||||
|
"tools/install.ps1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
"": [
|
||||||
|
"Microsoft.NETCore.App >= 1.0.0-rc2-3002702",
|
||||||
|
"Newtonsoft.Json >= 9.0.1"
|
||||||
|
],
|
||||||
|
"DNX,Version=v4.5.1": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,12 +5,12 @@ namespace Yavsc.Models
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
public partial class AccountBalance {
|
public partial class AccountBalance: IAccountBalance {
|
||||||
[Key]
|
[Key]
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
|
|
||||||
[ForeignKey("UserId")]
|
[ForeignKey("UserId")]
|
||||||
public virtual ApplicationUser Owner { get; set; }
|
public virtual IApplicationUser Owner { get; set; }
|
||||||
|
|
||||||
[Required,Display(Name="Credits in €")]
|
[Required,Display(Name="Credits in €")]
|
||||||
public decimal Credits { get; set; }
|
public decimal Credits { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace Yavsc.Models
|
namespace Yavsc.Models
|
||||||
{
|
{
|
||||||
public partial class Blog
|
public partial class Blog: IBlog
|
||||||
{
|
{
|
||||||
[Key(), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
[Key(), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
|
|
@ -19,7 +19,7 @@ namespace Yavsc.Models
|
||||||
[Required]
|
[Required]
|
||||||
public string AuthorId { get; set; }
|
public string AuthorId { get; set; }
|
||||||
[ForeignKey("AuthorId")]
|
[ForeignKey("AuthorId")]
|
||||||
public ApplicationUser Author { set; get; }
|
public IApplicationUser Author { set; get; }
|
||||||
public bool visible { get; set; }
|
public bool visible { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,25 +8,25 @@ using Yavsc.Models.Identity;
|
||||||
namespace Yavsc.Models
|
namespace Yavsc.Models
|
||||||
{
|
{
|
||||||
|
|
||||||
public class ApplicationUser : IdentityUser
|
public class ApplicationUser : IdentityUser, IApplicationUser
|
||||||
{
|
{
|
||||||
|
|
||||||
[Display(Name="AccountBalance")]
|
[Display(Name="AccountBalance")]
|
||||||
public virtual AccountBalance AccountBalance { get; set; }
|
public virtual IAccountBalance AccountBalance { get; set; }
|
||||||
|
|
||||||
[InverseProperty("Author")]
|
[InverseProperty("Author")]
|
||||||
public virtual List<Blog> Posts { get; set; }
|
public virtual IList<IBlog> Posts { get; set; }
|
||||||
|
|
||||||
[InverseProperty("Owner")]
|
[InverseProperty("Owner")]
|
||||||
public virtual List<Contact> Book { get; set; }
|
public virtual IList<IContact> Book { get; set; }
|
||||||
|
|
||||||
[InverseProperty("DeviceOwner")]
|
[InverseProperty("DeviceOwner")]
|
||||||
public virtual List<GoogleCloudMobileDeclaration> Devices { get; set; }
|
public virtual IList<IGoogleCloudMobileDeclaration> Devices { get; set; }
|
||||||
|
|
||||||
[InverseProperty("Owner")]
|
[InverseProperty("Owner")]
|
||||||
|
|
||||||
public virtual List<Circle> Circles { get; set; }
|
public virtual IList<ICircle> Circles { get; set; }
|
||||||
public virtual Location PostalAddress { get; set; }
|
public virtual ILocation PostalAddress { get; set; }
|
||||||
|
|
||||||
public string DedicatedGoogleCalendar { get; set; }
|
public string DedicatedGoogleCalendar { get; set; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,7 @@ namespace Yavsc.Models.Identity
|
||||||
public string Version { get; set; }
|
public string Version { get; set; }
|
||||||
public string DeviceOwnerId { get; set; }
|
public string DeviceOwnerId { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore,ForeignKey("DeviceOwnerId")]
|
||||||
|
|
||||||
[ForeignKeyAttribute("DeviceOwnerId")]
|
|
||||||
public virtual ApplicationUser DeviceOwner { get; set; }
|
public virtual ApplicationUser DeviceOwner { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace Yavsc.Models
|
namespace Yavsc.Models
|
||||||
{
|
{
|
||||||
public partial class Circle {
|
public partial class Circle: ICircle {
|
||||||
[Key, DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
|
[Key, DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
|
@ -13,9 +13,9 @@ namespace Yavsc.Models
|
||||||
public string OwnerId { get; set; }
|
public string OwnerId { get; set; }
|
||||||
|
|
||||||
[ForeignKey("OwnerId")]
|
[ForeignKey("OwnerId")]
|
||||||
public virtual ApplicationUser Owner { get; set; }
|
public virtual IApplicationUser Owner { get; set; }
|
||||||
|
|
||||||
[InverseProperty("Circle")]
|
[InverseProperty("Circle")]
|
||||||
public virtual List<CircleMember> Members { get; set; }
|
public virtual IList<ICircleMember> Members { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace Yavsc.Models
|
namespace Yavsc.Models
|
||||||
{
|
{
|
||||||
public class Contact
|
public class Contact: IContact
|
||||||
{
|
{
|
||||||
[Required()]
|
[Required()]
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
|
|
@ -13,6 +13,6 @@ namespace Yavsc.Models
|
||||||
public string OwnerId { get; set; }
|
public string OwnerId { get; set; }
|
||||||
|
|
||||||
[ForeignKeyAttribute("OwnerId")]
|
[ForeignKeyAttribute("OwnerId")]
|
||||||
public virtual ApplicationUser Owner { get; set; }
|
public virtual IApplicationUser Owner { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ namespace Yavsc
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Position.
|
/// Position.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Position
|
public class Position: IPosition
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The longitude.
|
/// The longitude.
|
||||||
|
|
@ -27,7 +27,7 @@ namespace Yavsc
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Location : Position {
|
public class Location : Position, ILocation {
|
||||||
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
[Required(),
|
[Required(),
|
||||||
|
|
|
||||||
21
Yavsc.Api/Yavsc.Server.Api.xproj
Normal file
21
Yavsc.Api/Yavsc.Server.Api.xproj
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>5c3248ac-cae0-4324-8a70-08f2dca9fb08</ProjectGuid>
|
||||||
|
<RootNamespace>Yavsc.Api</RootNamespace>
|
||||||
|
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||||
|
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||||
|
</Project>
|
||||||
6
Yavsc.Api/Yavsc.Server.Api.xproj.user
Normal file
6
Yavsc.Api/Yavsc.Server.Api.xproj.user
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ActiveDebugProfile>Démarrer</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
|
|
@ -17,13 +17,15 @@
|
||||||
"EntityFramework.Core": "7.0.0-rc1-*",
|
"EntityFramework.Core": "7.0.0-rc1-*",
|
||||||
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-*",
|
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-*",
|
||||||
"EntityFramework.Relational": "7.0.0-rc1-*",
|
"EntityFramework.Relational": "7.0.0-rc1-*",
|
||||||
"EntityFramework7.Npgsql": "3.1.0-*",
|
|
||||||
"EntityFramework7.Npgsql.Design": "3.1.0-*",
|
|
||||||
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-*",
|
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-*",
|
||||||
"Newtonsoft.Json": "9.0.1",
|
"Newtonsoft.Json": "9.0.1",
|
||||||
"System.Json": "4.0.20126.16343"
|
"System.Json": "4.0.20126.16343"
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"net451": {}
|
"net451": {
|
||||||
|
"dependencies": {
|
||||||
|
"Yavsc.Client": "1.0.0-*"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
3064
Yavsc.Api/project.lock.json
Normal file
3064
Yavsc.Api/project.lock.json
Normal file
File diff suppressed because it is too large
Load diff
128
Yavsc.Client/Helpers/SimpleJsonPostMethod.cs
Normal file
128
Yavsc.Client/Helpers/SimpleJsonPostMethod.cs
Normal file
|
|
@ -0,0 +1,128 @@
|
||||||
|
//
|
||||||
|
// PostJson.cs
|
||||||
|
//
|
||||||
|
// Author:
|
||||||
|
// Paul Schneider <paulschneider@free.fr>
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Paul Schneider
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
using System.Net;
|
||||||
|
using System.IO;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace Yavsc.Helpers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Simple json post method.
|
||||||
|
/// </summary>
|
||||||
|
public class NotSoSimpleJsonPostMethod : IDisposable
|
||||||
|
{
|
||||||
|
private HttpWebRequest request = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the Yavsc.Helpers.SimpleJsonPostMethod class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pathToMethod">Path to method.</param>
|
||||||
|
public NotSoSimpleJsonPostMethod(string pathToMethod, string authorizationHeader = null)
|
||||||
|
{
|
||||||
|
request = (HttpWebRequest)WebRequest.Create(pathToMethod);
|
||||||
|
request.Method = "POST";
|
||||||
|
request.Accept = "application/json";
|
||||||
|
request.ContentType = "application/json";
|
||||||
|
// request.SendChunked = true;
|
||||||
|
// request.TransferEncoding = "UTF-8";
|
||||||
|
request.Headers = new WebHeaderCollection();
|
||||||
|
if (authorizationHeader != null)
|
||||||
|
request.Headers["Authorization"] = "Bearer " + authorizationHeader;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
request.Abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Invoke the specified query.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="query">Query.</param>
|
||||||
|
public async Task<TAnswer> Invoke<TAnswer>(object query)
|
||||||
|
{
|
||||||
|
|
||||||
|
using (Stream streamQuery = await request.GetRequestStreamAsync())
|
||||||
|
{
|
||||||
|
using (StreamWriter writer = new StreamWriter(streamQuery))
|
||||||
|
{
|
||||||
|
writer.Write(JsonConvert.SerializeObject(query));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TAnswer ans = default(TAnswer);
|
||||||
|
using (WebResponse response = await request.GetResponseAsync())
|
||||||
|
{
|
||||||
|
using (Stream responseStream = response.GetResponseStream())
|
||||||
|
{
|
||||||
|
using (StreamReader rdr = new StreamReader(responseStream))
|
||||||
|
{
|
||||||
|
ans = (TAnswer)JsonConvert.DeserializeObject<TAnswer>(rdr.ReadToEnd());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<object> InvokeAnonymous(object query)
|
||||||
|
{
|
||||||
|
object result = null;
|
||||||
|
using (Stream streamQuery = await request.GetRequestStreamAsync())
|
||||||
|
{
|
||||||
|
using (StreamWriter writer = new StreamWriter(streamQuery))
|
||||||
|
{
|
||||||
|
var json = JsonConvert.SerializeObject(query);
|
||||||
|
|
||||||
|
writer.Write(json);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (WebResponse response = await request.GetResponseAsync())
|
||||||
|
{
|
||||||
|
using (Stream stream = response.GetResponseStream())
|
||||||
|
{
|
||||||
|
if (stream.Length > 0)
|
||||||
|
{
|
||||||
|
using (var sr = new StreamReader(stream))
|
||||||
|
{
|
||||||
|
var json = await sr.ReadToEndAsync();
|
||||||
|
result = JsonConvert.DeserializeObject(json);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine(ex.Message.ToString());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
10
Yavsc.Client/IAccountBalance.cs
Normal file
10
Yavsc.Client/IAccountBalance.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
namespace Yavsc.Models
|
||||||
|
{
|
||||||
|
public interface IAccountBalance
|
||||||
|
{
|
||||||
|
long ContactCredits { get; set; }
|
||||||
|
decimal Credits { get; set; }
|
||||||
|
IApplicationUser Owner { get; set; }
|
||||||
|
string UserId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
16
Yavsc.Client/IApplicationUser.cs
Normal file
16
Yavsc.Client/IApplicationUser.cs
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Yavsc.Models.Identity;
|
||||||
|
|
||||||
|
namespace Yavsc.Models
|
||||||
|
{
|
||||||
|
public interface IApplicationUser
|
||||||
|
{
|
||||||
|
IAccountBalance AccountBalance { get; set; }
|
||||||
|
IList<IContact> Book { get; set; }
|
||||||
|
IList<ICircle> Circles { get; set; }
|
||||||
|
string DedicatedGoogleCalendar { get; set; }
|
||||||
|
IList<IGoogleCloudMobileDeclaration> Devices { get; set; }
|
||||||
|
ILocation PostalAddress { get; set; }
|
||||||
|
IList<IBlog> Posts { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
18
Yavsc.Client/IBlog.cs
Normal file
18
Yavsc.Client/IBlog.cs
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Yavsc.Models
|
||||||
|
{
|
||||||
|
public interface IBlog
|
||||||
|
{
|
||||||
|
IApplicationUser Author { get; set; }
|
||||||
|
string AuthorId { get; set; }
|
||||||
|
string bcontent { get; set; }
|
||||||
|
long Id { get; set; }
|
||||||
|
DateTime modified { get; set; }
|
||||||
|
string photo { get; set; }
|
||||||
|
DateTime posted { get; set; }
|
||||||
|
int rate { get; set; }
|
||||||
|
string title { get; set; }
|
||||||
|
bool visible { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
13
Yavsc.Client/ICircle.cs
Normal file
13
Yavsc.Client/ICircle.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Yavsc.Models
|
||||||
|
{
|
||||||
|
public interface ICircle
|
||||||
|
{
|
||||||
|
long Id { get; set; }
|
||||||
|
IList<ICircleMember> Members { get; set; }
|
||||||
|
string Name { get; set; }
|
||||||
|
IApplicationUser Owner { get; set; }
|
||||||
|
string OwnerId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Yavsc.Client/ICircleMember.cs
Normal file
9
Yavsc.Client/ICircleMember.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Yavsc.Models
|
||||||
|
{
|
||||||
|
public interface ICircleMember
|
||||||
|
{
|
||||||
|
ICircle Circle { get; set; }
|
||||||
|
long Id { get; set; }
|
||||||
|
IApplicationUser Member { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Yavsc.Client/IContact.cs
Normal file
9
Yavsc.Client/IContact.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Yavsc.Models
|
||||||
|
{
|
||||||
|
public interface IContact
|
||||||
|
{
|
||||||
|
IApplicationUser Owner { get; set; }
|
||||||
|
string OwnerId { get; set; }
|
||||||
|
string UserId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
18
Yavsc.Client/IGoogleCloudMobileDeclaration.cs
Normal file
18
Yavsc.Client/IGoogleCloudMobileDeclaration.cs
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
namespace Yavsc.Models.Identity
|
||||||
|
{
|
||||||
|
public interface IGCMDeclaration
|
||||||
|
{
|
||||||
|
string DeviceId { get; set; }
|
||||||
|
string GCMRegistrationId { get; set; }
|
||||||
|
string Model { get; set; }
|
||||||
|
string Platform { get; set; }
|
||||||
|
string Version { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IGoogleCloudMobileDeclaration: IGCMDeclaration
|
||||||
|
{
|
||||||
|
IApplicationUser DeviceOwner { get; set; }
|
||||||
|
string DeviceOwnerId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
8
Yavsc.Client/ILocation.cs
Normal file
8
Yavsc.Client/ILocation.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
namespace Yavsc
|
||||||
|
{
|
||||||
|
public interface ILocation
|
||||||
|
{
|
||||||
|
string Address { get; set; }
|
||||||
|
long Id { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
8
Yavsc.Client/IPosition.cs
Normal file
8
Yavsc.Client/IPosition.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
namespace Yavsc
|
||||||
|
{
|
||||||
|
public interface IPosition
|
||||||
|
{
|
||||||
|
double Latitude { get; set; }
|
||||||
|
double Longitude { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
30
Yavsc.Client/Properties/AssemblyInfo.cs
Normal file
30
Yavsc.Client/Properties/AssemblyInfo.cs
Normal file
|
|
@ -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("Yavsc.Client")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("Yavsc.Client")]
|
||||||
|
[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")]
|
||||||
80
Yavsc.Client/Yavsc.Client.csproj
Normal file
80
Yavsc.Client/Yavsc.Client.csproj
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>Yavsc.Client</RootNamespace>
|
||||||
|
<AssemblyName>Yavsc.Client</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
|
<TargetFrameworkProfile>Profile111</TargetFrameworkProfile>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Helpers\SimpleJsonPostMethod.cs" />
|
||||||
|
<Compile Include="IAccountBalance.cs" />
|
||||||
|
<Compile Include="IApplicationUser.cs" />
|
||||||
|
<Compile Include="IBlog.cs" />
|
||||||
|
<Compile Include="ICircle.cs" />
|
||||||
|
<Compile Include="ICircleMember.cs" />
|
||||||
|
<Compile Include="IContact.cs" />
|
||||||
|
<Compile Include="IGoogleCloudMobileDeclaration.cs" />
|
||||||
|
<Compile Include="ILocation.cs" />
|
||||||
|
<Compile Include="IPosition.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="packages.config">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Json.NET.Web, Version=1.0.49.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Json.NET.Web.1.0.49\lib\portable45-net45+win8+wpa81\Json.NET.Web.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\portable-net40+sl5+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||||
|
<Import Project="..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
5
Yavsc.Client/packages.config
Normal file
5
Yavsc.Client/packages.config
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Json.NET.Web" version="1.0.49" targetFramework="portable45-net45+win8+wpa81" />
|
||||||
|
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="portable45-net45+win8+wpa81" />
|
||||||
|
</packages>
|
||||||
19
Yavsc/Yavsc.xproj
Normal file
19
Yavsc/Yavsc.xproj
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>79e701ba-fd0a-409c-8fb8-54b55329ecba</ProjectGuid>
|
||||||
|
<RootNamespace>Yavsc</RootNamespace>
|
||||||
|
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||||
|
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Web.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||||
|
</Project>
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
{
|
{
|
||||||
"projects": [ "Yavsc", "Yavsc.Api" ],
|
"projects": [
|
||||||
|
"Yavsc",
|
||||||
|
"Yavsc.Api",
|
||||||
|
"wrap"
|
||||||
|
],
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "1.0.0-rc1-update2",
|
"version": "1.0.0-rc1-update2",
|
||||||
"runtime": "mono",
|
"runtime": "mono",
|
||||||
|
|
|
||||||
12
wrap/Yavsc.Client/project.json
Normal file
12
wrap/Yavsc.Client/project.json
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"version": "1.0.0-*",
|
||||||
|
"frameworks": {
|
||||||
|
"net45+win+wpa81+MonoAndroid10+Xamarin.iOS10+MonoTouch10": {
|
||||||
|
"wrappedProject": "../../Yavsc.Client/Yavsc.Client.csproj",
|
||||||
|
"bin": {
|
||||||
|
"assembly": "../../Yavsc.Client/obj/{configuration}/Yavsc.Client.dll",
|
||||||
|
"pdb": "../../Yavsc.Client/obj/{configuration}/Yavsc.Client.pdb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
wrap/mscorlib/project.json
Normal file
10
wrap/mscorlib/project.json
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"version": "1.0.0-*",
|
||||||
|
"frameworks": {
|
||||||
|
"net45+win+wpa81+MonoAndroid10+Xamarin.iOS10+MonoTouch10": {
|
||||||
|
"bin": {
|
||||||
|
"assembly": "../../../../../../../Program Files (x86)/Reference Assemblies/Microsoft/Framework/MonoAndroid/v1.0/mscorlib.dll"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue