如何检索定期约会

问题描述

| 我正在使用service.FindItems方法从交换服务器中检索约会,它不返回定期约会。它返回重复项目的第一个实例,但此后不再返回,并且约会中的IsRecurring设置为false。 这是代码:
private void loadUsersAppointments(string user,int rscID)
    {
        // Add a search filter that searches on the body or subject.
        List<SearchFilter> searchFilterCollection = new List<SearchFilter>();
        searchFilterCollection.Add(new SearchFilter.IsGreaterThan(AppointmentSchema.Start,DateTime.Today.AddDays(-7)));

        // Create the search filter.
        SearchFilter searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.Or,searchFilterCollection.ToArray());

        CalendarView V = new CalendarView(DateTime.Today.AddDays(-7),DateTime.Today.AddMonths(1),1000);
        V.PropertySet = new PropertySet(BasePropertySet.IdOnly,AppointmentSchema.Subject,AppointmentSchema.Start,AppointmentSchema.End);
        V.Traversal = ItemTraversal.Shallow;

        // Create a view with a page size of 50.
        ItemView view = new ItemView(10000);

        // Identify the Subject and DateTimeReceived properties to return.
        // Indicate that the base property will be the item identifier
        view.PropertySet = new PropertySet(BasePropertySet.IdOnly,AppointmentSchema.End);

        // Order the search results by the DateTimeReceived in descending order.
        view.OrderBy.Add(AppointmentSchema.Start,SortDirection.Descending);

        // Set the traversal to shallow. (Shallow is the default option; other options are Associated and SoftDeleted.)
        view.Traversal = ItemTraversal.Shallow;

        // Send the request to search the Inbox and get the results.
        ExchangeService service = GlobalFunc.ElevateGetBinding();
        service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress,user+\"@works.local\");
        FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Calendar,searchFilter,view);

        List<Item> items = new List<Item>();
        foreach (Microsoft.Exchange.WebServices.Data.Appointment appointment in findResults)
        {
            items.Add(appointment);
        }
        service.LoadPropertiesForItems(items,PropertySet.FirstClassProperties);

        // Process each item.
        foreach (Microsoft.Exchange.WebServices.Data.Appointment myItem in items)
        {
            DevExpress.XtraScheduler.Appointment AddAppt = new DevExpress.XtraScheduler.Appointment();

            try {
                if (myItem.Subject.StartsWith(\"Advisor Appointment\"))
                    AddAppt.LabelId = 8;
                else
                    AddAppt.LabelId = 2;
                AddAppt.Subject = myItem.Subject;
            }
            catch { }
            try
            {

            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
            try { AddAppt.Start = myItem.Start; }
            catch { }
            try { AddAppt.Description = myItem.Body; }
            catch { }
            try { AddAppt.End = myItem.End; }
            catch { }
            AddAppt.ResourceId = rscID;




            schStorage.Appointments.Add(AddAppt);
        }
    }
任何想法将不胜感激。 谢谢     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)