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); }
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(); }