Fire up your applications with Jetfire
RSS
Jetfire Wiki

About Us

Code Plex Projects

COR COR Administration Debug GUI Jetfire Administration Jetfire Code Jetfire Core Jetfire Language Jetfire Web Part Library misc Release Notes Roles Solutions States Training User Administration Versioning Web Parts Web Service Website Design Website Procedures Wiki conventions WordML Workflow Administration

Quick Search
»
Advanced Search »

PoweredBy

Table of Contents [Hide/Show]


Jetfire Code: To Do

The Jetfire Code Class for To Do is shown below in the box. This class is used to create To Do lists.

// To Do Workflow
//===================================================================================
// ToDo.txt
//===================================================================================
// Copyright (C) 2007 TrackerRealm Corporation
// This file is part of Jetfire.
// 
// Jetfire is open software: you can redistribute it and/or modify it under the terms
// of the GNU General Public License as published by the Free Software Foundation,
// version 3 of the License.
// 
// Jetfire is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
// PURPOSE.  See the GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License along with Jetfire.
// If not, see http://www.gnu.org/licenses.
// REMOVAL OF THIS NOTICE IS VIOLATION OF THE COPYRIGHT.
//===================================================================================

namespace JetfireApps
{
	public workflow ToDoList
	{
		// C O N S T R U C T O R - Instantiate the ToDoList
		// The ToDoList starts in the Start State.
		public ToDoList()
		{
			enterstate Start();
			Subject = "To Do List";
		}
		// P R O P E R T I E S
		public List ToDoItems
		{
			get;
			private set;
		}

		// S T A T E   M E T H O D S
		// State Transition        Command       Comment
		// New -> Start            new           The workflow enters the start state when instantiated
		// Start -> Cancelled      Cancel		   The To Do List is not required
		// Start -> Completed		 Complete      This is an end state
		//
		public Start()
		{
		}
		public Scheduled()
		{
		}
		public Cancelled()
		{
		}
		public Completed()
		{
		}
		// C O M M A N D S
		// The Cancel command can be used in the Start and Scheduled states by the Organizer
		public void Cancel() : states(Start, Scheduled)
		{
			enterstate Cancelled();
		}
		// The Complete command can be used in the Scheduled state
		public void Complete() : states(Scheduled)
		{
			enterstate Completed();
		}
		public ToDoItem AddToDoItem()
		{
			ToDoItem item = new ToDoItem();
			ToDoItems.Add(item);
			return item;
		}
	}
	// ToDoItem inherits from Schedule.
	public workflow ToDoItem : Schedule
	{
		public ToDoItem()
		{
			enterstate Start();
			Subject = "To Do Item";
		}
		// Properties
		// State Methods - same as ToDoList
		// Commands - same as ToDoList
		// S T A T E   M E T H O D S
		// State Transition        Command       Comment
		// New -> Start            new           The workflow enters the start state when instantiated
		// Start -> Scheduled      Schedule
		// Scheduled -> Start      UnSchedule    The user un-scheduled the appointment
		// Scheduled -> Scheduled  Schedule      The user rescheduled the appointment
		// Start -> Cancelled      Cancel
		// Scheduled -> Cancelled  Cancel        This is an end state
		// Scheduled -> Completed  Complete      This is an end state
		//
		public Start()
		{
		}
		public Scheduled()
		{
		}
		public Cancelled()
		{
		}
		public Completed()
		{
		}
		// C O M M A N D S
		// The Schedule command can be used in the Start and Scheduled states
		public void Schedule() : states(Start, Scheduled)
		{
			StartDateTime = DateTime.Today;
			EndDateTime = DateTime.Today;
			enterstate Scheduled();
		}
		// The Unschedule command can be used in the Scheduled states by the Organizer
		public void Unschedule() : states(Scheduled)
		{
			enterstate Start();
		}
		// The Cancel command can be used in the Start and Scheduled states by the Organizer
		public void Cancel() : states(Start, Scheduled)
		{
			enterstate Cancelled();
		}
		// The Complete command can be used in the Scheduled state
		public void Complete() : states(Scheduled)
		{
			enterstate Completed();
		}
	}
}

See Also

Jetfire Code Library
Jetfire Code Application Library

ScrewTurn Wiki version 3.0.4.560. Some of the icons created by FamFamFam.