public async Task <IActionResult> CreateOrgnization(OrganizationToCreateDto organizationToCreateDto) { int adminId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); // //PermissionValidation permissionValidation = new PermissionValidation(_permissionRepo, _permissionUserRepo); var organiza = await _OrgnizeRepo.Find(x => x.Name == organizationToCreateDto.Name); if (await _permissionValidation.ValidForAllPermission(adminId)) { if (organiza == null) { var organization = new Organization { Name = organizationToCreateDto.Name, ParentRouteId = organizationToCreateDto.ParentRouteId }; var insertedOrgnization = await _OrgnizeRepo.Add(organization); return(Ok("The Organization is Add Successfully")); } else { return(BadRequest("The Organization is already Exist")); } } return(Unauthorized("You Don't Have Permissions")); }
public async Task <IActionResult> SetPermissionToUser(PermissionToUserDto permissionToUserDto) { int adminId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var userPermissons = await _permissionUserRepo.Find(x => x.PermissionId == permissionToUserDto.PermissionId); var user = await _repo.Find(u => u.Id == permissionToUserDto.UserId); var permission = await _permissionRepo.Find(x => x.Id == permissionToUserDto.PermissionId); if (await _permissionValidation.ValidForAllPermission(adminId)) { if (userPermissons == null) { var permissionUsercreate = new UserPermission { UserId = permissionToUserDto.UserId, PermissionId = permissionToUserDto.PermissionId }; var createdUpermission = await _permissionUserRepo.Add(permissionUsercreate); } else { return(BadRequest("The Permission is already Set To The User")); } } return(Unauthorized("You Don't Have Permission To send permissions")); }
public async Task <IActionResult> GetAllowedDestination(int userId) { // var adminid = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (await _permissionValidation.ValidForAllPermission(userId)) { var user = await _repo.Find(x => x.Id == userId); var users = await _repo.List(); if (await(_permissionValidation.ValidatToGetDistanation(userId)) == 1 || (await _permissionValidation.ValidatToGetDistanation(userId)) == 3) { var Getuser = (from u in users select new { u.Id, }).ToList(); return(Ok(Getuser)); } //specific orgnization or spesific user if (await(_permissionValidation.ValidatToGetDistanation(userId)) == 4 || await(_permissionValidation.ValidatToGetDistanation(userId)) == 5) { var Getuser = (from u in await _DistinationRepo.List() where u.UserID == user.Id select new { u.Id, u.DestinationUserId, }).ToList(); return(Ok(Getuser)); } if (await(_permissionValidation.ValidatToGetDistanation(userId)) == 0) { return(BadRequest("the user you try to get His Distnation he don't have permission")); } return(Ok("get allowed permission done")); } return(Unauthorized("you don't have permission")); }
public async Task <IActionResult> AddAdminUser(UserForAddDto AdminUser) { int AdminId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var user = await _repo.Find(x => x.Email == AdminUser.Email); // PermissionValidation P = new PermissionValidation(_permissionRepo, _permissionUserRepo); if (user != null) { return(BadRequest("!!Admin User You try to Add is already Exists")); } if (await _permissionValidation.ValidForAllPermission(AdminId)) { byte[] passwordHash, passwordSalt; SecurityHelper.CreatePasswordHash(AdminUser.Password, out passwordHash, out passwordSalt); var createNuser = new User { Name = AdminUser.Name, Username = AdminUser.Username, Type = UserType.Admin, Status = UserStatus.active, Email = AdminUser.Email, BirthDate = AdminUser.BirthDate, NationalId = AdminUser.NationalId, PhoneNumber = AdminUser.PhoneNumber, CreateDate = DateTime.Now, UpdateDate = DateTime.Now, PasswordHash = passwordHash, PasswordSalt = passwordSalt, OrganizationId = AdminUser.OrganizationId, }; var insertedNormalUser = await _repo.Add(createNuser); return(Ok(new { insertVaction = "Admin User is added " })); } return(Unauthorized("You Don't Have Permissions To Add User")); }