sharepoint excel service odc
http://www.bybugday.com/Lists/Posts/Post.aspx?ID=63
http://technet.microsoft.com/ko-kr/library/hh525341.aspx#part1
ASP.net with C#, Programming, K-POP, IT, Phone, iPhone,galaxy note 2,galaxy s3, lg optimus review.
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);
}
}
}
powershell 솔루션 업로드 배포하기
Add-SPSolution "C:\Deploy\EventRec_SendMail.
Install-SPSolution -Identity EventRec_SendMail.wsp -GACDeployment -webapplication "http://ddd.aa.co.kr"
Update-SPSolution -Identity EventRec_SendMail.wsp -LiteralPath "C:\Deploy\EventRec_SendMail.
Uninstall-SPSolution -Identity EventRec_SendMail.wsp Remove-SPSolution -Identity EventRec_SendMail.wsp |
EventContext context = properties.Context;
/****************************************************************
* Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org)
* =============================================================
* License Information: http://lamsfoundation.org/licensing/lams/2.0/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2.0
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
* USA
*
* http://www.gnu.org/licenses/gpl.txt
* ****************************************************************
*/
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace LamsSharePointIntegration
{
/// <summary>
/// This class handles events to do with the site's LAMS lesson table
/// </summary>
class LAMSLessonListEventHandler : SPItemEventReceiver
{
private string FormatCompanyName(string value)
{
return value.ToUpper();
}
public override void ItemAdding(SPItemEventProperties properties)
{
// Validation handled by SharePoint
}
/// <summary>
/// Handles the event when a new lesson is added to the LAMS lesson table for the site
/// </summary>
/// <param name="properties">Properties of the item to be added</param>
public override void ItemAdded(SPItemEventProperties properties)
{
// Get the site context information
SPEventContext context = properties.Context;
SPSite site = new SPSite(properties.SiteId);
SPWeb siteWeb = site.OpenWeb(properties.RelativeWebUrl);
SPUser user = siteWeb.CurrentUser;
DisableEventFiring();
// Get the title for the lesson, not null
string title = properties.ListItem["Title"].ToString();
// Get the description for the leson
string description = "";
if (properties.ListItem["Description"] != null)
{
description = properties.ListItem["Description"].ToString();
}
// Get the sequence id for the lesson, not null
string sequenceId = properties.ListItem["SequenceID"].ToString();
// The lesson id of the started lesson, if successful
string lessonId;
try
{
lessonId = LAMSSecurityUtil.startLesson(user, siteWeb, sequenceId, title, description, "start");
}
catch (System.Net.WebException e)
{
properties.ErrorMessage = "Request to LAMS server to start lesson failed. Please Contact System Administrator";
properties.Cancel = true;
properties.Status = SPEventReceiverStatus.CancelWithError;
properties.ListItem.Delete();
return;
}
// Set the LessonID param for the item and the start and end date to null
properties.ListItem["LessonID"] = lessonId;
properties.ListItem["Start Date"] = null;
properties.ListItem["End Date"] = null;
properties.ListItem.Update();
EnableEventFiring();
}
}
}
컴퓨터의 SPUserCodeV4 서비스를 시작할 수 없습니다