Esempio n. 1
0
        public ActionResult Create(FormCollection collection)
        {
            var model = new Branch();
            this.TryUpdateModel<Branch>(model);

            this.OAService.SaveBranch(model);

            return this.RefreshParent();
        }
Esempio n. 2
0
 public void SaveBranch(Branch branch)
 {
     using (var dbContext = new OADbContext())
     {
         if (branch.ID > 0)
         {
             dbContext.Update<Branch>(branch);
         }
         else
         {
             dbContext.Insert<Branch>(branch);
         }
     }
 }
Esempio n. 3
0
        private void UpdateOrg(List<Branch> allBranch, List<Staff> allStaff, Branch currentBranch)
        {
            if (currentBranch.Staffs != null)
            {
                foreach (var staff in currentBranch.Staffs)
                {
                    var existStaff = allStaff.SingleOrDefault(s => s.ID == staff.ID);
                    if (existStaff != null)
                        existStaff.BranchId = currentBranch.ID;
                }
            }

            if (currentBranch.Embranchment != null)
            {
                foreach (var branch in currentBranch.Embranchment)
                {
                    var existBranch = allBranch.SingleOrDefault(b => b.ID == branch.ID);
                    if (existBranch != null)
                        existBranch.ParentId = currentBranch.ID;

                    UpdateOrg(allBranch, allStaff, branch);
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 保存树形组织结构(刷全表数据/BatchUpdate),先取出来所有的Branch,Staff的ParentId为0,然后在根据RootBranch的树形结构赋对应的值
        /// </summary>
        /// <param name="rootBranch"></param>
        public void SaveOrg(Branch rootBranch)
        {
            using (var dbContext = new OADbContext())
            {
                var branchs = dbContext.Branchs.ToList();
                branchs.ForEach(b => b.ParentId = 0);

                var staffs = dbContext.Staffs.ToList();
                staffs.ForEach(s => s.BranchId = 0);

                UpdateOrg(branchs, staffs, rootBranch);

                dbContext.SaveChanges();
            }
        }
Esempio n. 5
0
 private void AppendBranch(IEnumerable<Branch> allBranch, IEnumerable<Staff> allStaff, Branch branch)
 {
     branch.Embranchment = allBranch.Where(b => b.ParentId == branch.ID).Select(b => new Branch() { ID = b.ID, Name = b.Name }).ToList();
     branch.Staffs = allStaff.Where(s => s.BranchId.Value == branch.ID).Select(b => new Staff() { ID = b.ID, Name = b.Name }).ToList();
     branch.Embranchment.ForEach(b => AppendBranch(allBranch, allStaff, b));
 }
Esempio n. 6
0
        /// <summary>
        /// 返回树形组织结构,根节点RootBranch(id=0, ParentId=0),其下Staff和Branch为未分配的,根节点下的第一个节点为TopBranch(id=1, ParantId=0),其他ParentId=0的归为RootBranch下
        /// </summary>
        /// <returns></returns>
        public Branch GetOrg()
        {
            using (var dbContext = new OADbContext())
            {
                var branchs = dbContext.Branchs.ToList();
                var staffs = dbContext.Staffs.ToList();

                var branch = new Branch();
                AppendBranch(branchs, staffs, branch);

                return branch;
            }
        }
Esempio n. 7
0
        //
        // GET: /OA/Branch/Create

        public ActionResult Create()
        {
            var model = new Branch();
            return View("Edit", model);
        }