示例#1
0
        //增加分类节点,如果添加成功,则返回添加成功后的分类节点ID
        //系统中存储的路径全部都是相对路径,不允许存储绝对路径
        //系统参数是绝对路径,绝对路径到相对路径的转换在方法在内部完成
        //系统对外看都是绝对路径
        public int AddTaskClass(string TaskClassName, string TaskClassPath)
        {
            //转换相对路径
            TaskClassPath = cTool.GetRelativePath(TaskClassPath);

            int tCount = GetTaskClassCount();

            //需要判断新建立的任务分类是否已经存在
            for (int i = 0; i < tCount; i++)
            {
                if (TaskClass[i].Row["Name"].ToString() == TaskClassName)
                {
                    throw new cSoukeyException("任务分类已经存在!");
                }
            }

            string strTaskClass = "";
            int    MaxID        = 0;

            if (tCount > 0)
            {
                int index = TaskClass.Count - 1;
                MaxID = int.Parse(TaskClass[index].Row["id"].ToString()) + 1;
            }
            else
            {
            }

            strTaskClass  = "<id>" + MaxID + "</id>";
            strTaskClass += "<Name>" + TaskClassName + "</Name>";
            strTaskClass += "<Path>" + TaskClassPath + "</Path>";
            xmlConfig.InsertElement("TaskConfig/TaskClasses", "TaskClass", strTaskClass);
            xmlConfig.Save();


            //建立物理的任务分类的目录和索引文件
            if (!System.IO.Directory.Exists(TaskClassPath))
            {
                System.IO.Directory.CreateDirectory(TaskClassPath);
            }

            Task.cTaskIndex tIndex = new Task.cTaskIndex();
            tIndex.NewIndexFile(TaskClassPath);
            tIndex = null;

            return(MaxID);
        }
        //���ӷ���ڵ㣬�����ӳɹ����򷵻���ӳɹ���ķ���ڵ�ID
        //ϵͳ�д洢��·��ȫ���������·����������洢����·��
        //ϵͳ�����Ǿ���·��������·�������·����ת���ڷ������ڲ����
        //ϵͳ���⿴���Ǿ���·��
        public int AddTaskClass(string TaskClassName,string TaskClassPath)
        {
            //ת�����·��
            TaskClassPath = cTool.GetRelativePath(TaskClassPath);

            int tCount = GetTaskClassCount();

            //��Ҫ�ж��½�������������Ƿ��Ѿ�����
            for (int i = 0; i < tCount; i++)
            {
                if (TaskClass[i].Row["Name"].ToString() == TaskClassName)
                {
                    throw new cSoukeyException("��������Ѿ����ڣ�");
                }
            }

            string strTaskClass = "";
            int MaxID=0;
            if (tCount > 0)
            {
                int index = TaskClass.Count - 1;
                MaxID = int.Parse(TaskClass[index].Row["id"].ToString()) + 1;
            }
            else
            {
            }

            strTaskClass = "<id>" + MaxID + "</id>";
            strTaskClass += "<Name>" + TaskClassName + "</Name>";
            strTaskClass += "<Path>" + TaskClassPath + "</Path>";
            xmlConfig.InsertElement("TaskConfig/TaskClasses", "TaskClass", strTaskClass);
            xmlConfig.Save();

            //�����������������Ŀ¼�������ļ�
            if (!System.IO.Directory.Exists(TaskClassPath))
            {
                System.IO.Directory.CreateDirectory(TaskClassPath);
            }

            Task.cTaskIndex tIndex = new Task.cTaskIndex();
            tIndex.NewIndexFile(TaskClassPath);
            tIndex = null;

            return MaxID;
        }