Пример #1
0
 private void InitHandlers()
 {
     if (CanHandle())
     {
         InsertedHandler = delegate(EntityEventArgs <T> args)
         {
             var values = args.Entity.ToDictionary();
             if (values != null && values.Count > 0)
             {
                 indexer.AddDocument(values);
                 indexer.Save();
             }
         };
         UpdatedHandler = delegate(EntityEventArgs <T> args)
         {
             var values = args.Entity.ToDictionary();
             if (values != null && values.Count > 0)
             {
                 indexer.UpdateDocument(values);
                 indexer.Save();
             }
         };
         DeletedHandler = delegate(EntityEventArgs <T> args)
         {
             var values = args.OriginalEntity.ToDictionary();
             if (values != null && values.Count > 0)
             {
                 indexer.RemoveDocument(values);
                 indexer.Save();
             }
         };
         BatchInsertedHandler = delegate(EntitiesEventArgs <T> args)
         {
             foreach (var entity in args.Entities)
             {
                 var values = entity.ToDictionary();
                 if (values != null && values.Count > 0)
                 {
                     indexer.AddDocument(values);
                 }
             }
             indexer.Save();
         };
         BatchUpdatedHandler = delegate(EntitiesEventArgs <T> args)
         {
             foreach (var entity in args.Entities)
             {
                 var values = entity.ToDictionary();
                 if (values != null && values.Count > 0)
                 {
                     indexer.UpdateDocument(values);
                 }
             }
             indexer.Save();
         };
         BatchDeletedHandler = delegate(EntitiesEventArgs <T> args)
         {
             foreach (var entity in args.Entities)
             {
                 var values = entity.ToDictionary();
                 if (values != null && values.Count > 0)
                 {
                     indexer.RemoveDocument(values);
                 }
             }
             indexer.Save();
         };
     }
 }