コード例 #1
0
        /// <summary>
        /// Создает экземпляр провайдера для заданного пользователя
        /// </summary>
        /// <param name="principalId">The principal id.</param>
        /// <returns></returns>
        public static CalendarEventSyncProvider CreateInstance(int principalId)
        {
            CalendarEventSyncProvider retVal = null;

            lock (_lock)
            {
                SyncId replicaId = SyncMetadataStore.FindReplicaIdByPrincipalId(principalId);
                if (replicaId == null)
                {
                    //генерируем новый replica id
                    replicaId = new SyncId(Guid.NewGuid());
                    //Создаем новое хранилище метаданных реплики
                    SyncMetadataStore.CreateStore(replicaId, principalId);
                }

                retVal = new CalendarEventSyncProvider(replicaId);
                retVal.InitializeMetaDataStore();
            }
            return(retVal);
        }