コード例 #1
0
 private void FilterMaskedContacts(DocumentProcessingContext processingContext, IDictionary <string, IInferenceRecipient> contactList)
 {
     if (processingContext != null && processingContext.Session != null)
     {
         MdbMaskedPeopleModelDataBinder mdbMaskedPeopleModelDataBinder = MdbMaskedPeopleModelDataBinderFactory.Current.CreateInstance(processingContext.Session);
         MaskedPeopleModelItem          modelData = mdbMaskedPeopleModelDataBinder.GetModelData();
         if (modelData == null || modelData.ContactList.Count <= 0)
         {
             this.DiagnosticsSession.TraceDebug("Deleted items model is null or empty. Skipping removal step.", new object[0]);
             return;
         }
         IDictionary <string, MaskedRecipient> dictionary = modelData.CreateDictionary();
         List <MaskedRecipient> list = new List <MaskedRecipient>(10);
         foreach (KeyValuePair <string, MaskedRecipient> keyValuePair in dictionary)
         {
             if (contactList.ContainsKey(keyValuePair.Key))
             {
                 if (contactList[keyValuePair.Key].LastSentTime > keyValuePair.Value.LastMaskedFromAutoCompleteTimeUtc)
                 {
                     list.Add(keyValuePair.Value);
                 }
                 else
                 {
                     contactList.Remove(keyValuePair.Key);
                 }
             }
         }
         if (list.Count > 0)
         {
             foreach (MaskedRecipient item in list)
             {
                 modelData.ContactList.Remove(item);
             }
             this.DiagnosticsSession.TraceDebug <int>("Removed {0} out-of-date contacts from the masked model item", list.Count);
             MdbModelUtils.WriteModelItem <MaskedPeopleModelItem, MdbMaskedPeopleModelDataBinder>(mdbMaskedPeopleModelDataBinder, modelData);
             return;
         }
     }
     else
     {
         this.DiagnosticsSession.TraceDebug("Context or Session is null. Skipping removal step.", new object[0]);
     }
 }
コード例 #2
0
 protected override PeopleModelItem GetModelItem(MdbPeopleModelDataBinder dataBinder)
 {
     return(MdbModelUtils.GetModelItem <PeopleModelItem, MdbPeopleModelDataBinder>(dataBinder));
 }
コード例 #3
0
 protected override void WriteModelItem(MdbPeopleModelDataBinder dataBinder, PeopleModelItem modelItem)
 {
     MdbModelUtils.WriteModelItem <PeopleModelItem, MdbPeopleModelDataBinder>(dataBinder, modelItem);
 }