コード例 #1
0
        public async Task MainMethodCode()
        {
            // TODO - substitute your own .esriTasks file
            string taskFile = @"c:\Tasks\Get Started.esriTasks";

            try
            {
                // retrieve the task item information
                TaskItemInfo taskItemInfo = await TaskAssistantModule.GetTaskItemInfoAsync(taskFile);

                string message = "Name : " + taskItemInfo.Name;
                message += "\r\n" + "Description : " + taskItemInfo.Description;
                message += "\r\n" + "Guid : " + taskItemInfo.Guid.ToString("B");
                message += "\r\n" + "Task Count : " + taskItemInfo.GetTasks().Count();

                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(message, "Task Information");
            }
            catch (OpenTaskException e)
            {
                // exception thrown if task file doesn't exist or has incorrect format
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(e.Message, "Task Information");
            }
            catch (TaskFileVersionException e)
            {
                // exception thrown if task file does not support returning task information
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(e.Message, "Task Information");
            }
        }
コード例 #2
0
        public async void OpenSpecificTask()
        {
            #region Open a specific Task in a Task File (.esriTasks)

            // TODO - substitute your own .esriTasks file to be opened
            string taskFile = @"c:\Tasks\Get Started.esriTasks";

            try
            {
                // retrieve the task item information
                TaskItemInfo taskItemInfo = await TaskAssistantModule.GetTaskItemInfoAsync(taskFile);

                // find the first task
                TaskInfo taskInfo = taskItemInfo.GetTasks().FirstOrDefault();

                Guid guid = Guid.Empty;
                if (taskInfo != null)
                {
                    // if a task exists, open it
                    guid = await TaskAssistantModule.OpenTaskAsync(taskFile, taskInfo.Guid);
                }
                else
                {
                    // else just open the task item
                    guid = await TaskAssistantModule.OpenTaskAsync(taskFile);
                }

                // TODO - retain the guid returned for use with CloseTaskAsync
            }
            catch (OpenTaskException e)
            {
                // exception thrown if task file doesn't exist or has incorrect format
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(e.Message);
            }
            catch (TaskFileVersionException e)
            {
                // exception thrown if task file does not support returning task information
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(e.Message);
            }
            #endregion
        }
        protected override async void OnClick()
        {
            // obtain task information from an .esriTasks file

            // TODO - substitute your own .esriTasks file
            string taskFile = @"c:\Tasks\Project Exploration Tasks.esriTasks";

            if (!System.IO.File.Exists(taskFile))
            {
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Cannot find file " + taskFile + ". Check file location.");
                return;
            }

            try
            {
                // retrieve the task item information
                TaskItemInfo taskItemInfo = await TaskAssistantModule.GetTaskItemInfoAsync(taskFile);

                string message = "Name : " + taskItemInfo.Name;
                message += "\r\n" + "Description : " + taskItemInfo.Description;
                message += "\r\n" + "Guid : " + taskItemInfo.Guid.ToString("B");
                message += "\r\n" + "Task Count : " + taskItemInfo.GetTasks().Count();

                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(message, "Task Information");
            }
            catch (OpenTaskException e)
            {
                // exception thrown if task file doesn't exist or has incorrect format
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(e.Message, "Task Information");
            }
            catch (TaskFileVersionException e)
            {
                // exception thrown if task file does not support returning task information
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(e.Message, "Task Information");
            }


            // OR   obtain the task information from a task project item

            //// find the first task item in the project
            //var taskItem = Project.Current.GetItems<TaskProjectItem>().FirstOrDefault();
            //// if there isn't a project task item, return
            //if (taskItem == null)
            //  return;

            //string message = await QueuedTask.Run(async () =>
            //{
            //  bool isOpen = taskItem.IsOpen;
            //  Guid taskGuid = taskItem.TaskItemGuid;

            //  string msg = "";
            //  try
            //  {
            //    TaskItemInfo taskItemInfo = await taskItem.GetTaskItemInfoAsync();

            //    msg = "Name : " + taskItemInfo.Name;
            //    msg += "\r\n" + "Description : " + taskItemInfo.Description;
            //    msg += "\r\n" + "Guid : " + taskItemInfo.Guid.ToString("B");
            //    msg += "\r\n" + "Task Count : " + taskItemInfo.GetTasks().Count();

            //    // iterate the tasks in the task item
            //    IEnumerable<TaskInfo> taskInfos = taskItemInfo.GetTasks();
            //    foreach (TaskInfo taskInfo in taskInfos)
            //    {
            //      string name = taskInfo.Name;
            //      Guid guid = taskInfo.Guid;

            //      // do something
            //    }
            //  }
            //  catch (OpenTaskException e)
            //  {
            //    // exception thrown if task file doesn't exist or has incorrect format
            //    msg = e.Message;
            //  }
            //  catch (TaskFileVersionException e)
            //  {
            //    // exception thrown if task file does not support returning task information
            //    msg = e.Message;
            //  }
            //  return msg;
            //});

            //ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(message, "Task Information");
        }