Steps Involved:

1. Open Visual Studio 2010 by going Start | All Programs | Microsoft Visual Studio 2010 | Right click on Microsoft Visual Studio 2010 and click on Run as administrator.

2. Go to File tab, click on New and then click on Project.

3. In the New Project dialog box, expand the Visual C# node, and then select the Windows node.

4. In the Templates pane, select Console Application.

5. Enter the Name and then click OK.

6. In the solution explorer, right click on the solution and then click on Properties.

7. Select the Application tab, check whether “.Net Framework 3.5” is selected for Target Framework.

8. Select the Build tab, check whether “Any CPU” is selected for Platform Target.

9. In the solution explorer, right click on the References folder and click on Add Reference.

10. Add the following references.

1. Microsoft.SharePoint.dll (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.SharePoint.dll)

11. Double click on Program.cs and add the following Namespaces.

1. using Microsoft.SharePoint;
2. using Microsoft.SharePoint.Meetings;

12. Replace Program.cs with the following code snippet.

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Microsoft.SharePoint;

using Microsoft.SharePoint.Meetings;

namespace Console

{

class Program

{

static void Main(string[] args)

{

using (SPSite site = new SPSite("http://SERVERNAME:26413/sites/Vijai"))

{

using (SPWeb web = site.OpenWeb())

{

//// Get the Calendar list

SPList list = web.Lists.TryGetList("Calendar");

//// Check if the Calendar list exists

if (list != null)

{

//// Add an event to the Calendar list

SPListItem item = list.Items.Add();

item["Title"] = "New Event";

item["Description"] = "New Event created using SharePoint Object Model";

item["Location"] = "First Floor";

item["Start Time"] = DateTime.Now;

item["End Time"] = DateTime.Now.AddDays(2);

item["Category"] = "Business";

item["fAllDayEvent"] = false;

//// Update the item

item.Update();

System.Console.WriteLine(item["Title"] + " event is added successfully to the Calendar");

//// Get the existing meeting workspace

SPWeb mwsWeb=site.OpenWeb("Basic Meeting Workspace");

//// Get the Calendar list Id

string listId = list.ID.ToString();

//// Get the event Id to which the meeting workspace has to be linked

int itemId = item.ID;

//// Gets an SPMeeting object that has meeting information for the specified Web site

SPMeeting meetingInfo = SPMeeting.GetMeetingInformation(mwsWeb);

//// Link the meeting workspace website with the newly created event

string meetingURL=meetingInfo.LinkWithEvent(web, listId, itemId, "WorkspaceLink", "Workspace");

//// Dispose the SPWeb object

mwsWeb.Dispose();

System.Console.WriteLine(item["Title"]+" event is linked to the workspace "+ meetingURL.ToString());

System.Console.ReadLine();

}

else

{

System.Console.WriteLine("List does not exists in the site");

System.Console.ReadLine();

}

}

}

}

}

}


13. In the solution explorer, right click on the solution and click on Build.

14. Hit F5.

Output:

CalendarEvent.jpg

When you click on "Basic Meeting workspace" it will be redirected to the meeting workspace website.