Ejemplo n.º 1
0
        public RtmTask UpdateTaskFromResult(List list)
        {
            TaskSeries ts = list.TaskSeriesCollection[0];

            if (ts != null)
            {
                RtmTask rtmTask = new RtmTask(ts, this, list.ID);
                lock (taskLock)
                {
                    Gtk.Application.Invoke(delegate {
                        if (taskIters.ContainsKey(rtmTask.ID))
                        {
                            Gtk.TreeIter iter = taskIters[rtmTask.ID];
                            taskStore.SetValue(iter, 0, rtmTask);
                        }
                        else
                        {
                            Gtk.TreeIter iter = taskStore.AppendNode();
                            taskIters.Add(rtmTask.ID, iter);
                            taskStore.SetValue(iter, 0, rtmTask);
                        }
                    });
                }
                return(rtmTask);
            }
            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Constructor that is created from an RTM Task Series
        /// </summary>
        /// <param name="taskSeries">
        /// A <see cref="TaskSeries"/>
        /// </param>
        public RtmTask(TaskSeries taskSeries, RtmBackend be, string listID)
        {
            this.taskSeries = taskSeries;
            this.rtmBackend = be;
            this.category   = be.GetCategory(listID);

            if (CompletionDate == DateTime.MinValue)
            {
                state = TaskState.Active;
            }
            else
            {
                state = TaskState.Completed;
            }
            notes = new List <INote>();

            if (taskSeries.Notes.NoteCollection != null)
            {
                foreach (Note note in taskSeries.Notes.NoteCollection)
                {
                    RtmNote rtmNote = new RtmNote(note);
                    notes.Add(rtmNote);
                }
            }
        }
Ejemplo n.º 3
0
 void CacheNotes(TaskSeries rtmTaskSeries)
 {
     foreach (var rtmNote in rtmTaskSeries.Notes.NoteCollection)
     {
         var noteTuple = Notes.SingleOrDefault(
             t => t.Item2.Id == rtmNote.ID);
         INoteCore note;
         if (noteTuple != null)
         {
             note = noteTuple.Item2;
         }
         else
         {
             note = backend.Factory.CreateNote(rtmNote.ID);
             Notes.Add(new Tuple <string, INoteCore> (
                           rtmTaskSeries.TaskID, note));
         }
         note.Title = rtmNote.Title;
         note.Text  = rtmNote.Text;
     }
 }