public IActionResult GetRolePermissions(UserRoleMapDTO userPermissionDTO) { var _permissions = _permissionService.GetRolePermissions(userPermissionDTO, Context); var masterdata = _permissions.GroupBy(c => new { c.RoleName }).Select(mdata => new { mdata.Key.RoleName, mdata }); return(Ok(masterdata)); }
public UserRoleResponse AssignRole(UserRoleMapDTO userRoles, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var roledata = _context.AspNetUserRoles.FirstOrDefault(x => x.UserId == userRoles.UserId); UserRolesDTO roleDTO = new UserRolesDTO(); if (userRoles.RoleId != null) { if (roledata == null) { for (int i = 0; i < userRoles.RoleId.Length; i++) { roleDTO.UserId = userRoles.UserId; roleDTO.RoleId = userRoles.RoleId[i]; AspNetUserRoles _usersRole = _mapper.Map <AspNetUserRoles>(roleDTO); _context.AspNetUserRoles.Add(_usersRole); // _context.SaveChanges(); } } else { var role = _context.AspNetUserRoles.Where(a => a.UserId == userRoles.UserId); foreach (var item in role) { _context.AspNetUserRoles.Remove(item); } for (int i = 0; i < userRoles.RoleId.Length; i++) { roleDTO.UserId = userRoles.UserId; roleDTO.RoleId = userRoles.RoleId[i]; AspNetUserRoles _usersRole = _mapper.Map <AspNetUserRoles>(roleDTO); _context.AspNetUserRoles.Add(_usersRole); // _context.SaveChanges(); } } var user = _context.TblUserDetails.SingleOrDefault(x => x.UserId == userRoles.UserId); if (string.IsNullOrEmpty(user.RoleId)) { user.RoleId = userRoles.RoleId[0].ToString(); } _context.SaveChanges(); //return userRoles; return(new UserRoleResponse { Status = BusinessStatus.Created, role = userRoles, ResponseMessage = $"Assigned {userRoles.RoleId} Role successfully! " }); } else { return(new UserRoleResponse { Status = BusinessStatus.Error, role = userRoles, ResponseMessage = $"Please select the Role to assign " }); } }
public IActionResult AssignRole([FromBody] UserRoleMapDTO userRoles) { var usrrole = _roleService.AssignRole(userRoles, Context); return(ServiceResponse(usrrole)); //switch (usrrole.Status) //{ // case BusinessStatus.InputValidationFailed: // return Ok(usrrole); // case BusinessStatus.Created: // return Ok(usrrole); // case BusinessStatus.UnAuthorized: // return Unauthorized(); // default: // return Forbid(); //} }
public async Task <bool> Save(UserRoleMapDTO _dto, Guid Id, int EntityState) { UserRolesMap _userRolesMap = new UserRolesMap(); if (_dto != null) { //usermaster.Id = ""; _userRolesMap.Id = Id; _userRolesMap.UserId = _dto.UserId; _userRolesMap.RoleId = _dto.RoleId; _userRolesMap.StatusCode = EMPConstants.Active; } if (EntityState == (int)System.Data.Entity.EntityState.Modified) { db.Entry(_userRolesMap).State = System.Data.Entity.EntityState.Modified; } else { db.UserRolesMaps.Add(_userRolesMap); } try { await db.SaveChangesAsync(); return(true); } catch (DbUpdateConcurrencyException) { if (!IsExists(_userRolesMap.Id)) { return(false); } else { throw; } } }
/// <summary> /// Gets the user role permissions. /// </summary> /// <param name="userPermissionDTO">The user permission dto.</param> /// <param name="apiContext">The API context.</param> /// <returns></returns> private IEnumerable <MasPermissionDTO> GetUserRolePermissions(UserRoleMapDTO userPermissionDTO, ApiContext apiContext) { _context = (AVOUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var ruleNames = _context.AspNetRoles.Where(r => userPermissionDTO.RoleId.Contains(r.Id)).ToList(); var menuPermission = (from permission in _context.TblUserPermissions join c in _context.TblMasPermission on permission.PermissionId equals c.PermissionId where userPermissionDTO.RoleId.Contains(permission.RoleId) && permission.UserorRole == "Role" select new MasPermissionDTO { PermissionId = c.PermissionId, ItemType = c.ItemType, ParentId = c.ParentId, MenuId = c.MenuId, ItemDescription = c.ItemDescription, Label = c.ItemDescription, Url = c.Url, PathTo = c.PathTo, Collapse = c.Collapse, State = c.State, Mini = c.Mini, Icon = c.Icon, Redirect = c.Redirect, Component = c.Component, Status = true, RoleId = permission.RoleId, RoleName = ruleNames.First(r => r.Id == permission.RoleId).Name }).ToList(); var userPermissions = from c in _context.TblMasPermission join permission in _context.TblUserPermissions on c.PermissionId equals permission.PermissionId where permission.UserId == userPermissionDTO.UserId && permission.UserorRole == "User" select permission; if (userPermissions.Any()) { foreach (var item in userPermissions) { var mPermission = menuPermission.FirstOrDefault(m => m.PermissionId == item.PermissionId && m.RoleId == item.RoleId); if (mPermission != null) { mPermission.Status = false; } } } IEnumerable <MasPermissionDTO> _masPermissionDTOs = menuPermission .Where(c => (c.ParentId == 0)) .Select(c => new MasPermissionDTO() { PermissionId = c.PermissionId, ItemType = c.ItemType, ParentId = c.ParentId, MenuId = c.MenuId, ItemDescription = c.ItemDescription, Label = c.ItemDescription, Url = c.Url, PathTo = c.PathTo, Collapse = c.Collapse, State = c.State, Mini = c.Mini, Icon = c.Icon, Redirect = c.Redirect, Component = c.Component, Status = c.Status, RoleId = c.RoleId, RoleName = c.RoleName, Children = GetMenuChildren(menuPermission, c.PermissionId, c.RoleId) }); return(_masPermissionDTOs); }
/// <summary> /// Gets the role permissions. /// </summary> /// <param name="userPermissionDTO">The user permission dto.</param> /// <param name="apiContext">The API context.</param> /// <returns></returns> public IEnumerable <MasPermissionDTO> GetRolePermissions(UserRoleMapDTO userPermissionDTO, ApiContext apiContext) { return(GetUserRolePermissions(userPermissionDTO, apiContext)); }
public UserRoleResponse AssignRole(UserRoleMapDTO userRoles, ApiContext apiContext) { throw new NotImplementedException(); }
public UserRoleResponse AssignRole(UserRoleMapDTO userRoles, ApiContext apiContext) { return(_roleService(apiContext.ProductType).AssignRole(userRoles, apiContext)); }
public IEnumerable <MasPermissionDTO> GetRolePermissions(UserRoleMapDTO userPermissionDTO, ApiContext apiContext) { throw new NotImplementedException(); }