using System; using System.Security.Permissions; using System.Web; using Microsoft.SharePoint; using Microsoft.SharePoint.Security; using Microsoft.SharePoint.Utilities; using Microsoft.SharePoint.Workflow; //Code courtesy of @timferro, @dannyjessee, MSDN, and the internet namespace SharePointProject1.EventReceiver1 { /// <summary> /// List Item Events /// </summary> public class EventReceiver1 : SPItemEventReceiver { /// <summary> /// An item is being added. /// </summary> public override void ItemAdding(SPItemEventProperties properties) { base.ItemAdding(properties); } /// <summary> /// An item is being updated. /// </summary> public override void ItemUpdating(SPItemEventProperties properties) { base.ItemUpdating(properties); if ((string)properties.ListItem["Status"] != (string)properties.AfterProperties["Status"]) { properties.AfterProperties["Notes"] = "Status Change"; } } /// <summary> /// An item is being deleted. /// </summary> public override void ItemDeleting(SPItemEventProperties properties) { base.ItemDeleting(properties); //Get user object SPUser user = properties.Web.SiteUsers.GetByID(properties.CurrentUserId); //If the user is not a Site Collection Admin, don't delete the item if (!user.IsSiteAdmin) { //Cancel the request with an error and set the error message properties.Status = SPEventReceiverStatus.CancelWithError; properties.ErrorMessage = "Only Site Collection Administrators can delete items from this list!"; } } /// <summary> /// An attachment is being added to the item. /// </summary> public override void ItemAttachmentAdding(SPItemEventProperties properties) { base.ItemAttachmentAdding(properties); } /// <summary> /// An item was added. /// </summary> public override void ItemAdded(SPItemEventProperties properties) { base.ItemAdded(properties); //Get the list item that was added SPListItem item = properties.ListItem; //Set the Notes field with ItemAdded item["Notes"] = "ItemAdded"; //Get a reference to the TestDocument document library SPList testDoc = properties.Web.Lists["TestDocument"]; //Create a new folder in the document library SPListItem folder = testDoc.Folders.Add("", SPFileSystemObjectType.Folder, item.Title); folder.Update(); //Get the document library name and folder url string[] splitFolderUrl = folder.Url.Split('/'); //Encode the url string string folderUrlEncode = SPHttpUtility.UrlKeyValueEncode("/" + folder.Url); //Update the list item with the link item["Documents"] = properties.WebUrl + "/" + splitFolderUrl[0].ToString() + "/Forms/AllItems.aspx?RootFolder=" + folderUrlEncode + ", Click Me"; //Disable event firing in this thread to avoid loops this.EventFiringEnabled = false; //Update the list item item.Update(); //Reenable event firing this.EventFiringEnabled = true; } /// <summary> /// An item was updated. /// </summary> public override void ItemUpdated(SPItemEventProperties properties) { base.ItemUpdated(properties); //Get the updated list item object SPListItem item = properties.ListItem; //Set the Notes field to ItemUpdated item["Notes"] += " - ItemUpdated"; //If the SetAlert checkbox is checked if ((Boolean)item["SetAlert"]) { //Set it back to false item["SetAlert"] = false; //Get the current user's object SPUser user = properties.Web.SiteUsers.GetByID(properties.CurrentUserId); //Create a new user alert SPAlert alert = user.Alerts.Add(); alert.Title = item.Title; alert.AlertType = SPAlertType.Item; alert.AlertFrequency = SPAlertFrequency.Immediate; alert.EventType = SPEventType.All; alert.Item = item; alert.Update(false); } //If the SendEmail checkbox is checked if ((Boolean)item["SendEmail"]) { //Set it back to false item["SendEmail"] = false; //Send an email using SPUtility.SendEmail SPUtility.SendEmail(properties.Web, false, false, "timothy.ferro@gmail.com", "FEDSPUG Test Email", "TEST"); } //Disable event firing in this thread to avoid loops this.EventFiringEnabled = false; //Update the list item item.Update(); //Reenable event firing this.EventFiringEnabled = true; } /// <summary> /// An item was deleted. /// </summary> public override void ItemDeleted(SPItemEventProperties properties) { base.ItemDeleted(properties); } /// <summary> /// An attachment was added to the item. /// </summary> public override void ItemAttachmentAdded(SPItemEventProperties properties) { base.ItemAttachmentAdded(properties); } } }
ASP.net with C#, Programming, K-POP, IT, Phone, iPhone,galaxy note 2,galaxy s3, lg optimus review.
2013년 4월 2일 화요일
sharepoint email
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기