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; }