diff --git a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
index 668aef70..567353b2 100644
--- a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
+++ b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
@@ -26,6 +26,7 @@ namespace AideDeJeu.Droid
public static void UpdateIdValues()
{
+ global::Splat.Resource.String.library_name = global::AideDeJeu.Droid.Resource.String.library_name;
global::Xamarin.Forms.Platform.Android.Resource.Attribute.actionBarSize = global::AideDeJeu.Droid.Resource.Attribute.actionBarSize;
}
@@ -3730,6 +3731,9 @@ namespace AideDeJeu.Droid
// aapt resource value: 0x7f090038
public const int character_counter_pattern = 2131296312;
+ // aapt resource value: 0x7f09003e
+ public const int library_name = 2131296318;
+
// aapt resource value: 0x7f090000
public const int mr_button_content_description = 2131296256;
diff --git a/AideDeJeu/AideDeJeu/App.xaml.cs b/AideDeJeu/AideDeJeu/App.xaml.cs
index 5bd2a548..ca495301 100644
--- a/AideDeJeu/AideDeJeu/App.xaml.cs
+++ b/AideDeJeu/AideDeJeu/App.xaml.cs
@@ -12,7 +12,6 @@ namespace AideDeJeu
{
InitializeComponent();
-
MainPage = new NavigationPage(new MainPage());
}
diff --git a/AideDeJeu/AideDeJeu/Services/MockDataStore.cs b/AideDeJeu/AideDeJeu/Services/MockDataStore.cs
index b9e35f12..de6e65c8 100644
--- a/AideDeJeu/AideDeJeu/Services/MockDataStore.cs
+++ b/AideDeJeu/AideDeJeu/Services/MockDataStore.cs
@@ -65,7 +65,7 @@ namespace AideDeJeu.Services
{
var scrapper = new Scrappers();
var spells = await scrapper.GetSpells(await scrapper.GetSpellIds("c"));
- items = spells.Select(spell => new Item() { Text = spell.Title, Description = spell.Description }).ToList();
+ items = spells.Select(spell => new Item() { Text = spell.Title, Description = spell.DescriptionText }).ToList();
return await Task.FromResult(items);
}
}
diff --git a/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj b/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj
index 51168ec0..5a496b0a 100644
--- a/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj
+++ b/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj
@@ -5,7 +5,9 @@
-
+
+
+
diff --git a/AideDeJeu/AideDeJeuLib/Scrappers.cs b/AideDeJeu/AideDeJeuLib/Scrappers.cs
index f79e0d44..c3ab6ef3 100644
--- a/AideDeJeu/AideDeJeuLib/Scrappers.cs
+++ b/AideDeJeu/AideDeJeuLib/Scrappers.cs
@@ -1,4 +1,5 @@
-using HtmlAgilityPack;
+using Akavache;
+using HtmlAgilityPack;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -9,6 +10,7 @@ using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
+using System.Reactive.Linq;
namespace AideDeJeuLib
{
@@ -77,7 +79,7 @@ namespace AideDeJeuLib
return spells;
}
- public async Task GetSpell(string id)
+ public async Task GetSpellFromSource(string id)
{
string html = null;
using (var client = GetHttpClient())
@@ -93,10 +95,17 @@ namespace AideDeJeuLib
var newSpells = new List();
var divSpell = pack.DocumentNode.SelectNodes("//div[contains(@class,'bloc')]").FirstOrDefault();
var newSpell = HtmlDivToSpell(divSpell);
-
return newSpell;
}
+ public async Task GetSpell(string id)
+ {
+ BlobCache.ApplicationName = "AkavacheExperiment";
+ //await BlobCache.UserAccount.InsertObject(id, newSpell);
+ var truc = await BlobCache.UserAccount.GetOrFetchObject(id, () => GetSpellFromSource(id));
+ return truc;
+ }
+
public Spell HtmlDivToSpell(HtmlNode divSpell)
{
var newSpell = new Spell();
diff --git a/AideDeJeu/AideDeJeuLib/Spell.cs b/AideDeJeu/AideDeJeuLib/Spell.cs
index a5d5d654..e0fff7f4 100644
--- a/AideDeJeu/AideDeJeuLib/Spell.cs
+++ b/AideDeJeu/AideDeJeuLib/Spell.cs
@@ -1,6 +1,7 @@
using HtmlAgilityPack;
using System;
using System.Collections.Generic;
+using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
@@ -20,8 +21,20 @@ namespace AideDeJeuLib
public string Range { get; set; }
public string Components { get; set; }
public string Duration { get; set; }
- public string DescriptionHtml { get { return DescriptionDiv?.InnerHtml; } }
- public string Description
+ public string DescriptionHtml
+ {
+ get
+ {
+ return DescriptionDiv?.InnerHtml;
+ }
+ set
+ {
+ HtmlDocument doc = new HtmlDocument();
+ doc.LoadHtml(value);
+ DescriptionDiv = doc.DocumentNode;
+ }
+ }
+ public string DescriptionText
{
get
{
@@ -41,6 +54,7 @@ namespace AideDeJeuLib
return html;
}
}
+ [IgnoreDataMember]
public HtmlNode DescriptionDiv { get; set; }
public string Overflow { get; set; }
public string NoOverflow { get; set; }