// Token: 0x0600184E RID: 6222 RVA: 0x0008E9FC File Offset: 0x0008CBFC
 private void UpdateFilter(Dictionary <StoreObjectId, string> mapping, DateTimeCustomSyncFilter dateTimeFilter, Dictionary <string, CommonNode> items)
 {
     foreach (StoreObjectId storeObjectId in mapping.Keys)
     {
         string      key        = mapping[storeObjectId];
         CommonNode  commonNode = items[key];
         ISyncItemId syncItemId = MailboxSyncItemId.CreateForNewItem(storeObjectId);
         if (commonNode.IsCalendar)
         {
             dateTimeFilter.UpdateFilterStateWithAddOrChange(syncItemId, true, true, commonNode.EndTime);
         }
         ChangeTrackingNode[] array;
         if (commonNode.IsEmail)
         {
             array = new ChangeTrackingNode[]
             {
                 ChangeTrackingNode.AllOtherNodes,
                 new ChangeTrackingNode("Email", "Read")
             };
         }
         else
         {
             array = new ChangeTrackingNode[]
             {
                 ChangeTrackingNode.AllNodes
             };
         }
         GenericDictionaryData <DerivedData <ISyncItemId>, ISyncItemId, FolderSync.ClientStateInformation> genericDictionaryData = (GenericDictionaryData <DerivedData <ISyncItemId>, ISyncItemId, FolderSync.ClientStateInformation>) this.syncState[SyncStateProp.ClientState];
         if (!genericDictionaryData.Data.ContainsKey(syncItemId))
         {
             genericDictionaryData.Data[syncItemId] = new FolderSync.ClientStateInformation();
         }
         FolderSync.ClientStateInformation clientStateInformation = genericDictionaryData.Data[syncItemId];
         clientStateInformation.ChangeTrackingInformation = new int?[array.Length];
         clientStateInformation.ClientHasItem             = true;
     }
 }
示例#2
0
文件: Byz.cs 项目: hbkzqp/Mycode
 private void buildNodes(String nodeInfo)
 {
     try
     {
         String[] nodeInfos = nodeInfo.Split(';');
         if (nodeInfos.Length != 0)
         {
             String[] nodeType = nodeInfos[0].Split(' ');
             if (nodeType.Length == 3)
             {
                 int nodeId = Int32.Parse(nodeType[0]);
                 String defaultV = nodeType[1];
                 int isFaulty = Int32.Parse(nodeType[2]);
                 if (isFaulty == 1)
                 {
                     FaultyNode fn = new FaultyNode(nodeId);
                     String[] firstValues = nodeInfos[1].Split(' ');
                     String[] fv = deleteSpace(firstValues);
                     if (fv.Length == ByzNode.nodeCount)
                     {
                         for (int i = 0; i < fv.Length; i++)
                         {
                             fn.firstSend.Add(i + 1, fv[i].ToString());
                         }
                         //foreach (String v in firstValues)
                         //{
                         //    fn.firstSend.Add(nodeId, v);
                         //}
                     }
                     String[] secondValues = nodeInfos[2].Split(' ');
                     String[] sv = deleteSpace(secondValues);
                     if (sv.Length == ByzNode.nodeCount)
                     {
                         for (int i = 0; i < fv.Length; i++)
                         {
                             fn.secondSend.Add(i + 1, sv[i].ToString());
                         }
                         //foreach (String v in firstValues)
                         //{
                         //    fn.firstSend.Add(nodeId, v);
                         //}
                     }
                 }
                 else if(isFaulty==0)
                 {
                     CommonNode cn = new CommonNode(nodeId);
                     cn.myValue = defaultV;
                 }
                 else
                 {
                     throw new Exception("text is invalid");
                 }
             }
         }
         else
         {
             throw new Exception("text is invalid");
         }
     }
     catch(Exception e)
     {
         Console.Error.WriteLine(e.Message);
     }
    
 }