static void Main(string[] args) { IContainer container = new Container(); ContainerInitiazer.Initialize(container); string map_file = "/home/gvso/Desktop/WEMSimUnity/Unity/Assets/Scripts/Example/Config/example.map.yml"; MapInitializer map_initializer = (MapInitializer)container.Get("map.initializer"); map_initializer.Initialize(map_file); //Map map = (Map) container.Get("map"); //Console.Write(map); List <string> agenda_files = new List <string> (); agenda_files.Add("/home/gvso/Desktop/WEMSimUnity/Unity/Assets/Scripts/Example/Config/Agendas/example.agenda.yml"); agenda_files.Add("/home/gvso/Desktop/WEMSimUnity/Unity/Assets/Scripts/Example/Config/Agendas/example2.agenda.yml"); AgendaInitializer agenda_initializer = (AgendaInitializer)container.Get("agenda.initializer"); agenda_initializer.Initialize(agenda_files); AgendaContainer agenda_container = (AgendaContainer)container.Get("agenda.container"); Console.WriteLine(agenda_container.Get("example.agenda")); /*Console.WriteLine(agenda_container.Get("example2.agenda"));*/ }
/** * MapInitializer constructor. * * @param Wem.Agenda.AgendaContainer agendas * The container of agendas. * @param Wem.Yaml.MapDeserializer deserializer * The map deserializer. */ public MapInitializer(IMap map, AgendaContainer agendas, MapDeserializer deserializer) { this.map = map; this.agendas = agendas; this.deserializer = deserializer; }
/** * Initializes all the essentials services. * * @param IContainer container * The service container where to store the services. */ public static void Initialize(IContainer container) { /* * These services do not depend on anything. */ container.Set("map", Map.Map.create(container)); container.Set("agenda.container", AgendaContainer.create(container)); container.Set("agenda.generator", AgendaGenerator.create(container)); container.Set("yaml.agenda.deserializer", AgendaDeserializer.create(container)); container.Set("yaml.map.deserializer", MapDeserializer.create(container)); /* * These services depends on other services. */ container.Set("map.initializer", MapInitializer.create(container)); // Agenda Initializer expects the map to be fully initialized. container.Set("agenda.initializer", AgendaInitializer.create(container)); }
private static void ImportarPara(IDocumentStore store) { Stopwatch sp = Stopwatch.StartNew(); using (var agenda = new AgendaContainer()) { Console.WriteLine("Começando..."); #region Locais Console.WriteLine("Importando Locais..."); IEnumerable<Local> locais = agenda.Local.ToList(); Console.WriteLine("Carregar Locais demorou: {0:#,#} ms", sp.ElapsedMilliseconds); var locaisRaven = new List<NovaVersaoParoquia.Local>(); using (IDocumentSession s = store.OpenSession()) { foreach (Local l in locais) { var local = new NovaVersaoParoquia.Local(l.Nome); s.Store(local); locaisRaven.Add(local); } s.SaveChanges(); } Console.WriteLine("Locais: " + locaisRaven.Count); #endregion #region Grupos Console.WriteLine("Importando Grupos..."); IEnumerable<Grupo> grupos = agenda.Grupo.ToList(); Console.WriteLine("Carregar Grupos demorou: {0:#,#} ms", sp.ElapsedMilliseconds); var gruposRaven = new List<NovaVersaoParoquia.Grupo>(); using (IDocumentSession s = store.OpenSession()) { #region grupos foreach (Grupo g in grupos) { var grupo = new NovaVersaoParoquia.Grupo(g.Nome, DeParaGrupoEmail(g.Id), null); s.Store(grupo); gruposRaven.Add(grupo); } #endregion s.SaveChanges(); } Console.WriteLine("Grupos: " + gruposRaven.Count); #endregion #region TiposEvento Console.WriteLine("Inserindo Tipos..."); using (IDocumentSession s = store.OpenSession()) { s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.Paroquial).ToString(), Nome = "Paroquial" }); s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.Sacramento).ToString(), Nome = "Sacramento" }); s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.GrandeMovimentoDePessoas).ToString(), Nome = "Grande movimento de pessoas" }); s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.Comum).ToString(), Nome = "Comum" }); s.SaveChanges(); } #endregion #region Eventos Console.WriteLine("Importando Eventos..."); IEnumerable<Evento> eventos = agenda.Evento .Include("Grupo") .Include("ListaInternaConflitos") .Include("ListaInternaReservasDeLocais") .Where(e => e.DataInicio.Year >= 2012) .OrderBy(e => e.DataInicio).ToList(); Console.WriteLine("Para carregar eventos, demorou: {0:#,#} ms", sp.ElapsedMilliseconds); var eventosRaven = new List<NovaVersaoAgenda.Evento>(); using (IDocumentSession s = store.OpenSession()) { foreach (Evento ev in eventos) { var grupo = gruposRaven.Where(g => g.Nome == ev.Grupo.Nome).Single(); string descricao = ev.Descricao; if (descricao != null && descricao.Length > 150) descricao = descricao.Substring(0, 150); var evento = new NovaVersaoAgenda.Evento( ev.Nome, descricao, ev.DataInicio, ev.DataFim, grupo, DeParaTipoEvento(ev.Tipo)); s.Store(evento); eventosRaven.Add(evento); } s.SaveChanges(); } Console.WriteLine("Eventos: " + eventos.Count()); #endregion } }