[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Collapse]Cross-Platform Core Libraries
 [Expand]DevExpress Data Library
 [Expand]DevExpress Pivot Grid Core Library
 [Expand]Miscellaneous
 [Collapse]API Reference
  [Expand]DevExpress.Data
  [Expand]DevExpress.Data.Browsing
  [Expand]DevExpress.Data.Browsing.Design
  [Expand]DevExpress.Data.Camera
  [Expand]DevExpress.Data.Controls
  [Expand]DevExpress.Data.Controls.ExpressionEditor
  [Expand]DevExpress.Data.Entity
  [Expand]DevExpress.Data.Filtering
  [Expand]DevExpress.Data.Filtering.Exceptions
  [Expand]DevExpress.Data.Filtering.Helpers
  [Expand]DevExpress.Data.Linq
  [Expand]DevExpress.Data.ODataLinq
  [Expand]DevExpress.Data.PivotGrid
  [Expand]DevExpress.Data.PLinq
  [Expand]DevExpress.Data.TreeList
  [Expand]DevExpress.Data.Utils
  [Expand]DevExpress.Data.Utils.ServiceModel
  [Expand]DevExpress.Data.WcfLinq
  [Expand]DevExpress.Data.WizardFramework
  [Expand]DevExpress.Data.XtraReports.DataProviders
  [Expand]DevExpress.Data.XtraReports.Labels
  [Expand]DevExpress.Data.XtraReports.ServiceModel
  [Expand]DevExpress.Data.XtraReports.ServiceModel.DataContracts
  [Expand]DevExpress.Data.XtraReports.Wizard
  [Expand]DevExpress.Data.XtraReports.Wizard.Presenters
  [Expand]DevExpress.Data.XtraReports.Wizard.Views
  [Expand]DevExpress.DataAccess
  [Expand]DevExpress.DataAccess.ConnectionParameters
  [Expand]DevExpress.DataAccess.DataFederation
  [Expand]DevExpress.DataAccess.EntityFramework
  [Expand]DevExpress.DataAccess.Excel
  [Expand]DevExpress.DataAccess.ExpressionEditor
  [Expand]DevExpress.DataAccess.Json
  [Expand]DevExpress.DataAccess.Localization
  [Expand]DevExpress.DataAccess.ObjectBinding
  [Expand]DevExpress.DataAccess.Sql
  [Expand]DevExpress.DataAccess.Sql.DataApi
  [Expand]DevExpress.DataAccess.UI
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DataAccess.Web
  [Expand]DevExpress.DataAccess.Wizard
  [Expand]DevExpress.DataAccess.Wizard.Model
  [Expand]DevExpress.DataAccess.Wizard.Presenters
  [Expand]DevExpress.DataAccess.Wizard.Services
  [Expand]DevExpress.DataAccess.Wizard.Views
  [Expand]DevExpress.Diagram.Core
  [Expand]DevExpress.Diagram.Core.Layout
  [Expand]DevExpress.Diagram.Core.Localization
  [Expand]DevExpress.Diagram.Core.Shapes
  [Expand]DevExpress.Diagram.Core.Themes
  [Expand]DevExpress.DocumentServices.ServiceModel
  [Expand]DevExpress.DocumentServices.ServiceModel.Client
  [Expand]DevExpress.DocumentServices.ServiceModel.DataContracts
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.Entity.Model
  [Expand]DevExpress.Entity.ProjectModel
  [Expand]DevExpress.Export
  [Expand]DevExpress.Export.Xl
  [Expand]DevExpress.Map
  [Expand]DevExpress.Mvvm
  [Expand]DevExpress.Mvvm.DataAnnotations
  [Expand]DevExpress.Mvvm.DataModel
  [Expand]DevExpress.Mvvm.Gantt
  [Expand]DevExpress.Mvvm.ModuleInjection
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.Utils
  [Expand]DevExpress.Mvvm.ViewModel
  [Expand]DevExpress.Office.Crypto
  [Expand]DevExpress.PivotGrid.Printing
  [Expand]DevExpress.Printing
  [Expand]DevExpress.Printing.Core
  [Expand]DevExpress.Printing.ExportHelpers
  [Expand]DevExpress.ReportServer.Printing
  [Expand]DevExpress.ReportServer.Printing.Services
  [Expand]DevExpress.ReportServer.ServiceModel.Client
  [Expand]DevExpress.ReportServer.ServiceModel.ConnectionProviders
  [Expand]DevExpress.ReportServer.ServiceModel.DataContracts
  [Expand]DevExpress.Schedule
  [Expand]DevExpress.Security.Resources
  [Expand]DevExpress.Services
  [Expand]DevExpress.Sparkline
  [Expand]DevExpress.TreeMap
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Commands
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Filtering.Internal
  [Expand]DevExpress.Utils.IoC
  [Expand]DevExpress.Utils.Localization
  [Expand]DevExpress.Utils.Serializing.Helpers
  [Expand]DevExpress.Utils.Svg
  [Expand]DevExpress.WebUtils
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpo
  [Expand]DevExpress.Xpo.DB
  [Expand]DevExpress.Xpo.DB.Exceptions
  [Expand]DevExpress.Xpo.DB.Helpers
  [Expand]DevExpress.Xpo.Helpers
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Localization
  [Expand]DevExpress.XtraCharts.Native
  [Expand]DevExpress.XtraCharts.Printing
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraExport.Csv
  [Expand]DevExpress.XtraGauges.Base
  [Expand]DevExpress.XtraGauges.Core
  [Expand]DevExpress.XtraGauges.Core.Base
  [Expand]DevExpress.XtraGauges.Core.Drawing
  [Expand]DevExpress.XtraGauges.Core.Localization
  [Expand]DevExpress.XtraGauges.Core.Model
  [Expand]DevExpress.XtraGauges.Core.Primitive
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Customization
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPivotGrid.Localization
  [Expand]DevExpress.XtraPivotGrid.Selection
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.BarCode
  [Expand]DevExpress.XtraPrinting.Caching
  [Expand]DevExpress.XtraPrinting.DataNodes
  [Expand]DevExpress.XtraPrinting.Drawing
  [Expand]DevExpress.XtraPrinting.Export
  [Expand]DevExpress.XtraPrinting.Export.Web
  [Expand]DevExpress.XtraPrinting.Localization
  [Expand]DevExpress.XtraPrinting.Native
  [Expand]DevExpress.XtraPrinting.Shape
  [Expand]DevExpress.XtraPrinting.Shape.Native
  [Expand]DevExpress.XtraPrinting.WebClientUIControl.DataContracts
  [Expand]DevExpress.XtraPrinting.XamlExport
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports
  [Expand]DevExpress.XtraReports.Design
  [Expand]DevExpress.XtraReports.Parameters
  [Expand]DevExpress.XtraReports.ReportGeneration
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Compatibility
  [Expand]DevExpress.XtraScheduler.Drawing
  [Collapse]DevExpress.XtraScheduler.Exchange
   [Expand]AppointmentExchanger Class
   [Expand]AppointmentExporter Class
   [Expand]AppointmentExportSynchronizer Class
   [Expand]AppointmentImporter Class
   [Expand]AppointmentImportSynchronizer Class
   [Collapse]AppointmentSynchronizer Class
     AppointmentSynchronizer Members
    [Expand]AppointmentSynchronizer Properties
    [Collapse]AppointmentSynchronizer Events
      AppointmentSynchronized Event
      AppointmentSynchronizing Event
    [Expand]AppointmentSynchronizer Methods
  [Expand]DevExpress.XtraScheduler.iCalendar
  [Expand]DevExpress.XtraScheduler.iCalendar.Components
  [Expand]DevExpress.XtraScheduler.Localization
  [Expand]DevExpress.XtraScheduler.Native
  [Expand]DevExpress.XtraScheduler.Outlook
  [Expand]DevExpress.XtraScheduler.Outlook.Interop
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.Tools
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraScheduler.Xml
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Rules
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

AppointmentSynchronizer.AppointmentSynchronizing Event

Allows you to cancel the synchronization process for an appointment.

Namespace:DevExpress.XtraScheduler.Exchange
Assembly:DevExpress.XtraScheduler.v19.1.Core.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type AppointmentSynchronizingEventArgs containing data related to this event.

The following AppointmentSynchronizingEventArgs properties provide information specific to this event.
Property Description
Appointment Gets the appointment for which the event was raised.
Cancel Gets or sets whether the operation performed on the processed event should be cancelled.
Operation Specifies what type of synchronization operation should be performed.

Expanded Remarks

The AppointmentSynchronizing event is raised before synchronization begins and allows you to cancel the process. The event parameter's AppointmentEventArgs.Appointment property identifies the processed appointment, the AppointmentSynchronizingEventArgs.Operation property specifies the operation to perform. To skip it, set the AppointmentCancelEventArgs.Cancel property to true.

Handling the event enables you to make a decision based on the current item properties. You can leave the item intact, modify it or perform other actions that suit your synchronization model.

By analyzing the AppointmentSynchronizingEventArgs.Operation value and AppointmentEventArgs.Appointment properties, you can implement virtually any appointment conflict resolution scenario. If the target calendar application contains both previous and new appointments, and you want to leave the existing appointments intact, you can set Cancel to true to stop the operation when AppointmentSynchronizingEventArgs.Operation is equal to SynchronizeOperation.Replace.

Other scenarios may require modifying the operation type within the AppointmentSynchronizing event handler. Instead of SynchronizeOperation.Replace you may choose to SynchronizeOperation.Delete the calendar item. This can be easily accomplished by changing the AppointmentSynchronizingEventArgs.Operation value.

Expanded Example

Note

WARNING: If you call the SchedulerStorageBase.SynchronizeOutlookWithStorage method, all data in your MS Outlook will be lost. We suggest that you backup all your data prior to running this example.

The following example demonstrates how to synchronize appointments data in the SchedulerStorage with the data already stored in the MS Outlook database, and vice versa in one step.

To perform an easy synchronization, use the SchedulerStorageBase.SynchronizeStorageWithOutlook and SchedulerStorageBase.SynchronizeOutlookWithStorage methods.

Before synchronizing the SchedulerStorage with MS Outlook, create an additional field in your database. This field should be of the string type with a length of at least 50 characters, and intended to store the Outlook Entry Id for each appointment that is to be synchronized. Assuming the field is called "OutlookEntryId", you can then use the following code to synchronize the Scheduler Storage with MS Outlook and vice versa.

For this example to work correctly, the Scheduler's data source should provide a field to store the Outlook Entry ID. The filed should be mapped to a custom appointment field, as illustrated below.

Note

If your purpose is to unite all data from the SchedulerStorage and MS Outlook, use the SchedulerStorageBase.ExportToOutlook and SchedulerStorageBase.ImportFromOutlook methods instead. To set custom rules when synchronizing appointments, use the AppointmentExportSynchronizer and the AppointmentImportSynchronizer classes.

Expanded See Also

Is this topic helpful?​​​​​​​