public void ValidateTask(Model.Task.Task task) { if (task == null) { throw new Exception("Not a known task..."); } }
public Model.Task.Task LookupTask(Guid identifier) { Model.Task.Task task = FindTask(identifier); ValidateTask(task); return(task); }
public async Task <HttpResponseMessage> CreateTaskAsync(Model.Task.Task task) { var serializedGroup = JsonConvert.SerializeObject(task); var stringContent = new StringContent(serializedGroup, Encoding.UTF8, "application/json"); RequestHelper.Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TokenWraper.Token); var response = await RequestHelper.Client.PostAsync("api/Task/CreateTask", stringContent); return(response); }
private void CleanupTokens(Model.Task.Task task) { if (task.What == Model.Task.Task.Operation.Delete) { TeamServer.TokenIssuer.CleanupTokensAsync(); } else { throw new Exception("Unsupported task operation detected..."); } }
public string Get([FromQuery(Name = "token")] string token, string identifier) { try { TaskManager taskManager = new TaskManager(Server.TeamServer.ObjectManager, Server.TeamServer.TokenIssuer.ElevateToken(token)); Model.Task.Task task = taskManager.LookupTask(identifier); return(ControllerUtils.SerializeObject(task, new List <string>(new string[] { "Identifier", "Which", "What", "When", "Active" }))); } catch (Exception exception) { return("Error: " + exception.Message); } }
private void RunTask(Model.Task.Task task) { if (task.Which == Model.Task.Task.Type.Token) { CleanupTokens(task); } else if (task.Which == Model.Task.Task.Type.Session) { CleanupSessions(task); } else if (task.Which == Model.Task.Task.Type.Account) { CleanupAccounts(task); } }
private void CleanupAccounts(Model.Task.Task task) { if (task.What == Model.Task.Task.Operation.Renew) { new AccountManager(ObjectManager, TeamServer.TokenIssuer.AdminToken).RenewAccountsAsync(); } else if (task.What == Model.Task.Task.Operation.Delete) { new AccountManager(ObjectManager, TeamServer.TokenIssuer.AdminToken).DeleteAccountsAsync(); } else { throw new Exception("Unsupported task operation detected..."); } }
private Model.Task.Task GetModelTask(global::Client.Models.Maraphone.Task.TaskBuildInfo taskBuildInfo, string userId) { if (taskBuildInfo == null) { throw new ArgumentNullException(); } var modelTask = new Model.Task.Task { Title = taskBuildInfo.Title, ContentId = taskBuildInfo.ContentId, CreatedAt = DateTime.Now, CreatedBy = userId }; return(modelTask); }
public string Post([FromQuery(Name = "token")] string token, [FromBody] string keyValues) { try { TaskManager taskManager = new TaskManager(Server.TeamServer.ObjectManager, Server.TeamServer.TokenIssuer.ElevateToken(token)); Dictionary <string, string> properties = ControllerUtils.ParseKeyValues(keyValues); Model.Task.Task task = taskManager.CreateTask((Model.Task.Task.Type)Enum.Parse(typeof(Model.Task.Task.Type), properties["Which"]), (Model.Task.Task.Operation)Enum.Parse(typeof(Model.Task.Task.Operation), properties["What"]), (Model.Task.Task.Frequency)Enum.Parse(typeof(Model.Task.Task.Frequency), properties["When"])); return(task.Identifier.ToString()); } catch (Exception exception) { return("Error: " + exception.Message); } }
public Model.Task.Task CreateTask(Model.Task.Task.Type which, Model.Task.Task.Operation what, Model.Task.Task.Frequency when) { DateTime next = DateTime.Now; if (when == Model.Task.Task.Frequency.Monthly) { next = new DateTime(next.AddMonths(1).Year, next.AddMonths(1).Month, 1); } Model.Task.Task task = new Model.Task.Task { Which = which, What = what, When = when, Next = next }; task.Save(); return(task); }
private void CleanupSessions(Model.Task.Task task) { SessionManager sessionManager = new SessionManager(ObjectManager, TeamServer.TokenIssuer.AdminToken); if (task.What == Model.Task.Task.Operation.Delete) { sessionManager.DeleteSessionsAsync(); } else if (task.What == Model.Task.Task.Operation.Cleanup) { sessionManager.CleanupSessionsAsync(); } else if (task.What == Model.Task.Task.Operation.Reset) { sessionManager.ResetSessionsAsync(); } else { throw new Exception("Unsupported task operation detected..."); } }
public string Put([FromQuery(Name = "token")] string token, string identifier, [FromBody] string keyValues) { try { TaskManager taskManager = new TaskManager(Server.TeamServer.ObjectManager, Server.TeamServer.TokenIssuer.ElevateToken(token)); Model.Task.Task task = taskManager.LookupTask(identifier); Dictionary <string, string> properties = ControllerUtils.ParseKeyValues(keyValues); if (properties.ContainsKey("Which")) { task.Which = (Model.Task.Task.Type)Enum.Parse(typeof(Model.Task.Task.Type), properties["Which"]); } if (properties.ContainsKey("What")) { task.What = (Model.Task.Task.Operation)Enum.Parse(typeof(Model.Task.Task.Operation), properties["What"]); } if (properties.ContainsKey("When")) { task.When = (Model.Task.Task.Frequency)Enum.Parse(typeof(Model.Task.Task.Frequency), properties["When"]); } if (properties.ContainsKey("Active")) { task.Active = (properties["Active"] == "true"); } task.Save(); return("Ok"); } catch (Exception exception) { return("Error: " + exception.Message); } }
private void ScheduleTask(Model.Task.Task task) { switch (task.When) { case Model.Task.Task.Frequency.Daily: task.Next = DateTime.Now + TimeSpan.FromDays(1); break; case Model.Task.Task.Frequency.Weekly: task.Next = DateTime.Now + TimeSpan.FromDays(7); break; case Model.Task.Task.Frequency.Monthly: DateTime now = DateTime.Now; task.Next = new DateTime(now.AddMonths(1).Year, now.AddMonths(1).Month, 1); break; } task.Save(); }
public void DeleteTask(Model.Task.Task task) { ValidateTask(task); task.Delete(); }