public GoogleContactUpdateFromNewerToOlder(
     EntitySyncStateEnvironment <string, DateTime, IContactItemWrapper, string, GoogleContactVersion, GoogleContactWrapper, IGoogleContactContext> environment,
     IEntityRelationData <string, DateTime, string, GoogleContactVersion> knownData,
     DateTime newA,
     GoogleContactVersion newB)
     : base(environment, knownData, newA, newB)
 {
 }
Beispiel #2
0
 public OutlookCardDavUpdateFromNewerToOlder(
     EntitySyncStateEnvironment <string, DateTime, IContactItemWrapper, WebResourceName, string, vCard, ICardDavRepositoryLogger> environment,
     IEntityRelationData <string, DateTime, WebResourceName, string> knownData,
     DateTime newA,
     string newB)
     : base(environment, knownData, newA, newB)
 {
 }
 public RestoreInB(
     EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> environment,
     IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData,
     TBtypeEntityVersion currentBVersion)
     : base(environment, knownData)
 {
     _currentBVersion = currentBVersion;
 }
Beispiel #4
0
 public DeleteInA(
     EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> environment,
     IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData,
     TAtypeEntityVersion currentAVersion)
     : base(environment, knownData)
 {
     _currentAVersion = currentAVersion;
 }
Beispiel #5
0
 public OutlookSogoDistListUpdateFromNewerToOlder(
     EntitySyncStateEnvironment <string, DateTime, IDistListItemWrapper, WebResourceName, string, DistributionList, DistributionListSychronizationContext> environment,
     IEntityRelationData <string, DateTime, WebResourceName, string> knownData,
     DateTime newA,
     string newB)
     : base(environment, knownData, newA, newB)
 {
 }
 public OutlookCardDavUpdateFromNewerToOlder(
     EntitySyncStateEnvironment <string, DateTime, GenericComObjectWrapper <ContactItem>, Uri, string, vCard> environment,
     IEntityRelationData <string, DateTime, Uri, string> knownData,
     DateTime newA,
     string newB)
     : base(environment, knownData, newA, newB)
 {
 }
Beispiel #7
0
 public IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> Create_DeleteInB(
     IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData,
     TBtypeEntityVersion currentBVersion)
 {
     return(new DeleteInB <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> (
                Environment,
                knownData,
                currentBVersion));
 }
 public UpdateAToB(
     EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> environment,
     IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData,
     TAtypeEntityVersion newAVersion,
     TBtypeEntityVersion currentBVersion)
     : base(environment, knownData)
 {
     _newAVersion     = newAVersion;
     _currentBVersion = currentBVersion;
 }
Beispiel #9
0
 public IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> Create_UpdateAtoB(
     IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData,
     TAtypeEntityVersion newA,
     TBtypeEntityVersion currentBVersion)
 {
     return(new UpdateAToB <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> (
                Environment,
                knownData,
                newA,
                currentBVersion));
 }
Beispiel #10
0
 public IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> Create_UpdateBtoA(
     IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData,
     TBtypeEntityVersion newB,
     TAtypeEntityVersion currentAVersion)
 {
     return(new UpdateBToA <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> (
                Environment,
                knownData,
                newB,
                currentAVersion));
 }
        private bool RemoveBFromRequestedAndCheckIfCausesSync(
            Dictionary <TBtypeEntityId, IIdWithHints <TBtypeEntityId, TBtypeEntityVersion> > requestedBIdsById,
            IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> entityRelation)
        {
            IIdWithHints <TBtypeEntityId, TBtypeEntityVersion> bIdWithHints;
            bool isBCausingSync;

            if (requestedBIdsById.TryGetValue(entityRelation.BtypeId, out bIdWithHints))
            {
                requestedBIdsById.Remove(entityRelation.BtypeId);
                isBCausingSync =
                    (bIdWithHints.WasDeletedHint ?? false) ||
                    !bIdWithHints.IsVersionHintSpecified ||
                    !_btypeVersionComparer.Equals(entityRelation.BtypeVersion, bIdWithHints.VersionHint);
            }
            else
            {
                isBCausingSync = false;
            }
            return(isBCausingSync);
        }
 protected UpdateBase(EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> environment, IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData)
     : base(environment, knownData)
 {
 }
        private IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> CreateInitialSyncState(
            IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownEntityRelation,
            EntityState aState,
            EntityState bState,
            TAtypeEntityVersion aRepositoryVersion,
            TBtypeEntityVersion bRepositoryVersion,
            VersionDeltaLoginInformation aLogInfo,
            VersionDeltaLoginInformation bLogInfo)
        {
            IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> state;

            switch (aState)
            {
            case EntityState.ChangedOrAdded:
                aLogInfo.IncChanged();
                switch (bState)
                {
                case EntityState.ChangedOrAdded:
                    bLogInfo.IncChanged();
                    state = _initialSyncStateCreationStrategy.CreateFor_Changed_Changed(knownEntityRelation, aRepositoryVersion, bRepositoryVersion);
                    break;

                case EntityState.Unchanged:
                    bLogInfo.IncUnchanged();
                    state = _initialSyncStateCreationStrategy.CreateFor_Changed_Unchanged(knownEntityRelation, aRepositoryVersion);
                    break;

                case EntityState.Deleted:
                    bLogInfo.IncDeleted();
                    state = _initialSyncStateCreationStrategy.CreateFor_Changed_Deleted(knownEntityRelation, aRepositoryVersion);
                    break;

                default:
                    throw new NotImplementedException($"'{bState}' not implemented");
                }
                break;

            case EntityState.Unchanged:
                aLogInfo.IncUnchanged();
                switch (bState)
                {
                case EntityState.ChangedOrAdded:
                    bLogInfo.IncChanged();
                    state = _initialSyncStateCreationStrategy.CreateFor_Unchanged_Changed(knownEntityRelation, bRepositoryVersion);
                    break;

                case EntityState.Unchanged:
                    bLogInfo.IncUnchanged();
                    state = _initialSyncStateCreationStrategy.CreateFor_Unchanged_Unchanged(knownEntityRelation);
                    break;

                case EntityState.Deleted:
                    bLogInfo.IncDeleted();
                    state = _initialSyncStateCreationStrategy.CreateFor_Unchanged_Deleted(knownEntityRelation);
                    break;

                default:
                    throw new NotImplementedException($"'{bState}' not implemented");
                }
                break;

            case EntityState.Deleted:
                aLogInfo.IncDeleted();
                switch (bState)
                {
                case EntityState.ChangedOrAdded:
                    bLogInfo.IncChanged();
                    state = _initialSyncStateCreationStrategy.CreateFor_Deleted_Changed(knownEntityRelation, bRepositoryVersion);
                    break;

                case EntityState.Unchanged:
                    bLogInfo.IncUnchanged();
                    state = _initialSyncStateCreationStrategy.CreateFor_Deleted_Unchanged(knownEntityRelation);
                    break;

                case EntityState.Deleted:
                    bLogInfo.IncDeleted();
                    state = _initialSyncStateCreationStrategy.CreateFor_Deleted_Deleted(knownEntityRelation);
                    break;

                default:
                    throw new NotImplementedException($"'{bState}' not implemented");
                }
                break;

            default:
                throw new NotImplementedException($"'{aState}' not implemented");
            }

            return(state);
        }
Beispiel #14
0
 public IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> Create_Deleted_Changed(IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData, TBtypeEntityVersion newB)
 {
     return(_factory.Create_CreateInA(knownData.BtypeId, newB));
 }
 public TaskUpdateFromNewerToOlder(EntitySyncStateEnvironment <string, DateTime, ITaskItemWrapper, WebResourceName, string, IICalendar, int> environment, IEntityRelationData <string, DateTime, WebResourceName, string> knownData, DateTime newA, string newB)
     : base(environment, knownData, newA, newB)
 {
 }
 public GoogleTaskUpdateFromNewerToOlder(EntitySyncStateEnvironment <string, DateTime, ITaskItemWrapper, string, string, Task, int> environment, IEntityRelationData <string, DateTime, string, string> knownData, DateTime newA, string newB)
     : base(environment, knownData, newA, newB)
 {
 }
Beispiel #17
0
 public IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> Create_Changed_Changed(IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData, TAtypeEntityVersion newA, TBtypeEntityVersion newB)
 {
     return(_factory.Create_UpdateBtoA(knownData, newB, newA));
 }
Beispiel #18
0
 public IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> CreateFor_Unchanged_Unchanged(IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData)
 {
     return(_stateFactory.Create_DoNothing(knownData));
 }
Beispiel #19
0
 protected override IEntitySyncState <string, DateTime, TaskItemWrapper, WebResourceName, string, IICalendar, int> Create_FromNewerToOlder(IEntityRelationData <string, DateTime, WebResourceName, string> knownData, DateTime newA, string newB)
 {
     return(new TaskUpdateFromNewerToOlder(
                _environment,
                knownData,
                newA,
                newB
                ));
 }
Beispiel #20
0
 public OutlookCaldavEventUpdateFromNewerToOlder(EntitySyncStateEnvironment <string, DateTime, AppointmentItemWrapper, WebResourceName, string, IICalendar> environment, IEntityRelationData <string, DateTime, WebResourceName, string> knownData, DateTime newA, string newB)
     : base(environment, knownData, newA, newB)
 {
 }
Beispiel #21
0
 protected DoNothing <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> CreateDoNothing(IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData)
 {
     return(new DoNothing <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> (knownData));
 }
        private IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> CreateInitialSyncState(
            IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownEntityRelation,
            bool newAVersionAvailable,
            TAtypeEntityVersion newAVersion,
            bool newBVersionAvailable,
            TBtypeEntityVersion newBVersion,
            VersionDeltaLoginInformation aLogInfo,
            VersionDeltaLoginInformation bLogInfo)
        {
            IEntitySyncState <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> state;

            if (newAVersionAvailable)
            {
                var aChanged = !_atypeVersionComparer.Equals(newAVersion, knownEntityRelation.AtypeVersion);
                if (aChanged)
                {
                    aLogInfo.IncChanged();
                    if (newBVersionAvailable)
                    {
                        var bChanged = !_btypeVersionComparer.Equals(newBVersion, knownEntityRelation.BtypeVersion);
                        if (bChanged)
                        {
                            bLogInfo.IncChanged();
                            state = _initialSyncStateCreationStrategy.CreateFor_Changed_Changed(knownEntityRelation, newAVersion, newBVersion);
                        }
                        else
                        {
                            bLogInfo.IncUnchanged();
                            state = _initialSyncStateCreationStrategy.CreateFor_Changed_Unchanged(knownEntityRelation, newAVersion);
                        }
                    }
                    else
                    {
                        bLogInfo.IncDeleted();
                        state = _initialSyncStateCreationStrategy.CreateFor_Changed_Deleted(knownEntityRelation, newAVersion);
                    }
                }
                else
                {
                    aLogInfo.IncUnchanged();
                    if (newBVersionAvailable)
                    {
                        var bChanged = !_btypeVersionComparer.Equals(newBVersion, knownEntityRelation.BtypeVersion);
                        if (bChanged)
                        {
                            bLogInfo.IncChanged();
                            state = _initialSyncStateCreationStrategy.CreateFor_Unchanged_Changed(knownEntityRelation, newBVersion);
                        }
                        else
                        {
                            bLogInfo.IncUnchanged();
                            state = _initialSyncStateCreationStrategy.CreateFor_Unchanged_Unchanged(knownEntityRelation);
                        }
                    }
                    else
                    {
                        bLogInfo.IncDeleted();
                        state = _initialSyncStateCreationStrategy.CreateFor_Unchanged_Deleted(knownEntityRelation);
                    }
                }
            }
            else
            {
                aLogInfo.IncDeleted();
                if (newBVersionAvailable)
                {
                    var bChanged = !_btypeVersionComparer.Equals(newBVersion, knownEntityRelation.BtypeVersion);
                    if (bChanged)
                    {
                        bLogInfo.IncChanged();
                        state = _initialSyncStateCreationStrategy.CreateFor_Deleted_Changed(knownEntityRelation, newBVersion);
                    }
                    else
                    {
                        bLogInfo.IncUnchanged();
                        state = _initialSyncStateCreationStrategy.CreateFor_Deleted_Unchanged(knownEntityRelation);
                    }
                }
                else
                {
                    bLogInfo.IncDeleted();
                    state = _initialSyncStateCreationStrategy.CreateFor_Deleted_Deleted(knownEntityRelation);
                }
            }
            return(state);
        }
 protected UpdateFromNewerToOlder(EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity, TContext> environment, IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData, TAtypeEntityVersion newA, TBtypeEntityVersion newB)
     : base(environment, knownData)
 {
     _newA = newA;
     _newB = newB;
 }
Beispiel #24
0
 protected override IEntitySyncState <string, DateTime, ContactItemWrapper, string, GoogleContactVersion, GoogleContactWrapper, IGoogleContactContext> Create_FromNewerToOlder(IEntityRelationData <string, DateTime, string, GoogleContactVersion> knownData, DateTime newA, GoogleContactVersion newB)
 {
     return(new GoogleContactUpdateFromNewerToOlder(
                _environment,
                knownData,
                newA,
                newB
                ));
 }
 public DoNothing(IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData)
 {
     _knownData = knownData;
 }
Beispiel #26
0
 protected override IEntitySyncState <string, DateTime, IContactItemWrapper, WebResourceName, string, vCard, ICardDavRepositoryLogger> Create_FromNewerToOlder(IEntityRelationData <string, DateTime, WebResourceName, string> knownData, DateTime newA, string newB)
 {
     return(new OutlookCardDavUpdateFromNewerToOlder(
                _environment,
                knownData,
                newA,
                newB
                ));
 }
 protected StateWithKnownData(EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> environment, IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData)
     : base(environment)
 {
     _knownData = knownData;
 }
Beispiel #28
0
 protected override IEntitySyncState <string, DateTime, AppointmentItemWrapper, WebResourceName, string, IICalendar> Create_FromNewerToOlder(IEntityRelationData <string, DateTime, WebResourceName, string> knownData, DateTime newA, string newB)
 {
     return(new OutlookCaldavEventUpdateFromNewerToOlder(
                _environment,
                knownData,
                newA,
                newB
                ));
 }
 protected override IEntitySyncState <string, DateTime, IDistListItemWrapper, WebResourceName, string, DistributionList, DistributionListSychronizationContext> Create_FromNewerToOlder(IEntityRelationData <string, DateTime, WebResourceName, string> knownData, DateTime newA, string newB)
 {
     return(new OutlookSogoDistListUpdateFromNewerToOlder(
                _environment,
                knownData,
                newA,
                newB
                ));
 }
 public DeleteInB(EntitySyncStateEnvironment <TAtypeEntityId, TAtypeEntityVersion, TAtypeEntity, TBtypeEntityId, TBtypeEntityVersion, TBtypeEntity> environment, IEntityRelationData <TAtypeEntityId, TAtypeEntityVersion, TBtypeEntityId, TBtypeEntityVersion> knownData)
     : base(environment, knownData)
 {
 }