public void Test_Update_2()
        {
            _mockRepository.Find(1).Returns(TreeEntity.Create());
            _mockRepository.Find(2).Returns(new TreeEntity(2, "1,2,", 2)
            {
                SortId = 1, ParentId = 1, Version = new byte[] { 1 }
            });
            _mockRepository.Find(3).Returns(new TreeEntity(3, "1,2,3,", 3)
            {
                SortId = 1, ParentId = 2, Version = new byte[] { 1 }
            });
            var input = new List <TreeDto> {
                new TreeDto {
                    Id = "1", Path = "1,", Level = 1, ParentId = 2, SortId = 1, Version = new byte[] { 1 }
                },
                new TreeDto {
                    Id = "2", Path = "1,2,", Level = 2, ParentId = 3, SortId = 1, Version = new byte[] { 1 }
                },
                new TreeDto {
                    Id = "3", Path = "1,2,3,", Level = 3, SortId = 1, Version = new byte[] { 1 }
                }
            };
            var result = _service.Save(TreeDto.CreateEmptyList(), input, TreeDto.CreateEmptyList());

            Assert.AreEqual(3, result.Count, "result.Count");
            Assert.AreEqual(3, result[0].Level, "result[0].Level");
            Assert.AreEqual("3,2,1,", result[0].Path);
            Assert.AreEqual(2, result[1].Level);
            Assert.AreEqual("3,2,", result[1].Path);
            Assert.AreEqual(1, result[2].Level);
            Assert.AreEqual("3,", result[2].Path);
        }
예제 #2
0
        public OperationResult UpDltdate(TreeDto tree)
        {
            List <Department> departments  = new List <Department>();
            List <Department> edepartments = new List <Department>();
            Department        department   = new Department();

            department = GetByKey(tree.id);
            departments.Add(department);
            departments = treetolist(tree, departments);
            Department pdept = null;

            if (department.Dept_ParentId != 0)
            {
                if (GetChildren((long)department.Dept_ParentId).Count() == 1)
                {
                    pdept            = GetByKey((long)department.Dept_ParentId);
                    pdept.Dept_State = "open";
                }
            }
            try
            {
                this._deptRepository.UpDeleteListDate(departments, pdept);
                return(new OperationResult(OperationResultType.Success, "删除成功!"));
            }
            catch (Exception e)
            {
                return(new OperationResult(OperationResultType.Error, "删除失败!", e));
            }
        }
예제 #3
0
 public static TreeEntity ToEntity(this TreeDto dto)
 {
     return(new TreeEntity(dto.Id.ToInt(), dto.Path, dto.Level)
     {
         ParentId = dto.ParentId,
         SortId = dto.SortId,
         Version = dto.Version
     });
 }
        public IReadOnlyCollection <string> GetSeasons(TreeDto tree)
        {
            var return_val = new List <string>();

            foreach (var season in tree.Seasons)
            {
                return_val.Add(season);
            }

            return(tree.Seasons);
        }
        public void Test_Update_Delete_Repeat()
        {
            var input = new List <TreeDto> {
                new TreeDto {
                    Id = "1", Path = "1,", Level = 1, ParentId = 4, SortId = 1, Version = new byte[] { 1 }
                }
            };
            var list = _service.Save(TreeDto.CreateEmptyList(), input, input);

            Assert.AreEqual(0, list.Count);
        }
        public void Test_Add_Delete_Repeat()
        {
            var input = new List <TreeDto> {
                new TreeDto {
                    Id = "1", SortId = 1
                }
            };
            var list = _service.Save(input, TreeDto.CreateEmptyList(), input);

            Assert.AreEqual(0, list.Count);
        }
        public IEnumerable <string> Get()
        {
            var newTree = new TreeDto()
            {
                Age = 4, Seasons = new List <string>()
                {
                    "Fall", "Spring"
                }, TreeName = "White Oak"
            };

            return(_treeRepo.GetSeasons(newTree));
        }
예제 #8
0
        public IHttpActionResult PuteDTree(TreeDto model)
        {
            OperationResult result = _deptService.UpDltdate(model);

            if (result.ResultType == OperationResultType.Success)
            {
                return(CreatedAtRoute("defaultApi", new { id = model.id }, model));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public void Test_Add_1()
        {
            var input = new List <TreeDto> {
                new TreeDto {
                    Id = "1", SortId = 1
                }
            };
            var list = _service.Save(input, TreeDto.CreateEmptyList(), TreeDto.CreateEmptyList());

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(1, list[0].Level);
            Assert.AreEqual("1,", list[0].Path);
        }
        public void Test_Update_Repeat()
        {
            _mockRepository.Find(1).Returns(TreeEntity.Create());
            var input = new List <TreeDto> {
                new TreeDto {
                    Id = "1", Path = "1,", Level = 1, ParentId = 2, SortId = 1, Version = new byte[] { 1 }
                },
                new TreeDto {
                    Id = "1", Path = "1,", Level = 1, ParentId = 2, SortId = 2, Version = new byte[] { 1 }
                },
            };
            var result = _service.Save(TreeDto.CreateEmptyList(), input, TreeDto.CreateEmptyList());

            Assert.AreEqual(1, result.Count, "result.Count");
        }
예제 #11
0
        private List <Department> treetolist(TreeDto tree, List <Department> departments)
        {
            List <Department> _departments = new List <Department>();

            _departments = departments;
            if (tree.children != null)
            {
                foreach (TreeDto itree in tree.children)
                {
                    var _department = GetByKey(itree.id);
                    _departments.Add(_department);
                    _departments = treetolist(itree, _departments);
                }
            }
            return(_departments);
        }
예제 #12
0
        private TreeDto RecursionTreeGeneral(TreeDto tree)
        {
            var treechildren = GetChildren(tree.id).Select(d => new TreeDto {
                id = d.Id, text = d.Dept_Name, state = d.Dept_State
            }).ToList();

            if (treechildren != null)
            {
                for (int i = 0; i < treechildren.Count(); i++)
                {
                    treechildren[i] = RecursionTreeGeneral(treechildren[i]);
                }
                tree.children = treechildren;
            }
            return(tree);
        }
        public void Test_Add_Nested_2()
        {
            var input = new List <TreeDto> {
                new TreeDto {
                    Id = "2", ParentId = 1, SortId = 1
                },
                new TreeDto {
                    Id = "1", SortId = 1
                }
            };
            var result = _service.Save(input, TreeDto.CreateEmptyList(), TreeDto.CreateEmptyList());

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(2, result[0].Level);
            Assert.AreEqual("1,2,", result[0].Path);
            Assert.AreEqual(1, result[1].Level);
            Assert.AreEqual("1,", result[1].Path);
        }
예제 #14
0
 public static TreeEntity FromDto(TreeDto tree)
 {
     return(new TreeEntity(tree.Guid, tree.Name, tree.Description, tree.CreatedAt, tree.UpdatedAt));
 }
        public void Test_Add_Empty()
        {
            var list = _service.Save(TreeDto.CreateEmptyList(), TreeDto.CreateEmptyList(), TreeDto.CreateEmptyList());

            Assert.AreEqual(0, list.Count);
        }