コード例 #1
0
ファイル: OutlookApplication.cs プロジェクト: 0anion0/IBN
        public static OutlookApplication CreateInstance(OutlookListener listener)
        {
            if (listener == null)
                throw new ArgumentNullException("listener");

            return new OutlookApplication(listener);
        }
コード例 #2
0
ファイル: OutlookApplication.cs プロジェクト: 0anion0/IBN
        public static OutlookApplication CreateInstance(OutlookListener listener)
        {
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            return(new OutlookApplication(listener));
        }
コード例 #3
0
ファイル: UIController.cs プロジェクト: 0anion0/IBN
 private UIController(AddinModule addinModule, OutlookListener outlookListener, SyncApplication app, 
     FormSyncItem syncForm, FormSyncOptions syncOprionsForm,	 FormSyncConflictResolution syncConflictResForm)
 {
     _addinModule = addinModule;
     _outlookListener = outlookListener;
     _syncApp = app;
     _syncItemForm = syncForm;
     _syncOptionsForm = syncOprionsForm;
     _syncConflictResForm = syncConflictResForm;
 }
コード例 #4
0
ファイル: OutlookRecipient.cs プロジェクト: alex765022/IBN
 public OutlookRecipient(OutlookListener listener, Outlook.Recipient oRecipient)
     : base(listener)
 {
     _oRecipient = oRecipient;
 }
コード例 #5
0
ファイル: OutlookException.cs プロジェクト: alex765022/IBN
 public OutlookException(OutlookListener listener, Outlook.Exception oException)
     : base(listener)
 {
     _oException = oException;
 }
コード例 #6
0
ファイル: OutlookFolder.cs プロジェクト: alex765022/IBN
 public OutlookFolder(OutlookListener outlookListener, Outlook.MAPIFolder oFolder)
     : base(outlookListener)
 {
     _oFolder = oFolder;
 }
コード例 #7
0
ファイル: OutlookFolder.cs プロジェクト: 0anion0/IBN
 public OutlookFolder(OutlookListener outlookListener, Outlook.MAPIFolder oFolder)
     : base(outlookListener)
 {
     _oFolder = oFolder;
 }
コード例 #8
0
 public OutlookRecurrencePattern(OutlookListener outlookListener, Outlook.RecurrencePattern oRecurrPattern)
     : base(outlookListener)
 {
     _oRecurrPattern = oRecurrPattern;
 }
コード例 #9
0
ファイル: OutlookItemFactory.cs プロジェクト: alex765022/IBN
 public OutlookItemFactory(OutlookListener listener)
 {
     _listener = listener;
 }
コード例 #10
0
ファイル: OutlookApplication.cs プロジェクト: 0anion0/IBN
 private OutlookApplication(OutlookListener listener)
     : base(listener)
 {
 }
コード例 #11
0
ファイル: OutlookApplication.cs プロジェクト: 0anion0/IBN
 private OutlookApplication(OutlookListener listener)
     : base(listener)
 {
 }
コード例 #12
0
 public OutlookRecurrencePattern(OutlookListener outlookListener, Outlook.RecurrencePattern oRecurrPattern)
     : base(outlookListener)
 {
     _oRecurrPattern = oRecurrPattern;
 }
コード例 #13
0
ファイル: OutlookAppointment.cs プロジェクト: 0anion0/IBN
 public OutlookAppointment(OutlookListener outlookListener, Outlook._AppointmentItem oAppItem)
     : base(outlookListener)
 {
     _oAppItem = oAppItem;
 }
コード例 #14
0
ファイル: OutlookException.cs プロジェクト: 0anion0/IBN
 public OutlookException(OutlookListener listener, Outlook.Exception oException)
     : base(listener)
 {
     _oException = oException;
 }
コード例 #15
0
ファイル: OutlookItem.cs プロジェクト: alex765022/IBN
 public OutlookItem(OutlookListener outlookListener)
 {
     _outlookListener = outlookListener;
 }
コード例 #16
0
ファイル: UIController.cs プロジェクト: 0anion0/IBN
        //this method must call in Addin thread
        public static UIController CreateInstance(AddinModule addinModule)
        {
            if (addinModule == null)
                throw new ArgumentNullException("addinModule");

            if (_instance != null)
                return _instance;

            //Set LogFilePath
            DebugAssistant.LogFilePath = ApplicationConfig.LogPathFile;

            FormSyncOptions syncOptionsForm = new FormSyncOptions();
            FormSyncItem syncForm= new FormSyncItem();
            FormSyncConflictResolution syncConflictResForm = new FormSyncConflictResolution();
            OutlookListener listener = new OutlookListener(addinModule);
            IntPtr handle = listener.Handle;
            OutlookApplication outlookApplication = OutlookApplication.CreateInstance(listener);
            SyncApplication syncApp = SyncApplication.CreateInstance(outlookApplication);

            if (syncApp == null)
                throw new NullReferenceException("syncApp");

            UIController retVal = new UIController(addinModule, listener, syncApp, syncForm,
                                                   syncOptionsForm, syncConflictResForm);

            if (syncConflictResForm != null)
            {
                //Force create control
                handle = syncConflictResForm.Handle;
            }

            if (syncForm != null)
            {
                //Subscribe events SyncApp(Model)
                retVal.HookEvents(syncApp);
                //Sunscribe events syncForm(View)
                retVal.HookEvents(syncForm);
                //Force create control
                handle = syncForm.Handle;

                //TODO: Нужно прочитать историю последней синхронизации и установить статус прошлой синхронизации
                syncForm.AddSyncMenuItem(Outlook.OlItemType.olAppointmentItem);
                syncForm.AddSyncMenuItem(Outlook.OlItemType.olContactItem);
                syncForm.AddSyncMenuItem(Outlook.OlItemType.olTaskItem);
                syncForm.AddSyncMenuItem(Outlook.OlItemType.olNoteItem);
                //Appointment
                SyncItemInfo status = new SyncItemInfo();
                syncAppointmentSetting apppointSetting = syncApp.CurrentSettings.CurrentSyncAppointentSetting;
                if(apppointSetting != null)
                {
                    status.Status = (eSyncStatus)apppointSetting.lastSyncStatus;
                    if (status.Status != eSyncStatus.Unknow)
                    {
                        status.LastSyncDate = new DateTime(TimeSpan.TicksPerSecond * apppointSetting.lastSyncDate);
                    }

                    if(status.Status == eSyncStatus.Ok || status.Status == eSyncStatus.Unknow)
                    {
                        status.Status = eSyncStatus.Ready;
                    }
                }

                syncForm.ThrSetSyncItemStatus(Outlook.OlItemType.olAppointmentItem, status);
                //Contact
                //Task
                status = new SyncItemInfo();
                status.Status = eSyncStatus.Ready;
                syncForm.ThrSetSyncItemStatus(Outlook.OlItemType.olTaskItem, status);
                //Note
                status = new SyncItemInfo();
                status.Status = eSyncStatus.Unknow;
                syncForm.ThrSetSyncItemStatus(Outlook.OlItemType.olContactItem, status);

                syncForm.ThrSetSyncItemStatus(Outlook.OlItemType.olNoteItem, status);

                retVal._syncItemForm = syncForm;

            }

            if (syncOptionsForm != null)
            {
                //Force create control
                handle = syncOptionsForm.Handle;
                //Sunscribe events syncOptionsForm(View)
                retVal.HookEvents(syncOptionsForm);
            }

            _instance = retVal;

            return retVal;
        }
コード例 #17
0
 public OutlookRecipient(OutlookListener listener, Outlook.Recipient oRecipient)
     : base(listener)
 {
     _oRecipient = oRecipient;
 }
コード例 #18
0
ファイル: OutlookAppointment.cs プロジェクト: alex765022/IBN
 public OutlookAppointment(OutlookListener outlookListener, Outlook._AppointmentItem oAppItem)
     : base(outlookListener)
 {
     _oAppItem = oAppItem;
 }