This article discusses how to create a timer job for deleting orphaned users (SharePoint users that are deleted or disabled in AD) using Visual Studio. I have tested this solution on both SharePoint 2016 and SharePoint 2010. So, it would of course also work for SharePoint 2013.
If you encounter the edit properties box on single document uploads and still want to run custom code in the ItemAdded event receiver, you will need to employ the method discussed in this article of converting asynchronous SharePoint event receivers to synchronous. The motivation behind this post was to avoid save conflict errors. But there are potentially other scenarios where it might be useful to make asynchronous SharePoint event receivers synchronous.
Depending on the folders into which items are uploaded in SharePoint, you may want to set default column values so that instead of a global column default value, your default values become folder-specific. This article demonstrates how to do this using C# code on a SharePoint 2016 server. The code can be added to event receivers to keep child items updated when something changes somewhere.
Generally, when writing code to communicate with web services in C#, the usual process is to add a service reference. Visual Studio then automatically creates all the wrapper classes/objects for you that you need in order to talk with the service. However, sometimes, you want greater control. This article explains and gives you the code needed to work with a regular SOAP based web service without adding a reference.
Use this solution for uploading files to any REST endpoint using C#. Unlike the WebClient.UploadFile method from the .NET framework, this technique allows you to pass custom parameters that may be required by your API.
To delete a folder and its contents using C# is not necessarily as easy and straightforward as you might think. It becomes tricky when one or more files are marked as read-only. Here’s a recursive helper method.