public ActionResult Create(DepartmentCM m)
        {
            BindData();
            var entity = iDepartmentService.Get(m.ID) ?? new Department();

            try
            {
                if (ModelState.IsValid)
                {
                    entity.Name     = m.Name;
                    entity.ParentID = m.ParentID;
                    entity.Status   = 1;

                    iDepartmentService.Save(entity);

                    iDepartmentService.Commit();

                    this.ShowTip();
                }
                else
                {
                    AddError();
                }
            }
            catch (Exception ex)
            {
                this.AddError(ErrorCode.Exception, ex.Message);
            }

            return(RedirectToAction("Create", new { ID = entity.ID }));
        }
Exemplo n.º 2
0
 private void UpdateChild(ref long priorityCounter, DepartmentCM obj)
 {
     foreach (DepartmentCM child in obj.children)
     {
         Department nextModel = _departmentService.GetById(child.id);
         nextModel.ParentId = obj.id;
         nextModel.Level    = _departmentService.FindBy(x => x.Id == obj.id).Select(x => x.Level).FirstOrDefault() + 1;
         nextModel.Priority = priorityCounter++;
         _departmentService.Update(nextModel);
         if (child.children != null)
         {
             UpdateChild(ref priorityCounter, child);
         }
     }
 }