Example #1
0
        public override IDependency InsertDependency(IDependency dependency)
        {
            using (var db = new GanttResourcesEntities())
            {
                //int id = int.Parse(dependency.ID.ToString());
                //int id = string.IsNullOrEmpty(dependency.ID.ToString()) ? 0 : int.Parse(dependency.ID.ToString());
                int pId = int.Parse(dependency.PredecessorID.ToString());
                int sId = int.Parse(dependency.SuccessorID.ToString());

                var result = new GanttDependency {
                    PredecessorID = pId, SuccessorID = sId, Type = (int)dependency.Type
                };
                db.GanttDependencies.Add(result);

                db.SaveChanges();

                dependency.ID            = result.ID;
                dependency.PredecessorID = result.ID;
                dependency.SuccessorID   = result.SuccessorID;
            }

            return(dependency);
        }
 //判断是否符合增加的条件
 private bool IsAddDependenceLinker(GanttDependency gd)
 {
     if (gd.Predecessor.Parent == null && gd.Successor.Parent == null)
         return true;
     if (gd.Predecessor.Parent == null && gd.Successor.Parent != null)
     {
         if (gd.Successor.Parent.Expanded)
             //后置是否存在祖父折叠的,存在的话,就会不加线条
             return IsExistParent(gd.Successor.Parent);
     }
     if (gd.Predecessor.Parent != null && gd.Successor.Parent == null)
     {
         if (gd.Predecessor.Parent.Expanded)
             //前置是否存在祖父折叠的,存在的话,就会不加线条
             return IsExistParent(gd.Predecessor.Parent);
     }
     if (gd.Predecessor.Parent != null && gd.Successor.Parent != null)
     {
         //前置或者后置是否存在祖父折叠的,存在的话,就会不加线条
         if (gd.Successor.Parent.Expanded && !gd.Predecessor.Parent.Expanded)
             return IsExistParent(gd.Predecessor.Parent);
         if (gd.Predecessor.Parent.Expanded && !gd.Successor.Parent.Expanded)
             return IsExistParent(gd.Successor.Parent);
         if (gd.Successor.Parent.Expanded && gd.Predecessor.Parent.Expanded)
             return IsExistParent(gd.Successor.Parent) && IsExistParent(gd.Predecessor.Parent);
     }
     return false;
 }
        public override IDependency InsertDependency(IDependency dependency)
        {
            using (var db = new GanttResourcesEntities())
            {
                //int id = int.Parse(dependency.ID.ToString());
                //int id = string.IsNullOrEmpty(dependency.ID.ToString()) ? 0 : int.Parse(dependency.ID.ToString());
                int pId = int.Parse(dependency.PredecessorID.ToString());
                int sId = int.Parse(dependency.SuccessorID.ToString());

                var result = new GanttDependency { PredecessorID = pId, SuccessorID = sId, Type = (int)dependency.Type };
                db.GanttDependencies.Add(result);

                db.SaveChanges();

                dependency.ID = result.ID;
                dependency.PredecessorID = result.ID;
                dependency.SuccessorID = result.SuccessorID;
            }

            return dependency;
        }