//            //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);
        }
Ejemplo n.º 2
0
 public ListContainer(ISerializableObject iso, ISerializableObject partner, SyncStates_Enum state)
     : this(iso, state)
 {
     this.partner = partner;
 }
Ejemplo n.º 3
0
 public ListContainer(ISerializableObject iso)
 {
     this.iso   = iso;
     this.state = SyncStates_Enum.PrematureState;
 }
Ejemplo n.º 4
0
 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;
 }