/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <IViewComponentResult> InvokeAsync(string userGroupId, string poolId) { if (string.IsNullOrEmpty(userGroupId)) { return(new ViewComponentPlaceholder()); } var group = await _userGroupManager.GetUserGroupAsync(userGroupId); if (group == null) { return(new ViewComponentPlaceholder()); } var model = new UserGroupMembershipViewModel() { UserGroupId = userGroupId, AccessLevel = AccessLevel.Audience, AllowEmailMessaging = false, AllowSmsMessaging = false }; if (group.UserGroupType == UserGroupType.NotificationGroup) { model.AllowEmailMessaging = true; model.AllowSmsMessaging = true; } ViewData["ShowAllowMessagingCheckbox"] = true; //(group.UserGroupType != UserGroupType.NotificationGroup); ViewData["AccessLevelSelectList"] = _enumLocalizer.GetSelectList <AccessLevel>(); ViewData["PoolId"] = poolId; return(View("UserGroupMemberCreate", model)); }
public async Task <ActionResult> DeleteUserGroupMembership(UserGroupMembershipViewModel model) { if (string.IsNullOrEmpty(model.UserGroupId) || string.IsNullOrEmpty(model.UserId)) { return(BadRequest()); } await _userGroupManager.DeleteUserGroupMembershipAsync(model.UserGroupId, model.UserId); return(Ok(model)); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <IViewComponentResult> InvokeAsync(string userGroupId, string userId) { if (string.IsNullOrEmpty(userGroupId) || string.IsNullOrEmpty(userId)) { return(new ViewComponentPlaceholder()); } var model = new UserGroupMembershipViewModel() { UserGroupId = userGroupId, UserId = userId }; var group = await _userGroupManager.GetUserGroupAsync(model.UserGroupId); if (group == null) { return(new ViewComponentPlaceholder()); } var member = await _userGroupManager.GetUserGroupMembershipAsync(model.UserGroupId, model.UserId); if (member == null) { return(new ViewComponentPlaceholder()); } var user = await _userManager.GetUserAsync(model.UserId); if (user == null) { return(new ViewComponentPlaceholder()); } model.AccessLevel = member.AccessLevel; model.AllowEmailMessaging = member.AllowEmailMessaging; model.AllowSmsMessaging = member.AllowSmsMessaging; model.UserName = user.UserName; model.Email = user.Email; model.EmailConfirmed = user.EmailConfirmed; model.PhoneNumber = user.PhoneNumber; model.PhoneNumberConfirmed = user.PhoneNumberConfirmed; ViewData["ShowAllowMessagingCheckbox"] = true; ViewData["AccessLevelSelectList"] = _enumLocalizer.GetSelectList <AccessLevel>(); return(View("UserGroupMemberEdit", model)); }
public async Task <ActionResult> SaveUserGroupMembership(UserGroupMembershipViewModel model) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(model.UserId); if (user == null) { ModelState.AddModelError("UserId", "Invalid UserId:" + model.UserId); return(BadRequest(ModelState)); } var member = model.ProjectTo <Angelo.Connect.Models.UserGroupMembership>(); await _userGroupManager.SaveUserGroupMembershipAsync(member); model.UserName = user.UserName; model.AccessLevelName = _enumLocalizer.GetLocalName(model.AccessLevel); return(Ok(model)); } return(BadRequest(ModelState)); }