您的位置:首页 > 其它

migarating calendatar data from shared exchange 2010 calendar to sharepoint 2013

2013-05-24 08:48 489 查看
public static void AddAppointmentToSharepointWithClientObjectModule(DateTime s,DateTime e,string title,string desc)
{
string siteUrl = "https://intern.abc.net.cn/";
ClientContext clientContext = new ClientContext(siteUrl);
NetworkCredential Cred = new NetworkCredential("test", "abcdefg", "domain");
clientContext.Credentials = Cred;

//end authentication
Microsoft.SharePoint.Client.List oList = clientContext.Web.Lists.GetByTitle("cal");

ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
ListItem oListItem = oList.AddItem(itemCreateInfo);
oListItem["Title"] = title;
oListItem["Description"] = "New Event created using SharePoint Object Model";
//oListItem["Location"] = "First Floor";
oListItem["EventDate"] = s;
oListItem["EndDate"] = e;
//oListItem["Category"] = "Business";
//oListItem["fAllDayEvent"] = false;
oListItem.Update();

clientContext.ExecuteQuery();

}

public static void GetExchangePublicCalendar()
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
ExData.ExchangeService service = new ExData.ExchangeService(ExData.ExchangeVersion.Exchange2010_SP2);
service.Credentials = new NetworkCredential("test", "abcdefg", "domain");
service.Url = new Uri("https://mail.abc.local/ews/Exchange.asmx");

//service.Credentials = new NetworkCredential("test", "abcdefg", "temp");
//service.Url = new Uri("https://cas.temp.local/ews/Exchange.asmx");

var rootfolder = ExData.Folder.Bind(service, ExData.WellKnownFolderName.PublicFoldersRoot);
rootfolder.Load();
foreach (ExData.Folder folder in rootfolder.FindFolders(new ExData.FolderView(int.MaxValue)))
{
if (!string.IsNullOrEmpty(folder.DisplayName))
{
Console.WriteLine(folder.DisplayName);
try
{
foreach (ExData.Folder f1 in folder.FindFolders(new ExData.FolderView(int.MaxValue)))
{
if (f1.DisplayName.ToLower() == "calender")
{
Console.WriteLine("   ---------");
sb.AppendLine("   ---------");
var _cal = f1.Id;
var _calendarView = new Microsoft.Exchange.WebServices.Data.CalendarView(System.DateTime.Now.AddYears(-6).AddYears(-1), System.DateTime.Now.Date.AddYears(-6).AddYears(1));
foreach (Microsoft.Exchange.WebServices.Data.Appointment appointmentItem in service.FindAppointments(_cal, _calendarView))
{
AddAppointmentToSharepointWithClientObjectModule(appointmentItem.Start, appointmentItem.End,appointmentItem.Subject,"");
Console.WriteLine(appointmentItem.Subject);
sb.AppendLine(appointmentItem.Subject);
Console.WriteLine(appointmentItem.Start);
sb.AppendLine(appointmentItem.Start.ToString());
Console.WriteLine(appointmentItem.End);
sb.AppendLine(appointmentItem.End.ToString());
//appointmentItem.Load();
//Console.WriteLine(appointmentItem.Body);

}
Console.WriteLine("   ---------");
sb.AppendLine("   ---------");

}
Console.WriteLine(" ++" + f1.DisplayName);
foreach (ExData.Folder f2 in f1.FindFolders(new ExData.FolderView(int.MaxValue)))
{
Console.WriteLine("    ++" + f2.DisplayName);
sb.AppendLine("    ++" + f2.DisplayName);
}
}
}
catch (Exception ex)
{
Console.WriteLine(" --" + ex.Message);
sb.AppendLine(" --" + ex.Message);
}
}
}
log(sb.ToString());
}

static void log(string str)
{
System.IO.File.AppendAllText(@"c:\log.txt",str);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐