/// <summary> /// This adds a role if not present, or updates a role if is present. /// </summary> /// <param name="roleName"></param> /// <param name="description"></param> /// <param name="permissions"></param> public async Task AddOrUpdateRoleToPermissionsAsync(string roleName, string description, params Permission[] permissions) { IStatusGeneric <RoleToPermissions> status = await RoleToPermissions.CreateRoleWithPermissionsAsync( roleName, description, permissions, _repository); if (status.IsValid) { //Note that CreateRoleWithPermissions will return a invalid status if the role is already present. await _repository.AddAsync(status.Result); } else { await UpdateRoleAsync(roleName, description, permissions); } }