Ejemplo n.º 1
0
        private async Task AddDataToUserRoleAndRolePErmissions(IEnumerable <UserInfoDto> userRoles,
                                                               IEnumerable <RolePermissionListItems> userRolePermissions)
        {
            foreach (var userRole in userRoles)
            {
                var existisUserRole = await _userRoleRepository.GetUserRoleByUserId(userRole.Id);

                if (existisUserRole == null)
                {
                    existisUserRole = new UserRole
                    {
                        RoleId = Convert.ToInt64(userRole.RoleName), UserId = userRole.Id
                    };
                    await _userRoleRepository.AddEntity(existisUserRole);
                }
                else
                {
                    existisUserRole.RoleId = Convert.ToInt64(userRole.RoleName);
                    existisUserRole.UserId = userRole.Id;
                    _userRoleRepository.UpdateEntity(existisUserRole);
                }

                if (userRolePermissions.Any(x => x.UserId == existisUserRole.UserId))
                {
                    await InsertOrUpdateUserRolePermission(userRolePermissions.FirstOrDefault(x => x.UserId == existisUserRole.UserId), existisUserRole);
                }
            }
        }