public static void AddOrUpdate(MyPhoto.Entities.Entity.Photo photo) { var search = new SearchblePhoto(photo); PhotoSearchDocument searchDoc = new PhotoSearchDocument(search); IndexBuilder.SaveOrUpdateDocument(searchDoc); IndexBuilder.BuildSpellIndex(search.Spell.ToList()); }
public void Install(IWindsorContainer container, IConfigurationStore store) { this.container = container; OpenIdConnectAuthenticationModule.ClaimsRecieved(this.ClaimsRecieved); var controllers = Assembly.GetAssembly(typeof(WebInstaller)).GetTypes().Where(x => typeof(Controller).IsAssignableFrom(x)); foreach (Type controller in controllers) { container.Register(Component.For(controller).LifeStyle.Transient); } sf = BuildSessionFactory(); using (var session = sf.OpenSession()) using (var tx = session.BeginTransaction()) { var photos = session.Query<MyPhoto.Entities.Entity.Photo>().ToList(); foreach (var item in photos) { PhotoSearchDocument searchDoc = new PhotoSearchDocument(new SearchblePhoto(item)); IndexBuilder.SaveOrUpdateDocument(searchDoc); } var users = session.Query<MyPhoto.Entities.Entity.User>().ToList(); foreach (var item in users) { UserSearchDocument searchDoc = new UserSearchDocument(new SearchbleUser(item)); IndexBuilder.SaveOrUpdateDocument(searchDoc); } } container.Register( Component.For<SecurityManager>().LifeStyle.PerWebRequest, Component.For<ISessionFactory>().UsingFactoryMethod(x => BuildSessionFactory()).LifeStyle.Singleton, Component.For<ISession>() .UsingFactoryMethod(x => OpenSession()).LifeStyle.PerWebRequest .OnDestroy(x => CloseSession(x)) ); }