/// <summary> /// Возвращает объект настройки для соотв типа синхронизации /// </summary> /// <param name="oItemType">Type of the o item.</param> /// <returns></returns> public syncProviderSetting GetSyncProviderSettingByType(Outlook.OlItemType oItemType) { syncProviderSetting retVal = null; if (CurrentSettings == null) { throw new NullReferenceException("CurrentSetting"); } switch (oItemType) { case Outlook.OlItemType.olAppointmentItem: retVal = CurrentSettings.CurrentSyncAppointentSetting; break; case Outlook.OlItemType.olContactItem: retVal = CurrentSettings.CurrentContactSetting; break; case Outlook.OlItemType.olNoteItem: retVal = null; break; case Outlook.OlItemType.olTaskItem: retVal = CurrentSettings.CurrentTaskSetting; break; } return(retVal); }
/// <summary> /// Creates the instance. /// </summary> /// <param name="appSetting">The app setting.</param> /// <param name="oItemType">Type of the o item.</param> /// <returns></returns> public static RemoteProviderProxy CreateInstance(syncAppSetting appSetting, Outlook.OlItemType oItemType) { RemoteProviderProxy retVal = null; NetworkCredential cred = new NetworkCredential(); cred.UserName = appSetting.ibnPortalLogin; cred.Password = appSetting.ibnPortalPassword; SynchronizationService syncService = new SynchronizationService(); //enable session syncService.CookieContainer = new System.Net.CookieContainer(); string syncServiceUrl = appSetting.ibnPortalUrl; if (!syncServiceUrl.Contains(OutlookAddin.Resources.System_IbnSyncWebServicePath)) { Uri url = new Uri(syncServiceUrl); UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Scheme = Uri.UriSchemeHttp; uriBuilder.Port = url.Port; uriBuilder.Host = url.Host; uriBuilder.Path = url.AbsolutePath + OutlookAddin.Resources.System_IbnSyncWebServicePath; syncServiceUrl = uriBuilder.ToString(); } syncService.Url = syncServiceUrl; //Authentificate syncService.SetCredentials(cred); //Set sync provider syncService.SetProviderTypeForSyncSession((OutlookAddin.SyncService.eSyncProviderType)oItemType); retVal = new RemoteProviderProxy(syncService); return(retVal); }
/// <summary> /// Adds the sync menu item. /// </summary> /// <param name="item">The item.</param> public void AddSyncMenuItem(Outlook.OlItemType oItemType) { SyncMenuItem menuItem = CreateSyncMenuItem(oItemType); if (menuItem != null) { _vistaMenuCtrl.Items.Add(menuItem); _vistaMenuCtrl.Invalidate(); } }
protected virtual void vistaMenuCtrl_itemclick(OutlookAddin.OutlookUI.VistaMenuControl.VistaMenuItemClickArgs args) { Outlook.OlItemType oItemType = (Outlook.OlItemType)args.Item.ItemTag; SyncMenuItem menuItem = FindSyncMenuItem(oItemType); //Избегаем повторного нажатия if (menuItem != null && menuItem.CurrentSyncStatus != eSyncStatus.InProgress) { SyncItemEventArgs syncItemArgs = new SyncItemEventArgs(oItemType); OnProcessSync(syncItemArgs); } }
protected virtual void DisableEnableSyncItem(bool disableEnable, Outlook.OlItemType oItemType) { foreach (SyncMenuItem menuItem in MenuItems) { if (((Outlook.OlItemType)menuItem.ItemTag) == oItemType) { DisableEnableSyncItem(disableEnable, menuItem); break; } } }
private KnowledgeSyncProvider GetLocalSyncProviderBySyncType(Outlook.OlItemType oItemType) { //return new KnowledgeSyncProvider[] { ClientOutlook.TestProvider.MyProviderFactory.CreateAProvider() }; KnowledgeSyncProvider retVal = null; lock (_lockObject) { if (!_syncProviderCache.TryGetValue(oItemType, out retVal)) { retVal = AppointmentSyncProvider.CreateInstance(_settings.CurrentSyncAppointentSetting, _outlookApplication); _syncProviderCache.Add(oItemType, retVal); } } //TODO: Add other types return(retVal); }
public CtrlSyncItemSetting(ImageList imgList, Outlook.OlItemType oItemType) { InitializeComponent(); SyncItemType = oItemType; _header = new CtrlHeaderListItem(imgList); _header.Dock = DockStyle.Fill; this.pnlTop.Controls.Add(_header); this.imageList1 = imgList; AdditionalInitialize(); _deltaSize = this.pnlBottom.Height; this.Height = this.pnlTop.Height; this.pnlBottom.Paint += new PaintEventHandler(OnPaintExtendedPanel); }
/// <summary> /// THRs the update sync item status. /// </summary> /// <param name="oItemType">Type of the o item.</param> /// <param name="args">The <see cref="Microsoft.Synchronization.SyncStagedProgressEventArgs"/> instance containing the event data.</param> /// <returns></returns> public bool ThrUpdateSyncItemStatus(Outlook.OlItemType oItemType) { bool retVal = true; if (this.InvokeRequired) { Func <Outlook.OlItemType, bool> func = this.ThrUpdateSyncItemStatus; retVal = (bool)this.Invoke(func, oItemType); } else { SyncMenuItem item = FindSyncMenuItem(oItemType); if (item == null) { throw new Exception("Unable to find menuItem"); } int percent = 0; string syncState = "unknow"; string reportingProvider = "unknow"; uint totalWork = 0; uint completedWork = 0; if (CurrentSyncStagedProgress != null) { totalWork = CurrentSyncStagedProgress.TotalWork; completedWork = CurrentSyncStagedProgress.CompletedWork; percent = totalWork == 0 ? 0 : (int)((double)completedWork / (double)totalWork * 100); reportingProvider = CurrentSyncStagedProgress.ReportingProvider.ToString(); } if (CurrentSyncSessionStage != null) { syncState = CurrentSyncSessionStage.NewState.ToString(); } //item.Description = FormatingStatus(Resources.SyncMenuItem_ProcessStatus_Pattern1, // new object[] { syncState, reportingProvider, percent }); item.Description = FormatingStatus(Resources.FormSyncMenuItem_ProcessStatus_Pattern2, new object[] { syncState, reportingProvider, completedWork, totalWork }); } return(retVal); }
public CtrlSyncItem(Outlook.OlItemType itemType) { this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true); InitializeComponent(); this.SyncItemType = itemType; this.SuspendLayout(); _deltaSize = this.panel2.Height; this.panel2.Visible = false; this.Height = this.panel1.Height; this.ResumeLayout(false); HookAllEvents(this.panel1, false); HookAllEvents(this.panel2, false); }
/// <summary> /// Adds the folder item. /// </summary> /// <param name="oFolder">The o folder.</param> /// <param name="oItemType">Type of the o item.</param> /// <returns></returns> public OutlookItem AddFolderItem(Outlook.MAPIFolder oFolder, Outlook.OlItemType oItemType) { OutlookItem retVal = null; if (oFolder == null) { throw new ArgumentNullException("oFolder"); } if (this.InvokeRequired) { Func <Outlook.MAPIFolder, Outlook.OlItemType, OutlookItem> func = AddFolderItem; retVal = this.Invoke(func, oFolder, oItemType) as OutlookItem; } else { object newItem = oFolder.Items.Add(oItemType); if (newItem != null) { retVal = _factory.Create <OutlookItem>(newItem) as OutlookItem; } } return(retVal); }
/// <summary> /// Picks the outlook folder path. /// </summary> /// <param name="oApp">The o app.</param> /// <param name="oItemType">Type of the o item.</param> /// <returns></returns> public static string PickOutlookFolderPath(Outlook._Application oApp, Outlook.OlItemType oItemType) { string retVal = null; bool correctFolderSelected = false; try { while (!correctFolderSelected) { Outlook.NameSpace oNameSpace = oApp.GetNamespace("MAPI"); Outlook.MAPIFolder oMapiFolder = oNameSpace.PickFolder(); if (oMapiFolder.DefaultItemType != oItemType) { DebugAssistant.Log(DebugSeverity.Error | DebugSeverity.MessageBox, Resources.ERR_OUTLOOK_BAD_FOLDER_TYPE, oItemType); continue; } correctFolderSelected = true; retVal = oMapiFolder.Name; while (oMapiFolder.Parent is Outlook.MAPIFolder) { oMapiFolder = (Outlook.MAPIFolder)oMapiFolder.Parent; retVal = string.Format("{0}/", oMapiFolder.Name) + retVal; } retVal = "//" + retVal; } } catch (Exception e) { DebugAssistant.Log(DebugSeverity.Debug, e.Message); DebugAssistant.Log(DebugSeverity.Debug | DebugSeverity.MessageBox, Resources.DBG_OUTLOOK_FOLDER_NOT_SELECTED); } return(retVal); }
private CtrlExtendedListItemBase CreateSyncItemSetting(Outlook.OlItemType oItemType) { CtrlSyncItemSetting retVal = null; switch (oItemType) { case Outlook.OlItemType.olAppointmentItem: retVal = new CtrlSyncItemSettingAppointment(this.imageList32); retVal.Header.RegisterStateImage(eSettingItem_State.Normal, (int)eMenuSyncItemSettings_Icon.Calendar); retVal.Header.RegisterStateImage(eSettingItem_State.Disabled, (int)eMenuSyncItemSettings_Icon.Calendar); retVal.Header.RegisterStateImage(eSettingItem_State.Hover, (int)eMenuSyncItemSettings_Icon.Calendar); retVal.Header.RegisterStateImage(eSettingItem_State.Selected, (int)eMenuSyncItemSettings_Icon.Calendar); retVal.Header.Caption = Resources.FormSyncMenuItem_TextCalendar; break; case Outlook.OlItemType.olContactItem: retVal = new CtrlSyncItemSettingContact(this.imageList32); retVal.Header.RegisterStateImage(eSettingItem_State.Normal, (int)eMenuSyncItemSettings_Icon.Contact); retVal.Header.RegisterStateImage(eSettingItem_State.Disabled, (int)eMenuSyncItemSettings_Icon.Contact); retVal.Header.RegisterStateImage(eSettingItem_State.Hover, (int)eMenuSyncItemSettings_Icon.Contact); retVal.Header.RegisterStateImage(eSettingItem_State.Selected, (int)eMenuSyncItemSettings_Icon.Contact); retVal.Header.Caption = Resources.FormSyncMenuItem_TextContact; break; case Outlook.OlItemType.olTaskItem: retVal = new CtrlSyncItemSettingTask(this.imageList32); retVal.Header.RegisterStateImage(eSettingItem_State.Normal, (int)eMenuSyncItemSettings_Icon.Task); retVal.Header.RegisterStateImage(eSettingItem_State.Disabled, (int)eMenuSyncItemSettings_Icon.Task); retVal.Header.RegisterStateImage(eSettingItem_State.Hover, (int)eMenuSyncItemSettings_Icon.Task); retVal.Header.RegisterStateImage(eSettingItem_State.Selected, (int)eMenuSyncItemSettings_Icon.Task); retVal.Header.Caption = Resources.FormSyncMenuItem_TextTask; break; } return(retVal); }
public SyncItemEventArgs(Outlook.OlItemType itemType) { oItemType = itemType; }
public static string GenerateReplicaStoreFileName(Outlook.OlItemType oItemType) { return("c:\\" + oItemType.ToString() + ".dat"); }
/// <summary> /// Adds the item. /// </summary> /// <param name="oItemType">Type of the o item.</param> /// <returns></returns> public OutlookItem AddItem(Outlook.OlItemType oItemType) { return(base._outlookListener.AddFolderItem(_oFolder, oItemType)); }
/// <summary> /// Does the sync. Выполняется в другом потоке отличном от AddinModule /// </summary> /// <param name="oItemType">Type of the o item.</param> private void DoSync(Outlook.OlItemType oItemType) { //reset last error LastSyncErrorDescr = string.Empty; LastSyncErrorOccur = false; //reset skipped items _skippedItems.Clear(); KnowledgeSyncProvider localProvider = null; KnowledgeSyncProvider remoteProvider = null; CurrentProcessedSyncType = oItemType; try { remoteProvider = GetRemoteSyncProvidersBySyncType(oItemType); localProvider = GetLocalSyncProviderBySyncType(oItemType); if (localProvider != null) { //Create sync session if (_syncAgent == null) { _syncAgent = new SyncOrchestrator(); //Subscribe sync framework events SubscribeEvents(_syncAgent); } //ISyncProviderSetting providerSetting = localProvider.ProviderSetting; ISyncProviderSetting providerSetting = localProvider as ISyncProviderSetting; if (providerSetting != null) { SyncDirectionOrder direction = providerSetting.SyncDirectionOrderSetting; ConflictResolutionPolicy conflictResolution = providerSetting.ConflictResolutionPolicySetting; remoteProvider.Configuration.ConflictResolutionPolicy = conflictResolution; localProvider.Configuration.ConflictResolutionPolicy = conflictResolution; _syncAgent.Direction = direction; _syncAgent.LocalProvider = localProvider; _syncAgent.RemoteProvider = remoteProvider; //Subscribe to knowledege provider events SubscribeEvents(localProvider); SubscribeEvents(remoteProvider); //raise sync process begin event OnSyncProcessBegin(new SyncProcessEventArgs()); SyncOperationStatistics syncStats = _syncAgent.Synchronize(); CollectStatistics(syncStats); } } } catch (UriFormatException e) { DebugAssistant.Log(DebugSeverity.Error, e.Message); LastSyncErrorOccur = true; LastSyncErrorDescr = OutlookAddin.Resources.ERR_SYNC_SERVICE_INVALID_URL; //DebugAssistant.Log(DebugSeverity.Error | DebugSeverity.MessageBox, // OutlookAddin.Resources.ERR_SYNC_SERVICE_INVALID_URL); } catch (SoapException e) { LastSyncErrorOccur = true; SyncronizationServiceError syncError = SoapErrorHandler.HandleError(e); string msg = OutlookAddin.Resources.ERR_SYNC_SERVICE_UKNOW; if (syncError != null) { DebugAssistant.Log(DebugSeverity.Error, syncError.errorType.ToString() + " " + syncError.message + " " + syncError.stackTrace); switch (syncError.errorType) { case SyncronizationServiceError.eServiceErrorType.AuthFailed: msg = Resources.ERR_SYNC_SERVICE_AUTH_FAILED; break; case SyncronizationServiceError.eServiceErrorType.NotAuthRequest: msg = Resources.ERR_SYNC_SERVICE_NOT_AUTH; break; case SyncronizationServiceError.eServiceErrorType.ProviderNotSpecified: msg = Resources.ERR_SYNC_SERVICE_INVALID_PROVIDER; break; case SyncronizationServiceError.eServiceErrorType.SyncFramework: msg = Resources.ERR_SYNC_SERVICE_FRAMEWORK; break; case SyncronizationServiceError.eServiceErrorType.SyncProvider: msg = Resources.ERR_SYNC_SERVICE_PROVIDER; break; case SyncronizationServiceError.eServiceErrorType.ServerError: msg = Resources.ERR_SYNC_SERVICE_SERVER; break; case SyncronizationServiceError.eServiceErrorType.Undef: msg = Resources.ERR_SYNC_SERVICE_UKNOW; break; } } LastSyncErrorDescr = msg; //DebugAssistant.Log(DebugSeverity.Error | DebugSeverity.MessageBox, msg); } catch (System.Net.WebException e) { LastSyncErrorOccur = true; LastSyncErrorDescr = Resources.ERR_SYNC_CONNECTION; DebugAssistant.Log(DebugSeverity.Error, e.Message); } catch (Exception e) { LastSyncErrorOccur = true; LastSyncErrorDescr = OutlookAddin.Resources.ERR_ADDIN_UNKNOW; DebugAssistant.Log(DebugSeverity.Error, e.Message); //DebugAssistant.Log(DebugSeverity.Error | DebugSeverity.MessageBox, OutlookAddin.Resources.ERR_ADDIN_UNKNOW); } finally { if (localProvider != null) { localProvider.EndSession(null); } if (remoteProvider != null) { remoteProvider.EndSession(null); } OnSyncProcessEnd(new SyncProcessEventArgs()); CurrentProcessedSyncType = null; } }
private KnowledgeSyncProvider GetRemoteSyncProvidersBySyncType(Outlook.OlItemType oItemType) { return(RemoteProviderProxy.CreateInstance(_settings.CurrentSyncAppSetting, oItemType)); //return ClientOutlook.TestProvider.MyProviderFactory.CreateBProvider() ; }
protected void DisableSyncItem(Outlook.OlItemType oItemType) { DisableEnableSyncItem(true, oItemType); }
protected void EnableSyncItem(Outlook.OlItemType oItemType) { DisableEnableSyncItem(false, oItemType); }
/// <summary> /// Creates the sync menu item. /// </summary> /// <param name="oItemType">Type of the o item.</param> /// <returns></returns> private SyncMenuItem CreateSyncMenuItem(Outlook.OlItemType oItemType) { SyncMenuItem retVal = new SyncMenuItem(_vistaMenuCtrl, this.imageList1); switch (oItemType) { case Outlook.OlItemType.olAppointmentItem: retVal.RegisterStatusImages(eSyncStatus.InProgress, (int)eSyncMenuItem_Icon.Calendar_sync, (int)eSyncMenuItem_Icon.Calendar_sync_1, (int)eSyncMenuItem_Icon.Calendar_sync_2, (int)eSyncMenuItem_Icon.Calendar_sync_3); retVal.RegisterStatusImages(eSyncStatus.Failed, (int)eSyncMenuItem_Icon.Calendar_failed); retVal.RegisterStatusImages(eSyncStatus.Canceled, (int)eSyncMenuItem_Icon.Calendar_canceled); retVal.RegisterStatusImages(eSyncStatus.ReadyProgress, (int)eSyncMenuItem_Icon.Calendar_sync, (int)eSyncMenuItem_Icon.Calendar_sync_1, (int)eSyncMenuItem_Icon.Calendar_sync_2, (int)eSyncMenuItem_Icon.Calendar_sync_3); retVal.RegisterStatusImages(eSyncStatus.Ready, (int)eSyncMenuItem_Icon.Calendar_ready); retVal.RegisterStatusImages(eSyncStatus.Ok, (int)eSyncMenuItem_Icon.Calendar_ok); retVal.RegisterStatusImages(eSyncStatus.Unknow, (int)eSyncMenuItem_Icon.Calendar_unknow); retVal.RegisterStatusImages(eSyncStatus.SkipedChangesDetected, (int)eSyncMenuItem_Icon.Calendar_canceled); retVal.ItemTag = oItemType; retVal.Text = Resources.FormSyncMenuItem_TextCalendar; break; case Outlook.OlItemType.olContactItem: retVal.RegisterStatusImages(eSyncStatus.InProgress, (int)eSyncMenuItem_Icon.Contact_sync, (int)eSyncMenuItem_Icon.Contact_sync_1, (int)eSyncMenuItem_Icon.Contact_sync_2, (int)eSyncMenuItem_Icon.Contact_sync_3); retVal.RegisterStatusImages(eSyncStatus.Failed, (int)eSyncMenuItem_Icon.Contact_failed); retVal.RegisterStatusImages(eSyncStatus.Canceled, (int)eSyncMenuItem_Icon.Contact_canceled); retVal.RegisterStatusImages(eSyncStatus.ReadyProgress, (int)eSyncMenuItem_Icon.Contact_sync, (int)eSyncMenuItem_Icon.Contact_sync_1, (int)eSyncMenuItem_Icon.Contact_sync_2, (int)eSyncMenuItem_Icon.Contact_sync_3); retVal.RegisterStatusImages(eSyncStatus.Ready, (int)eSyncMenuItem_Icon.Contact_ok); retVal.RegisterStatusImages(eSyncStatus.Unknow, (int)eSyncMenuItem_Icon.Contact_unknow); retVal.ItemTag = oItemType; retVal.Text = Resources.FormSyncMenuItem_TextContact; break; case Outlook.OlItemType.olTaskItem: retVal.RegisterStatusImages(eSyncStatus.InProgress, (int)eSyncMenuItem_Icon.Task_sync, (int)eSyncMenuItem_Icon.Task_sync_1, (int)eSyncMenuItem_Icon.Task_sync_2, (int)eSyncMenuItem_Icon.Task_sync_3); retVal.RegisterStatusImages(eSyncStatus.Failed, (int)eSyncMenuItem_Icon.Task_failed); retVal.RegisterStatusImages(eSyncStatus.Canceled, (int)eSyncMenuItem_Icon.Task_canceled); retVal.RegisterStatusImages(eSyncStatus.ReadyProgress, (int)eSyncMenuItem_Icon.Task_sync, (int)eSyncMenuItem_Icon.Task_sync_1, (int)eSyncMenuItem_Icon.Task_sync_2, (int)eSyncMenuItem_Icon.Task_sync_3); retVal.RegisterStatusImages(eSyncStatus.Ready, (int)eSyncMenuItem_Icon.Task_ready); retVal.RegisterStatusImages(eSyncStatus.Unknow, (int)eSyncMenuItem_Icon.Task_unknow); retVal.ItemTag = oItemType; retVal.Text = Resources.FormSyncMenuItem_TextTask; break; case Outlook.OlItemType.olNoteItem: retVal.RegisterStatusImages(eSyncStatus.InProgress, (int)eSyncMenuItem_Icon.Note_sync, (int)eSyncMenuItem_Icon.Note_sync_1, (int)eSyncMenuItem_Icon.Note_sync_2, (int)eSyncMenuItem_Icon.Note_sync_3); retVal.RegisterStatusImages(eSyncStatus.Failed, (int)eSyncMenuItem_Icon.Note_failed); retVal.RegisterStatusImages(eSyncStatus.Canceled, (int)eSyncMenuItem_Icon.Note_canceled); retVal.RegisterStatusImages(eSyncStatus.ReadyProgress, (int)eSyncMenuItem_Icon.Note_sync, (int)eSyncMenuItem_Icon.Note_sync_1, (int)eSyncMenuItem_Icon.Note_sync_2, (int)eSyncMenuItem_Icon.Note_sync_3); retVal.RegisterStatusImages(eSyncStatus.Ready, (int)eSyncMenuItem_Icon.Note_ok); retVal.RegisterStatusImages(eSyncStatus.Unknow, (int)eSyncMenuItem_Icon.Note_unknow); retVal.ItemTag = oItemType; retVal.Text = Resources.FormSyncMenuItem_TextNote; break; } if (retVal != null) { retVal.SelectionStartColor = Color.FromArgb(152, 193, 233); retVal.SelectionEndColor = Color.FromArgb(134, 186, 237); retVal.SelectionStartColorStart = Color.FromArgb(104, 169, 234); retVal.SelectionEndColorEnd = Color.FromArgb(169, 232, 255); retVal.InnerBorder = Color.FromArgb(254, 254, 254); retVal.OuterBorder = Color.FromArgb(231, 231, 231); retVal.CaptionFont = new Font("Tahoma", 10, FontStyle.Bold); retVal.ContentFont = new Font("Tahoma", 7); retVal.CaptionColor = Color.Black; retVal.ContentColor = Color.Black; } return(retVal); }
/// <summary> /// Sets the sync item status. /// </summary> /// <param name="oItemType">Type of the o item.</param> /// <param name="status">The status.</param> public bool ThrSetSyncItemStatus(Outlook.OlItemType oItemType, SyncItemInfo syncInfo) { if (this.InvokeRequired) { Func <Outlook.OlItemType, SyncItemInfo, bool> func = this.ThrSetSyncItemStatus; this.Invoke(func, oItemType, syncInfo); } else { SyncMenuItem item = FindSyncMenuItem(oItemType); if (item != null) { //Если предыдущий статус был InProgress, снимаем disable c других пунктов if (item.CurrentSyncStatus == eSyncStatus.InProgress && syncInfo.Status != eSyncStatus.InProgress) { EnableAllSyncItems(x => x.CurrentSyncStatus != eSyncStatus.Unknow); } if (syncInfo.Status == eSyncStatus.InProgress) { //Делаем неактивнми остальные пункты меню синхронизации DisableAllSyncItems(x => (Outlook.OlItemType)x.ItemTag != oItemType); item.Description = Resources.FormSyncMenuItem_ProcessStatus; } else if (syncInfo.Status == eSyncStatus.Ready || syncInfo.Status == eSyncStatus.Ok) { if (syncInfo.LastSyncDate != DateTime.MinValue) { item.Description = FormatingStatus(Resources.FormSyncMenuItem_ReadyStatus_Pattern, new object[] { syncInfo.LastSyncDate }); } else { item.Description = Resources.FormSyncMenuItem_NotSyncStatus_Pattern; } } else if (syncInfo.Status == eSyncStatus.Failed) { item.Description = FormatingStatus(Resources.FormSyncmenuItem_FailStatus_Pattern, new object[] { syncInfo.ErrorDescr }); } else if (syncInfo.Status == eSyncStatus.SkipedChangesDetected) { item.Description = FormatingStatus(Resources.FormSyncMenuItem_SkippedItemPattern, new object[] { syncInfo.SkippedCount }); } else if (syncInfo.Status == eSyncStatus.Unknow) { //Disabling unknow status item.Description = Resources.FormSyncMenuItem_NotSyncStatus_Pattern; DisableSyncItem(oItemType); } //Устанавливаем новый статус item.CurrentSyncStatus = syncInfo.Status; item.AnimateStatusImg = false; switch (item.CurrentSyncStatus) { case eSyncStatus.InProgress: item.AnimateStatusImg = true; item.AnimateDuration = -1; break; case eSyncStatus.ReadyProgress: item.AnimateDuration = _onMouseHoverAnimateDuration; item.AnimateStatusImg = true; break; } } } return(true); }
private SyncMenuItem FindSyncMenuItem(Outlook.OlItemType oItemType) { return(MenuItems.FirstOrDefault(x => (Outlook.OlItemType)x.ItemTag == oItemType)); }
/// <summary> /// Adds the syncronize task. /// </summary> /// <param name="oSyncItem">The o sync item.</param> public void SheduleSyncronizeTask(Outlook.OlItemType oSyncItem) { this._workManager.SheduleTask(oSyncItem); //DoSync(oSyncItem); }