Exemplo n.º 1
0
        /**
         * Method for adding a TodoEvent to TodoList into the list.
         */
        public Boolean AddTodo(String pName, TimeSpan pRequired, Priority pPriority, DateTime pDeadline, string pInfo, Boolean pSplit)
        {
            TodoEvent NewTodo = new TodoEvent();
            NewTodo.Name = pName;
            NewTodo.Required = pRequired;
            NewTodo.Priority = pPriority;
            NewTodo.Deadline = pDeadline;
            NewTodo.Info = pInfo;
            NewTodo.Split = pSplit;

            Todos.Add(NewTodo);
            return SaveTodos();
        }
Exemplo n.º 2
0
        public void Position(TodoEvent te, TimeList list)
        {
            int dur = (int)te.Required.TotalMinutes;
            int i = 0;

            int remaining = dur;
            while ((remaining = timelist.InsertElement(i, remaining, Priority.ASAP)) > 0) {
                i++;
                while (i < list.GetSize()) {
                    if (timelist.GetElement(i).Priority == Priority.FREE) {
                        break;
                    }
                    else {
                        i++;
                    }
                } // while etsi uusi
            } // on vielä lisättävää
        }
Exemplo n.º 3
0
        // position as ASAP
        public void Panic(TodoEvent te)
        {
            int dur = (int)te.Required.TotalMinutes;

            int i = 0;
            // CONTINUOUS
            if (te.Split) {
                while (i < timelist.GetSize()) {
                    TimeList.Time t = timelist.GetElement(i);
                    if ((int)t.Span.TotalMinutes >= dur) {
                        timelist.InsertElement(i, dur, Priority.ASAP);
                    }
                }
            }

            // SPLITABLE
            else {
                int remaining = dur;
                while ((remaining = timelist.InsertElement(i, remaining, Priority.ASAP)) > 0) {
                    i++;
                    while (i < timelist.GetSize()) {
                        if (timelist.GetElement(i).Priority == Priority.FREE) {
                            break;
                        }
                        else {
                            i++;
                        }
                    } // while etsi uusi
                } // on vielä lisättävää
            } // SPLITABLE
        }