// //Fehlt SyncTime->Überarbeitung der DB // private void analyzeObject2(ISerializableObject iso) // { // ISerializableObject source = iso; // Guid commomGuid = source.Rowguid; // ISerializableObject sink=FetchObject(sinkSerializer, commomGuid, source.GetType()); // if (sink == null)//In der PartnerDB gibt es keinen korrespondierenden Eintrag // { // if(synctime==null) // { //#if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " is not synchronized and will be inserted"); //#endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.InsertState)); // } // else // DELETED // } // else //Es gibt einen Partner // { // DateTime sinkLogtime = sink.LogTime; // DateTime sourceLogTime = source.LogTime; // //Fehlt neutraler Zeitpunkt syncTime // if (sinkLogtime > synctime)//Änderung der Daten in der Zieldatenbank--warum ist das schon ein Konflikt? // { // #if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " is involved in a conflict, which has to be resolved"); // #endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.ConflictState)); // } // else //zieldatenbank unverändert // { // if (sourceLogTime==sinkLogtime==synctime)//Quelldatenbank unverändert // { // #if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " has not changed and will not be synchronized"); // #endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.IgnoreState)); // } // else//Quelldatenbank verändert-Zieldatenbank unverändert ->update // { // #if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " has changed on the sourceside and will be updated"); // #endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.UpdateState)); // } // } // } // } public List <ListContainer> getObjectsOfState(SyncStates_Enum state) { List <ListContainer> list = new List <ListContainer>(); foreach (ListContainer lc in analyzedList) { if (lc.State.Equals(state)) { list.Add(lc); } } return(list); }
public ListContainer(ISerializableObject iso, ISerializableObject partner, SyncStates_Enum state) : this(iso, state) { this.partner = partner; }
public ListContainer(ISerializableObject iso) { this.iso = iso; this.state = SyncStates_Enum.PrematureState; }
public ListContainer(ISerializableObject iso, SyncStates_Enum state) : this(iso) { this.state = state; }
// //Fehlt SyncTime->Überarbeitung der DB // private void analyzeObject2(ISerializableObject iso) // { // ISerializableObject source = iso; // Guid commomGuid = source.Rowguid; // ISerializableObject sink=FetchObject(sinkSerializer, commomGuid, source.GetType()); // if (sink == null)//In der PartnerDB gibt es keinen korrespondierenden Eintrag // { // if(synctime==null) // { //#if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " is not synchronized and will be inserted"); //#endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.InsertState)); // } // else // DELETED // } // else //Es gibt einen Partner // { // DateTime sinkLogtime = sink.LogTime; // DateTime sourceLogTime = source.LogTime; // //Fehlt neutraler Zeitpunkt syncTime // if (sinkLogtime > synctime)//Änderung der Daten in der Zieldatenbank--warum ist das schon ein Konflikt? // { // #if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " is involved in a conflict, which has to be resolved"); // #endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.ConflictState)); // } // else //zieldatenbank unverändert // { // if (sourceLogTime==sinkLogtime==synctime)//Quelldatenbank unverändert // { // #if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " has not changed and will not be synchronized"); // #endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.IgnoreState)); // } // else//Quelldatenbank verändert-Zieldatenbank unverändert ->update // { // #if DEBUG // logger.Debug(source.GetType().Name + ", guid=" + commomGuid + " has changed on the sourceside and will be updated"); // #endif // analyzedList.Add(new ListContainer(iso, SyncStates_Enum.UpdateState)); // } // } // } // } public List<ListContainer> getObjectsOfState(SyncStates_Enum state) { List<ListContainer> list = new List<ListContainer>(); foreach (ListContainer lc in analyzedList) { if (lc.State.Equals(state)) list.Add(lc); } return list; }