Esempio n. 1
0
        public void AddLink(Task parentTask, Task dependentTask, TaskLinkType linkType)
        {
            CheckLink(parentTask, dependentTask, linkType);

            var link = new TaskLink
            {
                ParentTaskId = parentTask.ID,
                DependenceTaskId = dependentTask.ID,
                LinkType = linkType
            };

            if (taskDao.IsExistLink(link))
                throw new Exception("link already exist");

            ProjectSecurity.DemandEdit(dependentTask);
            ProjectSecurity.DemandEdit(parentTask);

            taskDao.AddLink(link);
        }
 public TaskLinkWrapper(TaskLink link)
 {
     DependenceTaskId = link.DependenceTaskId;
     ParentTaskId = link.ParentTaskId;
     LinkType = link.LinkType;
 }
Esempio n. 3
0
        public void RemoveLink(TaskLink link)
        {
            using (var db = new DbManager(DatabaseId))
            {
                var query = Delete(TasksLinksTable)
                    .Where((Exp.Eq("task_id", link.DependenceTaskId) & Exp.Eq("parent_id", link.ParentTaskId)) |
                           (Exp.Eq("task_id", link.ParentTaskId) & Exp.Eq("parent_id", link.DependenceTaskId)));

                db.ExecuteNonQuery(query);
            }
        }
Esempio n. 4
0
        public bool IsExistLink(TaskLink link)
        {
            using (var db = new DbManager(DatabaseId))
            {
                var query = Query(TasksLinksTable)
                    .SelectCount()
                    .Where((Exp.Eq("task_id", link.DependenceTaskId) & Exp.Eq("parent_id", link.ParentTaskId)) |
                           (Exp.Eq("task_id", link.ParentTaskId) & Exp.Eq("parent_id", link.DependenceTaskId)));

                return db.ExecuteScalar<long>(query) > 0;
            }
        }
Esempio n. 5
0
        public void AddLink(TaskLink link)
        {
            using (var db = new DbManager(DatabaseId))
            {
                var query = Insert(TasksLinksTable)
                    .InColumnValue("task_id", link.DependenceTaskId)
                    .InColumnValue("parent_id", link.ParentTaskId)
                    .InColumnValue("link_type", link.LinkType);

                db.ExecuteNonQuery(query);
            }
        }