1: private void OrganizeDocuments_ExecuteCode(object sender, EventArgs e)
2: {
3: SPListItem currentItem = workflowProperties.Item;
4: if (currentItem == null) return;
5:
6: // Get the datetime from the item
7: DateTime addedDateTime = currentItem.File.TimeCreated;
8:
9: // Get the folder path (year)/(month)/(day) for the item.
10: string folderYearValue = addedDateTime.Year.ToString();
11: string folderMonthValue = String.Format(addedDateTime.ToString("MM-MMMM"));
12: string folderDayValue = addedDateTime.Day.ToString();
13:
14: // Get or create the folders
15: SPFolder yearFolder = GetSubfolder(folderYearValue, workflowProperties.List.RootFolder);
16: SPFolder monthFolder = GetSubfolder(folderMonthValue, yearFolder);
17: SPFolder dayFolder = GetSubfolder(folderDayValue, monthFolder);
18:
19: // Get the filename
20: string fileName = currentItem.File.Name;
21:
22: // Move the list item to the new folder
23: string newPath = String.Format("{0}/{1}/{2}", workflowProperties.SiteUrl, dayFolder, fileName);
24: currentItem.File.MoveTo(newPath, SPMoveOperations.Overwrite);
25: }