コード例 #1
0
 public ActionResult CreateChild(int currentUnitId, UnitHierarchyViewModel vm)
 {
     if (ModelState.IsValid)
     {
         UnitHierarchy uh = new UnitHierarchy();
         Mapper.Map(vm, uh);
         uh.ParentUnit        = this.orgTasks.GetUnit(vm.ParentUnitId);
         uh.Unit              = this.orgTasks.GetUnit(vm.UnitId);
         uh.UnitHierarchyType = this.orgTasks.GetUnitHierarchyType(vm.UnitHierarchyTypeId);
         this.orgTasks.SaveUnitHierarchy(uh);
         return(RedirectToAction("Details", "Units", new { id = currentUnitId, area = "Profiling" }));
     }
     return(CreateChild(currentUnitId));
 }
コード例 #2
0
        public UnitHierarchy SaveUnitHierarchy(UnitHierarchy uh)
        {
            if (uh.ParentUnit != null)
            {
                BackgroundJob.Enqueue <IOrganizationTasks>(x => x.LuceneUpdateUnitQueueable(uh.ParentUnit.Id));
            }

            if (uh.Unit != null)
            {
                BackgroundJob.Enqueue <IOrganizationTasks>(x => x.LuceneUpdateUnitQueueable(uh.Unit.Id));
            }

            return(this.unitHierarchyRepo.SaveOrUpdate(uh));
        }
コード例 #3
0
        public ActionResult Delete(int currentUnitId, int id)
        {
            UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(id);
            Unit          u  = this.orgTasks.GetUnit(currentUnitId);

            if (uh != null && u != null)
            {
                this.orgTasks.DeleteUnitHierarchy(uh);
                return(RedirectToAction("Details", "Units", new { id = currentUnitId }));
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
コード例 #4
0
        public ActionResult Edit(int currentUnitId, int id)
        {
            UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(id);
            Unit          u  = this.orgTasks.GetUnit(currentUnitId);

            if (uh != null && u != null)
            {
                ViewBag.CurrentUnit = u;
                UnitHierarchyViewModel vm = new UnitHierarchyViewModel(uh);
                vm.PopulateDropDowns(this.orgTasks.GetUnitHierarchyTypes());
                return(View(vm));
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
コード例 #5
0
 public ActionResult EditNameChange(int currentUnitId, UnitHierarchyViewModel vm)
 {
     if (ModelState.IsValid)
     {
         UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(vm.Id);
         if (uh != null)
         {
             Mapper.Map(vm, uh);
             uh.ParentUnit        = this.orgTasks.GetUnit(vm.ParentUnitId);
             uh.Unit              = this.orgTasks.GetUnit(vm.UnitId);
             uh.UnitHierarchyType = this.orgTasks.GetUnitHierarchyType(vm.UnitHierarchyTypeId);
             this.orgTasks.SaveUnitHierarchy(uh);
             return(RedirectToAction("Details", "Units", new { id = currentUnitId, area = "Profiling" }));
         }
     }
     return(EditNameChange(currentUnitId, vm.Id));
 }
コード例 #6
0
        public ActionResult EditNameChange(int currentUnitId, int id)
        {
            UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(id);
            Unit          u  = this.orgTasks.GetUnit(currentUnitId);

            if (uh != null && u != null)
            {
                ViewBag.CurrentUnit = u;
                UnitHierarchyViewModel vm = new UnitHierarchyViewModel(uh);
                vm.UnitHierarchyTypeId = this.orgTasks.GetUnitHierarchyType(UnitHierarchyType.NAME_CHANGED_NAME_TO).Id;
                return(View(vm));
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
コード例 #7
0
        public void DeleteUnitHierarchy(UnitHierarchy uh)
        {
            if (uh != null)
            {
                if (uh.ParentUnit != null)
                {
                    uh.ParentUnit.RemoveUnitHierarchy(uh);

                    BackgroundJob.Enqueue <IOrganizationTasks>(x => x.LuceneUpdateUnitQueueable(uh.ParentUnit.Id));
                }
                if (uh.Unit != null)
                {
                    uh.Unit.RemoveUnitHierarchy(uh);

                    BackgroundJob.Enqueue <IOrganizationTasks>(x => x.LuceneUpdateUnitQueueable(uh.Unit.Id));
                }
                this.unitHierarchyRepo.Delete(uh);
            }
        }
コード例 #8
0
        public UnitHierarchyViewModel(UnitHierarchy uh)
        {
            if (uh != null)
            {
                this.Children         = new List <UnitHierarchyViewModel>();
                this.Commanders       = new List <string>();
                this.DeputyCommanders = new List <string>();

                this.Id = uh.Id;
                if (uh.Unit != null)
                {
                    this.UnitId     = uh.Unit.Id;
                    this.UnitName   = uh.Unit.UnitName;
                    this.NumCareers = uh.Unit.Careers.Count();

                    foreach (UnitHierarchy child in uh.Unit.UnitHierarchyChildren)
                    {
                        this.Children.Add(new UnitHierarchyViewModel(child));
                    }

                    this.Commanders       = uh.Unit.GetCommanders(false).Select(x => x.Person.Name).Distinct().ToList();
                    this.DeputyCommanders = uh.Unit.GetDeputyCommanders(false).Select(x => x.Person.Name).Distinct().ToList();
                }
                if (uh.ParentUnit != null)
                {
                    this.ParentUnitId   = uh.ParentUnit.Id;
                    this.ParentUnitName = uh.ParentUnit.UnitName;
                }
                if (uh.UnitHierarchyType != null)
                {
                    this.UnitHierarchyTypeId   = uh.UnitHierarchyType.Id;
                    this.UnitHierarchyTypeName = uh.UnitHierarchyType.UnitHierarchyTypeName;
                }

                Mapper.Map <UnitHierarchy, UnitHierarchyViewModel>(uh, this);

                this.AsOfDate = new DateLabel(this.YearAsOf, this.MonthAsOf, this.DayAsOf, false).ToString();
            }
        }