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)); }
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)); } }