migarating calendatar data from shared exchange 2010 calendar to sharepoint 2013

       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);

        }

 

你可能感兴趣的:(SharePoint)