Meeting Instanz auf Meetingspace per Code erstellen

Wenn man per Code eine Meetinginstanz erstellen möchte (ohne Outlook kann man das nicht machen….), dann gehts mit folgendem Sample. Übernommen von http://msdn.microsoft.com/en-us/library/ms462165.aspx

using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Meetings;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite site = new SPSite("http://localhost"))
         {
            using (SPWeb web = site.OpenWeb())
            {
               // Define meeting parameters.
               DateTime dtStart = DateTime.Now.AddDays(5);
               string stamp = ISO8601BasicDate(DateTime.Now);
               string startTime = ISO8601BasicDate(dtStart);
               string endTime = ISO8601BasicDate(dtStart.AddHours(1));
               string title = "Test Sharepoint";
               string location = "Your office";
               string organizer = String.Empty;
               uint sequence = 0;
               string uid = Guid.NewGuid().ToString("N");

               // Create an output variable.
               short meetingCount;

               // Create a Meeting Workspace site.
               SPWeb mwsWeb = CreateWorkspace(web, "Test", "Test Workspace", "A test workspace", "MPS#0");

               // Get the meeting information for the workspace.
               SPMeeting meetingInfo = SPMeeting.GetMeetingInformation(mwsWeb);

               // Add the meeting.
               try
               {
                  int instanceID = meetingInfo.Add(organizer, uid, sequence,
                                               stamp, title, location,
                                               startTime, endTime, false,
                                               out meetingCount);

                  // Print the URL and number of meetings.
                  string url = mwsWeb.Url + "?InstanceID=" + instanceID.ToString();
                  Console.WriteLine(url);
                  Console.WriteLine("Meeting count = {0}", meetingCount);
               }
               catch (SPException ex)
               {
                  Console.WriteLine(ex.Message);
               }

               // Clean up.
               mwsWeb.Dispose();
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }

      static SPWeb CreateWorkspace(SPWeb webSite, string url, string title,
                                   string description, string template)
      {
         SPWeb mws = null;
         try
         {
            mws = webSite.Webs.Add(url, title, description,
                                   (uint)webSite.Locale.LCID, template,
                                   false, false);
         }
         catch (SPException) // A site of that name already exists.
         {
            if (SPMeeting.IsMeetingWorkspaceWeb(webSite.Webs[url]))
               mws = webSite.Webs[url];
         }
         return mws;
      }

      static string ISO8601BasicDate(DateTime dt)
      {
         string format = "yyyyMMdd'T'HHmmss'Z'";
         DateTime dtUTC = dt.ToUniversalTime();
         return dtUTC.ToString(format, System.Globalization.DateTimeFormatInfo.InvariantInfo);
      }

   }
}

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s