コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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();
        }