public async Task <ActionResult> PostUsersMenusList([FromBody] IEnumerable <RoleUsersMenusDtoCreate> li) { List <AffRolesUsersMenus> obj = new List <AffRolesUsersMenus>(); if (!li.Any()) { return(new JsonResult(new ErrorDetails { StatusCode = 404, Message = $"Veuillez ajouter une liste des utilisateurs et de permission a affecter au différents role ." })); } foreach (var item in li) { var role = await Work.Role.Get(x => x.RoleId == item.RoleId); var menu = await Work.Menu.Get(x => x.MenuId == item.MenuId); var user = await Work.Users.Get(x => x.UsersId == item.UserId); if (role != null && menu != null && user != null) { try { AffRolesUsersMenus aff = new AffRolesUsersMenus { UsersId = user.UsersId, MenuId = menu.MenuId, RoleId = role.RoleId }; await Work.AffRoleUsersMenus.Add(aff); await Work.Complete(); obj.Add(aff); } catch (Exception e) { Console.WriteLine(e); } } } var res = _mapper.Map <IEnumerable <RoleUsersMenusDto> >(obj); return(new JsonResult(res)); }
public async Task <ActionResult> PutRolesUsersMenus([FromBody] RoleUsersMenusDtoUpdate liEntity, Guid Id) { RoleUsersMenusDtoGetDelete aff = new RoleUsersMenusDtoGetDelete { UserId = liEntity.UserId, MenuId = liEntity.MenuId, RoleId = Id }; await DeleteUsersMenusList(aff); var role = await Work.Role.Get(x => x.RoleId == liEntity.RoleId); var menu = await Work.Menu.Get(x => x.MenuId == liEntity.MenuId); var user = await Work.Users.Get(x => x.UsersId == liEntity.UserId); if (role != null && menu != null && user != null) { AffRolesUsersMenus aff1 = new AffRolesUsersMenus { UsersId = user.UsersId, MenuId = menu.MenuId, RoleId = role.RoleId }; await Work.AffRoleUsersMenus.Add(aff1); } await Work.Complete(); return(Ok()); }
private AuthModelDto CreateToken(List <Groupes> groupes, List <Menus> menus, Users user, Applications application) { AffRolesUsersMenus role11 = Work.AffRoleUsersMenus.Get(x => x.UsersId == user.UsersId).Result; var token = new JwtTokenBuilder() .AddSecurityKey(JwtSecurityKey.Create("Poulina-Auth-Service")) .AddSubject(user.UsersName + " " + user.UsersLastName) .AddIssuer("Poulina.Security.Bearer") .AddAudience("Poulina.Security.Bearer") .AddClaim("MembershipId", user.UsersCode) .AddClaim(ClaimTypes.Role, Work.Role.Get(x => x.RoleId == role11.RoleId).Result.RoleName) //.AddExpiry(1) .AddExpiry(1200000) .Build(); AuthModelDto model = new AuthModelDto { Token = token, Application = application.AppDisplayName, AppCode = application.AppCode, UserName = user.UsersLastName + " " + user.UsersName, UserFiliale = user.FilialeID.ToString(), UserMail = user.UsersMailIntern, PhoneInterne = user.UsersPhoneNumber, PhoneExterne = user.UsersPersonalNumber, ApplicationId = application.AppId, RoleUser = Work.Role.Get(x => x.RoleId == role11.RoleId).Result.RoleDisplayName, UserLogin = user.UsersCode }; List <MenuPermission> menuList = new List <MenuPermission>(); foreach (var entity in groupes) { var roleGroupMenus = entity.AffRoleGroupMenus.Where(x => x.GrpId == entity.GrpId).ToList(); foreach (var item in roleGroupMenus) { MenuPermission menu = new MenuPermission { MenuId = item.MenuId, MenuName = item.Menu.MenuName, MenuUrl = item.Menu.MenuUrl, MenuParentId = item.Menu.FkMenuId, PermissionDetails = new List <PermissionDetail>() }; List <Permissions> lipermissionList = item.Role.AffRolePermissions .Select(a => a.Permission).ToList(); foreach (var perm in lipermissionList) { PermissionDetail permission = new PermissionDetail { PermissionId = perm.PermId, PermissionName = perm.PermName, GroupeId = entity.GrpId, GroupeName = entity.GrpName, }; if (menuList.Any(z => z.MenuId == menu.MenuId)) { var x = menuList.FindIndex(a => a.MenuId == item.MenuId); menuList[x].PermissionDetails.Add(permission); } else { menu.PermissionDetails.Add(permission); } } if (menu.PermissionDetails.Any()) { menuList.Add(menu); } } } try { foreach (var item in menus) { MenuPermission menu = new MenuPermission { MenuId = item.MenuId, MenuName = item.MenuName, MenuUrl = item.MenuUrl, MenuParentId = item.FkMenuId, PermissionDetails = new List <PermissionDetail>() }; List <AffRolesUsersMenus> rolenames = item.AffRolesUsersMenus.ToList(); foreach (var rolesUsersMenu in rolenames) { List <Permissions> lipermissionList = rolesUsersMenu.Role.AffRolePermissions.Select(a => a.Permission).ToList(); foreach (var perm in lipermissionList) { PermissionDetail permission = new PermissionDetail { PermissionId = perm.PermId, PermissionName = perm.PermName, GroupeName = "Permission Unique" }; if (menuList.Any(a => a.MenuId == item.MenuId)) { var x = menuList.FindIndex(a => a.MenuId == item.MenuId); menuList[x].PermissionDetails.Add(permission); } else { menu.PermissionDetails.Add(permission); } } } if (menu.PermissionDetails.Any()) { menuList.Add(menu); } } } catch (Exception e) { Console.WriteLine(e); } model.MenuPermissions = menuList.Distinct().ToList(); return(model); }