Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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"));
        }