From aee0952c17accb117e183b0c4fb812f42853140c Mon Sep 17 00:00:00 2001 From: Jonathan Williams Date: Tue, 12 May 2015 18:59:22 -0700 Subject: [PATCH] Added methods to convert tasks. --- Website/LOC.Core/LOC.Core.csproj | 1 + Website/LOC.Core/Tokens/AccountTask.cs | 13 + .../Models/AccountAdministrator.cs | 21 + .../Models/IAccountAdministrator.cs | 2 + .../Controllers/PlayerAccountController.cs | 9 + .../LOC.Website.Web.Publish.xml | 458 +++++++++--------- Website/LOCWebsite.suo | Bin 474624 -> 474624 bytes 7 files changed, 275 insertions(+), 229 deletions(-) create mode 100644 Website/LOC.Core/Tokens/AccountTask.cs diff --git a/Website/LOC.Core/LOC.Core.csproj b/Website/LOC.Core/LOC.Core.csproj index b1fdf484f..a52e4b798 100644 --- a/Website/LOC.Core/LOC.Core.csproj +++ b/Website/LOC.Core/LOC.Core.csproj @@ -78,6 +78,7 @@ + diff --git a/Website/LOC.Core/Tokens/AccountTask.cs b/Website/LOC.Core/Tokens/AccountTask.cs new file mode 100644 index 000000000..85dd2914e --- /dev/null +++ b/Website/LOC.Core/Tokens/AccountTask.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace LOC.Core.Tokens +{ + public class AccountTask + { + public string Task { get; set; } + public string UUID { get; set; } + } +} diff --git a/Website/LOC.Website.Common/Models/AccountAdministrator.cs b/Website/LOC.Website.Common/Models/AccountAdministrator.cs index 5aa571908..8d0c23f74 100644 --- a/Website/LOC.Website.Common/Models/AccountAdministrator.cs +++ b/Website/LOC.Website.Common/Models/AccountAdministrator.cs @@ -72,6 +72,27 @@ return accounts; } + public List GetTasksByCount(int count) + { + var tasks = new List(); + + using (var repository = _repositoryFactory.CreateRepository()) + { + var gameTasks = repository.GetAll().OrderBy(x => x.GameTaskId).Take(count).Include(x => x.Account).ToList(); + + foreach (var task in gameTasks) + { + AccountTask accountTask = new AccountTask(); + accountTask.Task = task.TaskName; + accountTask.UUID = task.Account.Uuid; + + tasks.Add(accountTask); + } + } + + return tasks; + } + private object getAccountLock(string name) { object lockObject = null; diff --git a/Website/LOC.Website.Common/Models/IAccountAdministrator.cs b/Website/LOC.Website.Common/Models/IAccountAdministrator.cs index a79c19552..afcb11d4e 100644 --- a/Website/LOC.Website.Common/Models/IAccountAdministrator.cs +++ b/Website/LOC.Website.Common/Models/IAccountAdministrator.cs @@ -41,5 +41,7 @@ bool CoinReward(GemRewardToken token); ClientToken GetAccountByUUID(string uuid); + + List GetTasksByCount(int count); } } diff --git a/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs b/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs index 820a8212a..1f6e02b55 100644 --- a/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs +++ b/Website/LOC.Website.Web/Controllers/PlayerAccountController.cs @@ -39,6 +39,15 @@ return Content(json, "application/json"); } + [HttpPost] + public ActionResult GetTasksByCount(int count) + { + var tasks = _accountAdministrator.GetTasksByCount(count); + + var json = JsonConvert.SerializeObject(tasks); + return Content(json, "application/json"); + } + [HttpPost] public ActionResult GetAccountByUUID(string uuid) { diff --git a/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml b/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml index 2d91aaa08..72e6fb292 100644 --- a/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml +++ b/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml @@ -1,12 +1,12 @@  - + @@ -19,51 +19,48 @@ - - + + - - - + - + - + - - - + - - + + + @@ -74,24 +71,24 @@ - - + - - + + + + - @@ -99,7 +96,7 @@ - + @@ -107,19 +104,18 @@ - + - + - - + @@ -128,20 +124,20 @@ - + - - + - + + - + @@ -155,43 +151,49 @@ - + + + + + + - + + - + - + - + + - @@ -201,7 +203,7 @@ - + @@ -209,65 +211,61 @@ - + - + - + + - + - + - - + - - + + - - + - + - + - - + + - - + + - - + - - @@ -281,38 +279,42 @@ - + - + + + - + - + - + + + - + @@ -322,7 +324,7 @@ - + @@ -333,20 +335,22 @@ + - + + + - - + @@ -354,8 +358,6 @@ - - @@ -363,44 +365,40 @@ - - + + - - - - + + - - + + - - @@ -411,126 +409,126 @@ - + - - - - + - - + - + + - + - + - + + - + + - + + - + - + - - + + - + - + + - + - + + - - + + - + - - + + - + - - - - - + + + + + - + - - @@ -546,48 +544,49 @@ - + + - + - + - + - + - + - + - + - + @@ -598,32 +597,34 @@ + - + + - + + - - + - - + + @@ -631,39 +632,36 @@ - + - - - + - - + - - + + + - - + @@ -674,33 +672,32 @@ - + - - - - + - - + - - - + + + + + + @@ -708,92 +705,93 @@ - + + - + + - + - + - - + + - + - + - - + + - + - + - + + - - + + - + - - + + - + - - - - - + + + + + - + - - @@ -809,38 +807,39 @@ - + + - + - + - + - + - + - + @@ -850,7 +849,7 @@ - + @@ -861,28 +860,30 @@ + - + + - + + - - + @@ -894,39 +895,36 @@ - + - - - + - - + - - + + + - - + @@ -937,33 +935,32 @@ - + - - - - + - - + - + + + + @@ -971,85 +968,88 @@ - + + - + + - + - + - - + + - + - + - - + + - + - + + - - + + - + - - + + - + - - - - - + + + + + - + \ No newline at end of file diff --git a/Website/LOCWebsite.suo b/Website/LOCWebsite.suo index 082599a5290fc00d2b32583da99071c4353f3f2e..2fd6e5bcf8dbd57713aa32d8462604010f22f6e4 100644 GIT binary patch delta 12917 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 lX!SR5O`Wml@lU_+e&tv{x&DqG