How to deploy a remote event receiver without handling the app installed, I know that this can be done with powershell but I already tried it, the RER is reflecting in the list, but the program itself is not working, should I edit something in my solution for this to work?
$receiverName = "ItemDeletingRER"
$receiverClassName = "ItemDeletingRER"
$receiverUrl = "https://pbpotest.azurewebsites.net/Services/ItemDeletingRER.svc"
$receiverAssemblyName = "ResourceListRERWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
$newRER = New-Object Microsoft.SharePoint.Client.EventReceiverDefinitionCreationInformation
$newRER.EventType = [Microsoft.SharePoint.Client.EventReceiverType]::ItemDeleting
$newRER.ReceiverName = $receiverName
$newRER.ReceiverClass = $receiverClassName
$newRER.ReceiverAssembly = $receiverAssemblyName
$newRER.ReceiverUrl = $receiverUrl
$newRER.SequenceNumber = 15001
$newRER.Synchronization = [Microsoft.SharePoint.Client.EventReceiverSynchronization]::Synchronous
what my event receiver do is that it prevents an item from being deleted if the value of a column is "yes", thats the part that is not working.
Here is a snippet of my event receiver:
public SPRemoteEventResult ProcessEvent(SPRemoteEventProperties properties)
{
using (ClientContext clientContext = TokenHelper.CreateRemoteEventReceiverClientContext(properties))
{
SPRemoteEventResult result = new SPRemoteEventResult();
if (properties.EventType == SPRemoteEventType.ItemDeleting)
{
List list = clientContext.Web.Lists.GetByTitle(properties.ItemEventProperties.ListTitle);
ListItem fieldItem = list.GetItemById(properties.ItemEventProperties.ListItemId);
clientContext.Load(fieldItem);
clientContext.ExecuteQuery();
if ((bool)fieldItem["Promoted_x0020_To_x0020_Resource_x003f_"])
{
result.Status = SPRemoteEventServiceStatus.CancelWithError;
result.ErrorMessage = "Unable to delete document as it is currently used as a Resource. Please de-promote prior to deleting.";
}
else
{
result.Status = SPRemoteEventServiceStatus.Continue;
}
}
return result;
}
}
$username = "[email protected]"
$password = Read-Host -Prompt "Enter password" -AsSecureString
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL)
#$context = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL2)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$ctx.Credentials = $credentials
the program itself is not working
mean?