Beispiel #1
0
        public async Task <IActionResult> AdministerEntity(int id)
        {
            var entity = await _entityService.GetEntityByIdAsync(id);

            var logbooks     = entity.LogBooks.ToList();
            var listLogbooks = _mapper.Map <List <LogBookViewModel> >(logbooks);

            var usersNeeededForUserToEntityAssignment = await _userEntityService
                                                        .GetUsersNeededForUsersToEntityAsignmentAsync(id, "Moderator");

            var entityModerators     = usersNeeededForUserToEntityAssignment.EntityUsers;
            var unassignedModerators = usersNeeededForUserToEntityAssignment
                                       .AllNotEntityUsers.Select(x => new SelectableUserViewModel()
            {
                Id         = x.Id,
                Name       = x.Name,
                isSelected = false
            }).ToList();


            var vm = new AdministerEntityViewModel()
            {
                Entity     = _mapper.Map <EntityViewModel>(entity),
                NewLogBook = new LogBookViewModel()
                {
                    EstablishmentId = id
                },
                LogBooks             = listLogbooks,
                EntityModerators     = entityModerators,
                UnassignedModerators = unassignedModerators
            };

            return(View(vm));
        }
Beispiel #2
0
        public async Task <IActionResult> AddModeratorToEntity(AdministerEntityViewModel model)
        {
            try
            {
                foreach (var user in model.UnassignedModerators)
                {
                    if (user.isSelected)
                    {
                        await _userEntityService.AssignUsersToEnityAsync(model.Entity.Id, user.Id);
                    }
                }

                return(RedirectToAction(nameof(AdministerEntity), new { id = model.Entity.Id }));
            }
            catch (ArgumentException ex)
            {
                this.ModelState.AddModelError("Error", ex.Message);
                return(View(nameof(AdministerEntity), model));
            }
        }